#include<iostream>
#include<algorithm>
#include<sstream>
#include<math.h>
#include<vector>
#include<queue>
#include<list>
#include<map>
#include<set>
#include<string>
#include<stdio.h>
#include<ctype.h>
#include<cstring>
#include<cstdlib>
#include<iomanip>
using namespace std;
int a[1005];
void shell(int n, int d)
{
while (d)
{
int j;
for (int i = d+1; i <= n; i++)
{
if (a[i] < a[i - d])
{
a[0] = a[i];
for (j = i-d; j >=0 && a[j] >= a[0]; j -= d)
{
a[j + d] = a[j];
}
a[j + d] = a[0];
}
}
d /= 2;
for (int i = 1; i <= n; i++)
{
cout << a[i] << " ";
}
cout << "\n";
}
}
int main()
{
freopen("in.txt", "r", stdin);
int n = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
shell(n, n/2);
}
12-20
4775
12-12
446
06-16
305