#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
bool permutacja(ll t[], ll n)
{
ll i,j;
for(i=n-2;(i>=0)&&(t[i]>=t[i+1]);i--) {} // szukam pierwszej liczby od prawej, która jest mniejsza od swojego prawego sąsiada
if(i<0) return false; // jeżeli jej nie znajdę, to kończę działanie programu, bo otrzymana permutacja jest ostatnia
for(j=n-1;(j>i)&&(t[j]<=t[i]);j--) {} // szukam pierwszej liczby od prawej, która jest większa od znalezionej
swap(t[i],t[j]); // zamieniam je miejscami
for(i++, j=n-1; i<j; i++, j--)
swap(t[i],t[j]); // zamieniam liczby zgodnie z algorytmem
return true;
}
int main()
{
ll n;
cin >> n;
ll t[n];
for(ll i=0; i<n; i++)
cin >> t[i];
if(!permutacja(t, n)) // jeżeli funkcja zwróciła "false", wypisuje brak
cout << "BRAK";
else // w przeciwnym przypadku wypisuję gotową permutację
for(ll i=0; i<n; i++)
cout << t[i] << ' ';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7Cgpib29sIHBlcm11dGFjamEobGwgdFtdLCBsbCBuKQp7CiAgICBsbCBpLGo7CgogICAgZm9yKGk9bi0yOyhpPj0wKSYmKHRbaV0+PXRbaSsxXSk7aS0tKSB7fSAgICAgICAgICAgICAvLyBzenVrYW0gcGllcndzemVqIGxpY3pieSBvZCBwcmF3ZWosIGt0w7NyYSBqZXN0IG1uaWVqc3phIG9kIHN3b2plZ28gcHJhd2VnbyBzxIVzaWFkYQogICAgaWYoaTwwKSByZXR1cm4gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBqZcW8ZWxpIGplaiBuaWUgem5hamTEmSwgdG8ga2/FhGN6xJkgZHppYcWCYW5pZSBwcm9ncmFtdSwgYm8gb3RyenltYW5hIHBlcm11dGFjamEgamVzdCBvc3RhdG5pYQogICAgZm9yKGo9bi0xOyhqPmkpJiYodFtqXTw9dFtpXSk7ai0tKSB7fSAgICAgICAgICAgICAgICAvLyBzenVrYW0gcGllcndzemVqIGxpY3pieSBvZCBwcmF3ZWosIGt0w7NyYSBqZXN0IHdpxJlrc3phIG9kIHpuYWxlemlvbmVqCiAgICAgICAgc3dhcCh0W2ldLHRbal0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHphbWllbmlhbSBqZSBtaWVqc2NhbWkKICAgIGZvcihpKyssIGo9bi0xOyBpPGo7IGkrKywgai0tKQogICAgICAgIHN3YXAodFtpXSx0W2pdKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB6YW1pZW5pYW0gbGljemJ5IHpnb2RuaWUgeiBhbGdvcnl0bWVtCiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKQp7CiAgICBsbCBuOwoKICAgIGNpbiA+PiBuOwoKICAgIGxsIHRbbl07CgogICAgZm9yKGxsIGk9MDsgaTxuOyBpKyspCiAgICAgICAgY2luID4+IHRbaV07CgogICAgaWYoIXBlcm11dGFjamEodCwgbikpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGplxbxlbGkgZnVua2NqYSB6d3LDs2NpxYJhICJmYWxzZSIsIHd5cGlzdWplIGJyYWsKICAgICAgICBjb3V0IDw8ICJCUkFLIjsKICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3IHByemVjaXdueW0gcHJ6eXBhZGt1IHd5cGlzdWrEmSBnb3Rvd8SFIHBlcm11dGFjasSZCiAgICAgICAgZm9yKGxsIGk9MDsgaTxuOyBpKyspCiAgICAgICAgICAgIGNvdXQgPDwgdFtpXSA8PCAnICc7CgogICAgcmV0dXJuIDA7Cn0K