#include<stdio.h>
const int maxn=100;
int sp[maxn],flp[maxn];
void Swap(int loc){
for(int j=0;j<(loc+1)/2;j++){
int a=sp[j];
sp[j]=sp[loc-j];
sp[loc-j]=a;
}
}
int main()
{
while(~scanf("%d",&sp[0])){
int n=1,t=0;
while(1){
if(getchar()!=' ') break;
scanf("%d",&sp[n++]);
}
for(int i=0;i<n-1;i++)
printf("%d ",sp[i]);
printf("%d\n",sp[n-1]);
for(int i=n-1;i>=0;i--){
int max=-1,p;
for(int j=i;j>=0;j--){
if(sp[j]>max){
max=sp[j];
p=j;
}
}
if(p!=i){
if(p!=0){
Swap(p);
flp[t++]=n-p;
}
Swap(i);
flp[t++]=n-i;
}
}
for(int i=0;i<t;i++)
printf("%d ",flp[i]);
printf("0\n");
}
return 0;
}
--------------------------------------------------------------------------------------------
Keep It Simple,Stupid!
--------------------------------------------------------------------------------------------