#include <list>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[500005],i,maxim,n,k;
void radix(int* a, int lungime,int maxim){
int nr;
list<int> bucket[10];
for(nr=1;maxim>=nr;nr*=10){
for(i=0; i<lungime; i++)
bucket[(a[i]/nr)%10].push_back(a[i]);
for(k=i=0;i<10;bucket[i++].clear())
for (list<int>::iterator j=bucket[i].begin();j!=bucket[i].end();a[k++]=*(j++));
}
}
int main() {
f>>n;
for(i=0;i<n;i++){
f>>a[i];
if(a[i]>maxim) maxim=a[i];
}
radix(a,n,maxim);
for(i=0;i<n;i++)
g<<a[i]<<" ";
}