/*
-> Don't stop when you're tired, stop when you're done.
-> From the river to the sea, Palestine will be free.
--> @author: MIDORIYA_
*/
//*==============================================================
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<db> vd;
typedef vector<ld> vld;
typedef vector<bool> vb;
typedef vector<vector<ll>> vvl;
typedef vector<vector<int>> vvi;
typedef vector<pii> vii;
typedef set<int> si;
typedef set<ll> sl;
typedef multiset<int> msi;
typedef multiset<ll> msl;
#define pb push_back
#define pf push_front
#define popb pop_back
#define popf pop_front
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define endl "\n"
const int MOD = 998244353, mod = 1e9 + 7, maxA = 1e5 + 5;
#define time cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " Secs";
//*===================>>>FastIO - FileIO<<<=========
void fastIO()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}
void fileIO()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
}
//*===================>>>ONE-FOR-ALL<<<=============
void OneForAll()
{
int n;
cin >> n;
int freq[26] = {0};
for (int i = 0; i < n; i++)
{
char ch;
cin >> ch;
freq[ch - 'a']++;
}
for (int i = 0; i < 26; i++)
{
for (int j = 0; j < freq[i]; j++)
{
cout << (char)('a' + i);
}
}
}
int main()
{
fastIO();
// fileIO();
ll tc = 1, t = 1;
// cin >> t;
while (t--)
{
// cout << "Case " << tc++ << ": ";
OneForAll();
}
time;
return 0;
}
LyoKLT4gRG9uJ3Qgc3RvcCB3aGVuIHlvdSdyZSB0aXJlZCwgc3RvcCB3aGVuIHlvdSdyZSBkb25lLgotPiBGcm9tIHRoZSByaXZlciB0byB0aGUgc2VhLCBQYWxlc3RpbmUgd2lsbCBiZSBmcmVlLgotLT4gQGF1dGhvcjogTUlET1JJWUFfCiovCi8vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBkb3VibGUgZGI7CnR5cGVkZWYgbG9uZyBkb3VibGUgbGQ7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHBhaXI8bGwsIGxsPiBwbGw7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgdmVjdG9yPGxsPiB2bGw7CnR5cGVkZWYgdmVjdG9yPGRiPiB2ZDsKdHlwZWRlZiB2ZWN0b3I8bGQ+IHZsZDsKdHlwZWRlZiB2ZWN0b3I8Ym9vbD4gdmI7CnR5cGVkZWYgdmVjdG9yPHZlY3RvcjxsbD4+IHZ2bDsKdHlwZWRlZiB2ZWN0b3I8dmVjdG9yPGludD4+IHZ2aTsKdHlwZWRlZiB2ZWN0b3I8cGlpPiB2aWk7CnR5cGVkZWYgc2V0PGludD4gc2k7CnR5cGVkZWYgc2V0PGxsPiBzbDsKdHlwZWRlZiBtdWx0aXNldDxpbnQ+IG1zaTsKdHlwZWRlZiBtdWx0aXNldDxsbD4gbXNsOwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBmIHB1c2hfZnJvbnQKI2RlZmluZSBwb3BiIHBvcF9iYWNrCiNkZWZpbmUgcG9wZiBwb3BfZnJvbnQKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSByYWxsKHgpIHgucmJlZ2luKCksIHgucmVuZCgpCiNkZWZpbmUgZW5kbCAiXG4iCmNvbnN0IGludCBNT0QgPSA5OTgyNDQzNTMsIG1vZCA9IDFlOSArIDcsIG1heEEgPSAxZTUgKyA1OwojZGVmaW5lIHRpbWUgY2VyciA8PCAiVGltZSBUYWtlbjogIiA8PCAoZmxvYXQpY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICIgU2VjcyI7Ci8vKj09PT09PT09PT09PT09PT09PT0+Pj5GYXN0SU8gLSBGaWxlSU88PDw9PT09PT09PT0Kdm9pZCBmYXN0SU8oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBjb3V0LnRpZShudWxscHRyKTsKfQp2b2lkIGZpbGVJTygpCnsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImluLnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCn0KLy8qPT09PT09PT09PT09PT09PT09PT4+Pk9ORS1GT1ItQUxMPDw8PT09PT09PT09PT09PQp2b2lkIE9uZUZvckFsbCgpCnsKICAgIGludCBuOwogICAgY2luID4+IG47CgogICAgaW50IGZyZXFbMjZdID0gezB9OwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2hhciBjaDsKICAgICAgICBjaW4gPj4gY2g7CiAgICAgICAgZnJlcVtjaCAtICdhJ10rKzsKICAgIH0gCgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyNjsgaSsrKQogICAgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgZnJlcVtpXTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCAoY2hhcikoJ2EnICsgaSk7CiAgICAgICAgfQogICAgfQoKfQoKaW50IG1haW4oKQp7CiAgICBmYXN0SU8oKTsKICAgIC8vIGZpbGVJTygpOwoKICAgIGxsIHRjID0gMSwgdCA9IDE7CiAgICAvLyBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pCiAgICB7CiAgICAgICAgLy8gY291dCA8PCAiQ2FzZSAiIDw8IHRjKysgPDwgIjogIjsKICAgICAgICBPbmVGb3JBbGwoKTsKICAgIH0KICAgIHRpbWU7CiAgICByZXR1cm4gMDsKfQ==