#include<stdio.h>
#define max 100000
struct sqlist
{
int data[max+1];
int lenth;
};
void shellinsert(sqlist *l,int d)
{
int i,j;
while(d>0)
{
for(i=d+1;i<=l->lenth;i++)
{
if(l->data[i]<l->data[i-d])
{
l->data[0]=l->data[i];
for(j=i-d;j>0&&(l->data[j]>l->data[0]);j=j-d)
{
l->data[j+d]=l->data[j];
}
l->data[j+d]=l->data[0];
}
}
d=d/2;
}
}
int main()
{
sqlist l;
int i,lenth;
while(scanf("%d",&lenth)!=EOF)
{
l.lenth=lenth;
for(i=1;i<=lenth;i++)
{
scanf("%d",&l.data[i]);
}
shellinsert(&l,l.lenth/2);
for(i=1;i<lenth;i++)
{
printf("%d ",l.data[i]);
}
printf("%d\n",l.data[lenth]);
}
}