#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string racunanjeNajlepseg(long long int broj)
{
    int maxCifra = -1;
    int maxCifraPozicija = -1;
    int lPozicija = -1;
    int rPozicija = -1;
    string brojString = to_string(broj);
    for (int i = brojString.size() - 1; i >= 0; i--)
    {
        if (brojString[i] > maxCifra)
        {
            maxCifra = brojString[i];
            maxCifraPozicija = i;
            continue;
        }
        if (brojString[i] < maxCifra)
        {
            lPozicija = i;
            rPozicija = maxCifraPozicija;
        }
    }

    if (lPozicija == -1)
        return brojString;

    swap(brojString[lPozicija], brojString[rPozicija]);

    return brojString;
}

int main()
{
    string sn;
    getline(cin,sn);
    int n = stoi(sn);
    string brojevi;
    getline(cin,brojevi);
    brojevi.erase(remove_if(brojevi.begin(), brojevi.end(), ::isspace), brojevi.end());
    long long int broj = stoi(brojevi);
    string najlepsi = racunanjeNajlepseg(broj);
    if(broj == stoi(najlepsi))
    {
        auto pom = najlepsi[n-1];
        najlepsi[n-1] = najlepsi[n-2];
        najlepsi[n-2] = pom;
    }
    for(auto y:najlepsi)
        cout << y << " ";

    return 0;
}