#include<bits/stdc++.h>
using namespace std;
int n,len,sum,mi1,mi2,mx1,mx2,t,mx,mi=1e9;
int a[1000005];
map<int,int>mp;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
bool f=false;
for(auto j:mp){
if(j.first==a[i]){
f=true;
}
}
mp[a[i]]++;
if(!f){
len++;
}
}
while(len>=3){
if(t==0){
mi1=mi2=1e9;
for(auto i:mp){
if(i.second>0){
mi1=min(mi1,i.first);
}
}
for(auto i:mp){
if(i.second>0&&i.first!=mi1){
mi2=min(mi2,i.first);
}
}
mp[mi1]--;
mp[mi2]++;
if(mp[mi1]==0){
len--;
}
}
else{
mx1=mx2=0;
for(auto i:mp){
if(i.second>0){
mx1=max(mx1,i.first);
}
}
for(auto i:mp){
if(i.second>0&&i.first!=mx1){
mx2=max(mx2,i.first);
}
}
mp[mx1]--;
mp[mx2]++;
if(mp[mx1]==0){
len--;
}
}
sum++;
t=(t+1)%2;
}
for(auto i:mp){
if(i.second>0)mx=max(mx,i.first),mi=min(mi,i.first);
}
printf("%d %d %d",sum,mi,mx);
return 0;
}