#include<bits/stdc++.h>
using namespace std;

using ll = long long;
using int128 = __int128;

#define all(v) (v).begin(), (v).end()
#define sz(v) (int)(v).size()
#define fi first
#define se second
#define debug(x) cerr << #x << " = " << x << '\n';

template <typename T>
void read(T &x) {
    x = 0; bool f = 0; char c = getchar();
    while (!isdigit(c)) { if (c == '-') f = 1; c = getchar(); }
    while (isdigit(c)) { x = x * 10 + c - '0'; c = getchar(); }
    if (f) x = -x;
}

template <typename T>
void write(T x) {
    if (x < 0) { putchar('-'); x = -x; }
    char s[25]; int i = 0;
    do { s[i++] = x % 10 + '0'; x /= 10; } while (x);
    while (i) putchar(s[--i]);
}

const int MOD = 1e9+7;

void solve() {
    int n; read(n);
    vector<int> a(n);
    for (int &x : a) read(x);
    sort(all(a));
    
    for (int x : a) { write(x); putchar(' '); }
    putchar('\n');
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL);

    #define TASK "ABC"
    if (fopen(TASK".INP", "r")) {
        freopen(TASK".INP", "r", stdin);
        freopen(TASK".OUT", "w", stdout);
    }

    int tests = 1; // read(tests);
    while (tests--) solve();

    #ifndef ONLINE_JUDGE
    cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
    #endif

    return 0;
}