#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<set>
#include<vector>
#include<queue>
#include<map>
#include<algorithm>
#include<utility>
#include<ctime>
#define MX 100000
#define pb push_back
#define mp make_pair
#define fs first
#define sec second
#define sc scanf
#define pr printf
using namespace std;
int main()
{
//freopen("t9.txt", "r", stdin); // line1
//freopen("o9.txt", "w", stdout);
int n,i,j,k,m,l;
vector<int> v;
queue<int> s[10];
//cout<<"Enter no of elements:--";
cin>>n;
l=0;
// cout<<"Enter elements:--";
for(i=0;i<n;++i){
cin>>j;
m=j;
k=0;
while(m!=0)
{
m=m/10;
++k;
}
if(l<k)
l=k;
v.push_back(j);
}
for(i=0;i<l;++i){
int x=pow(10,i);
// cout<<x<<endl;
for(j=0;j<v.size();++j){
// cout<<((v[j]/x)%10)<<" ";
if((v[j]/x)%10==0)
s[0].push(v[j]);
else if((v[j]/x)%10==1)
s[1].push(v[j]);
else if((v[j]/x)%10==2)
s[2].push(v[j]);
else if((v[j]/x)%10==3)
s[3].push(v[j]);
else if((v[j]/x)%10==4)
s[4].push(v[j]);
else if((v[j]/x)%10==5)
s[5].push(v[j]);
else if((v[j]/x)%10==6)
s[6].push(v[j]);
else if((v[j]/x)%10==7)
s[7].push(v[j]);
else if((v[j]/x)%10==8)
s[8].push(v[j]);
else if((v[j]/x)%10==9)
s[9].push(v[j]);
}
//cout<<endl;
v.clear();
for(k=0;k<10;++k){
while(!s[k].empty()){
j=s[k].front();
v.push_back(j);
//cout<<j<<" ";
s[k].pop();
}
}
// cout<<endl;
}
//cout<<"\nResult is as follows:--\n";
for(i=0;i<v.size();++i)
{
cout<<v[i]<<" ";
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPGNzdHJpbmc+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxxdWV1ZT4KI2luY2x1ZGU8bWFwPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPHV0aWxpdHk+CiNpbmNsdWRlPGN0aW1lPgogCiNkZWZpbmUgTVggMTAwMDAwCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgZnMgZmlyc3QKI2RlZmluZSBzZWMgc2Vjb25kCiNkZWZpbmUgc2Mgc2NhbmYKI2RlZmluZSBwciBwcmludGYKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CgkvL2ZyZW9wZW4oInQ5LnR4dCIsICJyIiwgc3RkaW4pOyAgICAgICAgICAgIC8vICBsaW5lMQogICAgLy9mcmVvcGVuKCJvOS50eHQiLCAidyIsIHN0ZG91dCk7CglpbnQgbixpLGosayxtLGw7Cgl2ZWN0b3I8aW50PiB2OwoJcXVldWU8aW50PiBzWzEwXTsKCS8vY291dDw8IkVudGVyIG5vIG9mIGVsZW1lbnRzOi0tIjsKCWNpbj4+bjsKCWw9MDsKLy8JY291dDw8IkVudGVyIGVsZW1lbnRzOi0tIjsKCWZvcihpPTA7aTxuOysraSl7CgkJY2luPj5qOwoJCW09ajsKCQlrPTA7CgkJd2hpbGUobSE9MCkKCQl7CgkJCW09bS8xMDsKCQkJKytrOwoJCX0KCQlpZihsPGspCgkJbD1rOwoJCXYucHVzaF9iYWNrKGopOwoJfQoJZm9yKGk9MDtpPGw7KytpKXsKCQlpbnQgeD1wb3coMTAsaSk7CgkvLwljb3V0PDx4PDxlbmRsOwoJCWZvcihqPTA7ajx2LnNpemUoKTsrK2opewoJCS8vCWNvdXQ8PCgodltqXS94KSUxMCk8PCIgIjsKCQkJaWYoKHZbal0veCklMTA9PTApCgkJCXNbMF0ucHVzaCh2W2pdKTsKCQkJZWxzZSBpZigodltqXS94KSUxMD09MSkKCQkJc1sxXS5wdXNoKHZbal0pOwoJCQllbHNlIGlmKCh2W2pdL3gpJTEwPT0yKQoJCQlzWzJdLnB1c2godltqXSk7CgkJCWVsc2UgaWYoKHZbal0veCklMTA9PTMpCgkJCXNbM10ucHVzaCh2W2pdKTsKCQkJZWxzZSBpZigodltqXS94KSUxMD09NCkKCQkJc1s0XS5wdXNoKHZbal0pOwoJCQllbHNlIGlmKCh2W2pdL3gpJTEwPT01KQoJCQlzWzVdLnB1c2godltqXSk7CgkJCWVsc2UgaWYoKHZbal0veCklMTA9PTYpCgkJCXNbNl0ucHVzaCh2W2pdKTsKCQkJZWxzZSBpZigodltqXS94KSUxMD09NykKCQkJc1s3XS5wdXNoKHZbal0pOwoJCQllbHNlIGlmKCh2W2pdL3gpJTEwPT04KQoJCQlzWzhdLnB1c2godltqXSk7CgkJCWVsc2UgaWYoKHZbal0veCklMTA9PTkpCgkJCXNbOV0ucHVzaCh2W2pdKTsKCQl9CgkJLy9jb3V0PDxlbmRsOwoJCXYuY2xlYXIoKTsKCQlmb3Ioaz0wO2s8MTA7KytrKXsKCQkJd2hpbGUoIXNba10uZW1wdHkoKSl7CgkJCQlqPXNba10uZnJvbnQoKTsKCQkJCXYucHVzaF9iYWNrKGopOwoJCQkJLy9jb3V0PDxqPDwiICI7CgkJCQlzW2tdLnBvcCgpOwoJCQl9CgkJfQoJLy8JY291dDw8ZW5kbDsKCX0KCS8vY291dDw8IlxuUmVzdWx0IGlzIGFzIGZvbGxvd3M6LS1cbiI7Cglmb3IoaT0wO2k8di5zaXplKCk7KytpKQoJewoJCWNvdXQ8PHZbaV08PCIgIjsKCX0KCXJldHVybiAwOwp9Cg==