#include <iostream>
#include <math.h>
using namespace std;
int fact(int n){
int nfac=1;
for(int i=n;i>0;i--){
nfac*=i;
}
return nfac;
}
int maxofarray(int arr[],int n){
int largest=arr[0];
for(int i=0;i<n;i++){
largest=max(largest,arr[i]);
}
return largest;
}
int sumofarray(int A[],int n){
int sum=0;
for(int i=0;i<n;i++){
sum+=A[i]*i;
}
return sum;
}
void print(int A[],int n){
for(int i=0;i<n;i++){
cout<<A[i]<<" ";
}
cout<<endl;
}
int main()
{
int n=10,largest; cin>>n;
int arr[]={10, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int p=1;
largest=maxofarray(arr,n);
cout<<"max of the array"<<largest<<endl;
while(p<=fact(n)){
int temp=arr[0];
for(int i=0;i<n-1;i++){
arr[i]=arr[i+1];
}
arr[n-1]=temp;
print(arr,n);
p++;
if(arr[n-1]==largest){
break;
}
}
cout<<sumofarray(arr,n);
return 0;
}