#include <stdio.h>
#define length 2000005
void mergesort(int arr[], int low, int mid, int high){
int left, right,temp[length],i,k;
left= low;
right= mid+1;
i= low;
while((left<=mid) && (right<=high)){
if(arr[left]<=arr[right]){
temp[i]= arr[left];
left++;
}
else{
temp[i]= arr[right];
right++;
}
i++;
}
while(left<=mid){
temp[i]= arr[left];
i++;
left++;
}
while(right<=high){
temp[i]= arr[right];
right++;
i++;
}
for(k= low;k<=high;k++)
arr[k]= temp[k];
}
void divide(int arr[], int low, int high){
int mid;
if(low<high){
mid= (low+high)/2;
divide(arr, low, mid);
divide(arr, mid+1, high);
mergesort(arr, low, mid, high);
}
}
int main(){
int n,arr[length],k,i,j,p;
while(scanf("%d",&n
) && n
!= 0){
for(i=0;i<n;i++)
divide(arr,0,n-1);
for(k= 0;k<n-1;k++)
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgbGVuZ3RoIDIwMDAwMDUKCgp2b2lkIG1lcmdlc29ydChpbnQgYXJyW10sIGludCBsb3csIGludCBtaWQsIGludCBoaWdoKXsKICAgIGludCBsZWZ0LCByaWdodCx0ZW1wW2xlbmd0aF0saSxrOwogICAgbGVmdD0gbG93OwogICAgcmlnaHQ9IG1pZCsxOwogICAgaT0gbG93OwoKICAgIHdoaWxlKChsZWZ0PD1taWQpICYmIChyaWdodDw9aGlnaCkpewogICAgICAgIGlmKGFycltsZWZ0XTw9YXJyW3JpZ2h0XSl7CiAgICAgICAgICAgIHRlbXBbaV09IGFycltsZWZ0XTsKICAgICAgICAgICAgbGVmdCsrOwoKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgdGVtcFtpXT0gYXJyW3JpZ2h0XTsKICAgICAgICAgICAgcmlnaHQrKzsKICAgICAgICB9CiAgICAgICAgaSsrOwogICAgfQoKICAgIHdoaWxlKGxlZnQ8PW1pZCl7CiAgICAgICAgdGVtcFtpXT0gYXJyW2xlZnRdOwogICAgICAgIGkrKzsKICAgICAgICBsZWZ0Kys7CiAgICB9CgogICAgd2hpbGUocmlnaHQ8PWhpZ2gpewogICAgICAgIHRlbXBbaV09IGFycltyaWdodF07CiAgICAgICAgcmlnaHQrKzsKICAgICAgICBpKys7CiAgICB9CgogICAgZm9yKGs9IGxvdztrPD1oaWdoO2srKykKICAgICAgYXJyW2tdPSB0ZW1wW2tdOwoKfQoKdm9pZCBkaXZpZGUoaW50IGFycltdLCBpbnQgbG93LCBpbnQgaGlnaCl7CgogICAgaW50IG1pZDsKICAgIGlmKGxvdzxoaWdoKXsKICAgICAgICBtaWQ9IChsb3craGlnaCkvMjsKICAgICAgICBkaXZpZGUoYXJyLCBsb3csIG1pZCk7CiAgICAgICAgZGl2aWRlKGFyciwgbWlkKzEsIGhpZ2gpOwogICAgICAgIG1lcmdlc29ydChhcnIsIGxvdywgbWlkLCBoaWdoKTsKICAgIH0KCn0KCmludCBtYWluKCl7CgogICAgaW50IG4sYXJyW2xlbmd0aF0sayxpLGoscDsKICAgIHdoaWxlKHNjYW5mKCIlZCIsJm4pICYmIG4hPSAwKXsKCiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgICAgICBzY2FuZigiJWQiLCZhcnJbaV0pOwoKICAgIGRpdmlkZShhcnIsMCxuLTEpOwoKICBmb3Ioaz0gMDtrPG4tMTtrKyspCiAgICAgICAgcHJpbnRmKCIlZCAiLGFycltrXSk7CiAgICAgICAgcHJpbnRmKCIlZCIsYXJyW2tdKTsKICAgIHByaW50ZigiXG4iKTsKCgogICAgfQoKCgogICByZXR1cm4gMDsKfQoKCgo=