//缩小增量排序
//待排序列按关键字基本有序时,直接插入排序的效率很高
//希尔排序思想:将整个待排记录分割为若干子序列分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序,就可以完成整个排序工作
//增量序列中的值没有除1以外的公因子,且最后一个增量必须等于1
//子序列的构成不是逐段分割,而是将相隔某个增量的记录组成一个子序列
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> data;
int a;
while(cin>>a)
{
data.push_back(a);
}
int inc=8;
for(;inc>0;inc/=2)
{
for(int i=inc;i<data.size();i++)
{
int temp=data[i];
int j=i-inc;
while(j>=0&&data[j]>temp)
{
data[j+inc]=data[j];
j-=inc;
}
data[j+inc]=temp;
}
}
for(auto a:data)
cout<<a<<endl;
return 0;
}