#include <bits/stdc++.h>
#define el "\n"
#define ll long long
using namespace std;
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
#define all(v) v.begin(), v.end()
#define rall(a) a.rbegin() , a.rend() 
void ELMOO() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
}
void merge(vector<int>& v, int st, int mid, int en) {
    int n = v.size();
    vector<int>temp(n);
    int p1 = st, p2 = mid + 1, p3 = st;
    while (p1<=mid&&p2<=en) {
        temp[p3++] = min(v[p1], v[p2]);
        (v[p1] > v[p2] ? p2++ : p1++);
    }
    while (p1<=mid)temp[p3++] = v[p1++];
    while (p2<=en)temp[p3++] = v[p2++];

    for (int i = st; i <= en; i++)
    {
        v[i] = temp[i];
    }
}
void mergeSort(vector<int>& v, int st, int en) {
    if (st >= en)return;
    int mid = (st + en) >> 1;
    mergeSort(v, st, mid);
    mergeSort(v, mid + 1, en);
    merge(v, st, mid, en);
}
void solve() {
   int n; cin >> n;
   vector<int>v(n);
   for (int& x : v)cin >> x;
   mergeSort(v, 0, n - 1);
    for (int i = 0;i < n;i++) {
        cout << v[i] << ' ';
    }
}
int main() {
    ELMOO();
    ll t = 1;
    // cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}