#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

vector<int>knjige;
int nadjiveci(int od,int trazi) {
	int broj = 0;
	for (int i =knjige.size()-1; i > od; i--) {
		if (knjige[i]==trazi) {
			return i;
		}

	}
	return trazi;
}
int main()
{
	int n;
cin >> n;
	
	vector<int>sorto(n);
	for (int i = 0; i < n; i++) {
		int y;
		cin >> y;
		knjige.push_back(y);
	}

	sorto = knjige;

	sort(sorto.begin(), sorto.begin() + n, greater<int>());
	bool stanje = false;
	for (int i = 0; i < n; i++) {

		if (knjige[i] < sorto[i]) {
			if (stanje == false) {
				
				int pozicija = nadjiveci(i,sorto[i]);
				
				knjige[pozicija] = knjige[i];
				knjige[i] = sorto[i];

				stanje = true;
			}

		}

		if ((stanje == false) && (i == (n - 1))) {

			int prom;
			prom = knjige[n - 2];
			knjige[n - 2] = knjige[n - 1];
			knjige[n - 1] = prom;





		}
	}
	for (int k = 0; k < n; k++) {
		cout << knjige[k] << " ";
	}



	return 0;
}