#include<stdio.h>
void Lookmin_max(int* a,int i,int j,int *min,int *max)
{
int mid,min1,max1,min2,max2;
if(i==j)
{
*max=a[j];
*min=a[i];
return ;
}
if(i==j-1)
{
*min=a[i]>a[j]?a[j]:a[i];
*max=a[i]>a[j]?a[i]:a[j];
return ;
}
mid=(i+j)/2;
Lookmin_max(a,i,mid,&min1,&max1);
Lookmin_max(a,mid+1,j,&min2,&max2);
if(min1<min2) *min=min1;
else *min=min2;
if(max1<max2) *max=max2;
else *max=max1;
}
int main()
{
int n,a[100],i,min,max;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
Lookmin_max(a,0,n-1,&min,&max);
printf("%d %d\n",min,max);
}
return 0;
}