#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
using namespace std;
long long a[14],j[15]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600};
int n,sum=0;
int ronaldo(int x,int y,int z)
{
if (x==1) return a[x]-1;
if (x==n) return 1;
for (int f=1;f<=x-1;f++)
if (a[z]>a[f]) y--;
return y-1;
}
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&a[i]);
for (int i=1;i<=n;i++)
sum=sum+ronaldo(i,a[i],i)*j[n-i];
cout<<sum-1<<endl;//因爲從0開始算第一個
next_permutation(a+1,a+n+1);
for (int i=1;i<=n;i++)
cout<<a[i]<<" ";
}