#include<bits/stdc++.h>
using namespace std;
mt19937_64 rd(time(0));
int rand(int L, int R){
return L + rd() % (R - L + 1);
}
void stooge_sort(int* arr, int left, int right){
if(arr[left] < arr[right]) swap(arr[left], arr[right]);
if(right - left + 1 > 2){
int value = (right - left + 1)/3;
stooge_sort(arr, left + value, right);
stooge_sort(arr, left, right - value);
stooge_sort(arr, left + value, right);
}
}
bool isSorted(int* arr, int length){
for(int i = 1; i < length; i++){
if(arr[i - 1] < arr[i]) return 0;
}
return 1;
}
int n, arr[10000];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for(int i = 0; i < n; i++) cin >> arr[i];
while(!isSorted(arr, n)){
stooge_sort(arr, 0, n - 1);
}
for(int i = 0; i < n; i++) cout << arr[i] << ' ';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCm10MTk5MzdfNjQgcmQodGltZSgwKSk7CmludCByYW5kKGludCBMLCBpbnQgUil7CiAgICByZXR1cm4gTCArIHJkKCkgJSAoUiAtIEwgKyAxKTsKfQoKdm9pZCBzdG9vZ2Vfc29ydChpbnQqIGFyciwgaW50IGxlZnQsIGludCByaWdodCl7CiAgICBpZihhcnJbbGVmdF0gPCBhcnJbcmlnaHRdKSBzd2FwKGFycltsZWZ0XSwgYXJyW3JpZ2h0XSk7CgogICAgaWYocmlnaHQgLSBsZWZ0ICsgMSA+IDIpewogICAgICAgIGludCB2YWx1ZSA9IChyaWdodCAtIGxlZnQgKyAxKS8zOwogICAgICAgIHN0b29nZV9zb3J0KGFyciwgbGVmdCArIHZhbHVlLCByaWdodCk7CiAgICAgICAgc3Rvb2dlX3NvcnQoYXJyLCBsZWZ0LCByaWdodCAtIHZhbHVlKTsKICAgICAgICBzdG9vZ2Vfc29ydChhcnIsIGxlZnQgKyB2YWx1ZSwgcmlnaHQpOwogICAgfQp9Cgpib29sIGlzU29ydGVkKGludCogYXJyLCBpbnQgbGVuZ3RoKXsKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBsZW5ndGg7IGkrKyl7CiAgICAgICAgaWYoYXJyW2kgLSAxXSA8IGFycltpXSkgcmV0dXJuIDA7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCmludCBuLCBhcnJbMTAwMDBdOwoKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICBjaW4gPj4gbjsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNpbiA+PiBhcnJbaV07CgogICAgd2hpbGUoIWlzU29ydGVkKGFyciwgbikpewogICAgICAgIHN0b29nZV9zb3J0KGFyciwgMCwgbiAtIDEpOwogICAgfQoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNvdXQgPDwgYXJyW2ldIDw8ICcgJzsKCiAgICByZXR1cm4gMDsKfQo=