#include<iostream>
#include<algorithm>
using namespace std;
void insertionSort(int a[], int n)  
{  
    int i, key, j;  
    for (i = 1; i < n; i++) 
    {  
        key = a[i];  
        j = i - 1;  
        while (j >= 0 && a[j] < key) 
        {  
            a[j + 1] = a[j];  
            j = j - 1;  
        }  
        a[j + 1] = key;  
    }  
}
int main()
{
	int n;
	cin>>n;
	int a[n],b[n];
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		b[i]=a[i];
	}
	int br=0;
	insertionSort(b,n);
	for(int i=0;i<n;i++)
	{
		if(a[i]!=b[i])br++;
	}
	int k=0;
	if(br==0)
	{
		for(int i=0;i<n;i++)
		{
			for(int j=i+1;j<n;j++)
			{
				if(a[i]==a[j])k++;
			}
		}
		if(k==0)
		{
			swap(a[n-2],a[n-1]);
		}
	}
	else
	{
		for(int i=0;i<n;i++)
		{
			if(a[i]!=b[i])
			{
				for(int j=0;j<n;j++)
				{
					if(a[j]==b[i])
					{
						swap(a[i],a[j]);
						break;
					}
				}
				break;
			}
		}
	}
	for(int i=0;i<n;i++)
	{
		cout<<a[i]<<" ";
	}
}