#include<stdio.h>
int a[100000];
int main()
{
int n,i,min,max,temp,midn=0;
double mid=0;
scanf("%d",&n);
for(i=0;i<n;i++)//0--n-1
{
scanf("%d",&a[i]);
}
if(n%2==0)//偶数,中位数求和除二
{
temp=n/2;
if((a[temp]+a[temp-1])%2==0)
midn=(a[temp]+a[temp-1])/2;
else if((a[temp]+a[temp-1])%2!=0)
mid=(a[temp]+a[temp-1])/2.0;
}
else
{
temp=n/2;
midn=a[temp];
}
if(a[n-1]-a[0]<0)//降序排列
{
min=a[n-1];
max=a[0];
}
else //升序排列
{
min=a[0];
max=a[n-1];
}
if((n%2==0)&&(a[temp]+a[temp-1])%2!=0)
printf("%d %.1lf %d",max,mid,min);
else
printf("%d %d %d",max,midn,min);
return 0;
}