import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Main{
public static void find(List<Integer> data,int n) {
int max=0,min=0;
double mid=0;
if(data.get(0)<=data.get(n-1)) {
max=data.get(n-1);
min=data.get(0);
}
else {
max=data.get(0);
min=data.get(n-1);
}
if(n%2==0) {
mid=(( data.get(n >> 1)+data.get((n >> 1) - 1) )*1.0) /2 ;
if( (mid-(int)mid) ==0)
System.out.println(max+" "+(int) mid+" "+min);
else System.out.printf("%d %.1f %d\n",max,mid,min);
}
else {
mid= data.get(n >> 1);
System.out.println(max+" "+(int) mid+" "+min);
}
}
public static void main(String[] args) {
int n=0;
List<Integer> data=new ArrayList<Integer> ();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try {
n=Integer.parseInt(br.readLine());
String[] s=br.readLine().split(" ");
for(String c:s) data.add(Integer.parseInt(c));
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
find(data,n);
}
}