#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cmath>
using namespace std;
#define reg register
inline int read() {
int res = 0;char ch=getchar();bool fu=0;
while(!isdigit(ch))fu|=(ch=='-'),ch=getchar();
while(isdigit(ch)) res=(res<<3)+(res<<1)+(ch^48),ch=getchar();
return fu?-res:res;
}
int n;
int a[100005], tmp[100005];
inline void Bsort()
{
int mx = 0;
for (reg int i = 1 ; i <= n ; i ++) mx = max(mx, a[i]);
int dig = 0;
while(mx) mx /= 10, dig++;
int base = 1;
while(dig--)
{
int buk[10] = {0};
for (reg int i = 1 ; i <= n ; i ++) buk[a[i]/base%10]++;
for (reg int i = 0 ; i < 9 ; i ++) buk[i + 1] += buk[i];
for (reg int i = n ; i >= 1 ; i --) tmp[buk[a[i]/base%10]--] = a[i];
for (reg int i = 1 ; i <= n ; i ++) a[i] = tmp[i];
base *= 10;
}
}
int main()
{
n = read();
for (reg int i = 1 ; i <= n ; i ++) a[i] = read();
Bsort();
for (reg int i = 1 ; i <= n ; i ++) printf("%d ", a[i]);
return 0;
}