
#include<bits/stdc++.h>
using namespace std;
int q[200];
int w[200];
int p[200];
int main()
{
int n;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%d",&q[i]);
p[i]=q[i];
}
for(int i=1; i<=n; i++)
{
scanf("%d",&w[i]);
}
int flag1=0;
for(int i=2; i<=n; i++)
{
int flag=0;
int j=i,temp=q[i];
while(j>1&&temp<q[j-1])
{
q[j]=q[j-1];
j--;
}
q[j]=temp;
for(int k=1; k<=n; k++)
{
if(q[k]!=w[k])
{
flag=1;
break;
}
}
if(flag==0)
{
flag1=1;
i++;
j=i,temp=q[i];
while(j>1&&temp<q[j-1])
{
q[j]=q[j-1];
j--;
}
q[j]=temp;
break;
}
}
if(flag1==1)
{
printf("Insertion Sort\n");
for(int i=1; i<=n; i++)
{
printf("%d",q[i]);
if(i!=n) printf(" ");
}
printf("\n");
}
else
{
printf("Merge Sort\n");
for(int step=2; step/2<=n; step*=2)
{
for(int i=1; i<=n; i+=step)
{
sort(p+i,p+min(i+step,n+1));
}
int flag=0;
for(int k=1; k<=n; k++)
{
if(p[k]!=w[k])
{
flag=1;
break;
}
}
if(flag==0)
{
step*=2;
for(int i=1; i<=n; i+=step)
{
sort(p+i,p+min(i+step,n+1));
}
for(int i=1; i<=n; i++)
{
printf("%d",p[i]);
if(i!=n) printf(" ");
}
printf("\n");
}
}
}
}