#include <stdio.h>
#include <math.h>
int max(int a, int b)
{
	if(a<b)
		return b;
	return a;
}
void swap(int a, int b)
{
	int pom;
	pom=a;
	a=b;
	b=pom;
}
int min(int a, int b)
{
	if(a>b)
	 return b;
	return a;
}
int main()
{
	int N,i;
	scanf("%d", &N);
	int a[N];
	for(i=0;i<N;++i)
	{
		scanf("%d", &a[i]);
	}
	int t=0;
	for(i=0;i<N;++i)
	{
		t=max(t,a[i]);
	}
	int s;
	for(i=N-1;i>=0;i--)
	{
		if(t=a[i]);
		{
			s=i;
			break;
		}
		
	}
	int r=0;
	int p=0;
	for(int j=0;j<N;j++)
	{
		for(i=0;i<N;i++)
		{
			if(t>a[i])
				{
				
					{
						int pom;
						pom=a[i];
						a[i]=a[s];
						a[s]=a[i];
						
						break;			
					}		
				}
		
		}
	r++;
	p++;
	break;
	}
	if(p=1)
	{
		for(i=1;i<N;++i)
		{
		t=max(t,a[i]);
		}
		for(i=1;i<N;i++)
		{
			if(t>a[i])
				{
			
					{
						int pom;
						pom=a[i];
						a[i]=a[s];
						a[s]=a[i];
						break;		
					}		
				}
		}
	r++;
	}

	
	
	
	if(r=1)
	{
		int k=9;
		for(i=N-1;i>=0;i--)
		{
			 k=min(k,a[i]);
		}
		
		for(i=N-1;i>=0;i--)
		{
		
			
			
						int pom;
						pom=a[i];
						a[i]=a[i--];
						a[i--]=a[i];
						break;		
			
			
		}
		
	}
	
	printf("\n");
	
	for(i=0;i<N;++i)
	{
		printf("%d\t", a[i]);
	}
	return 0;
	
	
}