using namespace std; int a[5000001]; int n,t,num; int main(){
// 2*n次比较
// int max,min;
// cin>>n;
// for(int i=1;i<=n;i++){
// scanf("%d",&num);
// if(i==1) max=num,min=num;
// else{
// if(num>max) max=num;
// if(num<min) min=num;
// }
// }
// cout<<min<<" "<<max;
// 分治法 比较3*2/n次
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n/2;i++){
// 比较a[2*i-1]和a[2*i]
if(a[2*i-1]>a[2*i]) t=a[2*i-1],a[2*i-1]=a[2*i],a[2*i]=t;
}
// 小的往前方
for(int i=n/2;i>=2;i--){
if(a[2*i-1]<a[2*(i-1)-1]) a[2*(i-1)-1]=a[2*i-1];
}
// 大的往后放
for(int i=1;i<=n/2-1;i++){
if(a[i*2]>a[(i+1)*2]) a[(i+1)*2]=a[i*2];
}
if(n%2==1){
if(a[n]<a[1]) a[1]=a[n];
if(a[n]<a[n-1]) a[n]=a[n-1];
}
cout<<a[1]<<" "<<a[n];
return 0;
}