#include <iostream>
using namespace std;
int a[1138];
int n;
void Sort();
int main(int argc, char** argv) {
while(cin>>n){
if(n==0)break;
for(int i=0;i<n;i++){
cin>>a[i];
}
Sort();
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}cout<<endl;
}
return 0;
}
void Sort(){
int gap=n;//步长
int temp,j,i;
while(gap>1){
gap=gap/3+1;
for(i=gap;i<n;i++){
j=i-gap;
if(a[i]<a[j]){//比前面一个小的话,就进行插入操作
temp=a[i];
for(;j>=0 && temp<a[j] ;j=j-gap){
a[j+gap]=a[j];
}
a[j+gap]=temp;
}
}
}
}
09-25
09-25
09-25