#include <iostream>
#include <string.h>
#include <cmath>
using namespace std;
void quicksort(int *arr, int start, int end){
if(start >= end)
return;
int pivot = start;
int i = start + 1;
int j = end;
while(i <= j){
while(i <= end && arr[i] <= arr[pivot])
i++;
while(j > start && arr[j] >= arr[pivot])
j--;
if(i > j){
int temp = arr[j];
arr[j] = arr[pivot];
arr[pivot] = temp;
}
else{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
quicksort(arr, start + 1, j);
quicksort(arr, j + 1, end);
}
int main(){
int N;
scanf("%d", &N);
int *data = new int[N];
int count[8001];
memset(count, 0, sizeof(count));
int average = 0;
int max = -4000;
for(int i = 0;i < N;i++){
scanf("%d", &data[i]);
count[data[i] + 4000]++;
average += data[i];
if(count[data[i] + 4000] >= max){
max = count[data[i] + 4000];
}
}
int min = data[0];
int second_min = min;
for(int i = 0;i < 8001;i++){
if(count[i] == max){
if((i - 4000) < min){
second_min = min;
min = (i - 4000);
}
else if((min > (i - 4000) && second_min > (i - 4000)) || min == second_min){
second_min = (i - 4000);
}
}
}
average = round((double)average / (double)N);
quicksort(data, 0, N-1);
printf("%d\n%d\n%d\n%d\n", average, data[N/2], second_min, data[N-1] - data[0]);
delete []data;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxjbWF0aD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHF1aWNrc29ydChpbnQgKmFyciwgaW50IHN0YXJ0LCBpbnQgZW5kKXsKICAgIGlmKHN0YXJ0ID49IGVuZCkKICAgICAgICByZXR1cm47CgogICAgaW50IHBpdm90ID0gc3RhcnQ7CiAgICBpbnQgaSA9IHN0YXJ0ICsgMTsKICAgIGludCBqID0gZW5kOwoKICAgIHdoaWxlKGkgPD0gail7CiAgICAgICAgd2hpbGUoaSA8PSBlbmQgJiYgYXJyW2ldIDw9IGFycltwaXZvdF0pCiAgICAgICAgICAgIGkrKzsKICAgICAgICB3aGlsZShqID4gc3RhcnQgJiYgYXJyW2pdID49IGFycltwaXZvdF0pCiAgICAgICAgICAgIGotLTsKICAgICAgICAKICAgICAgICBpZihpID4gail7CiAgICAgICAgICAgIGludCB0ZW1wID0gYXJyW2pdOwogICAgICAgICAgICBhcnJbal0gPSBhcnJbcGl2b3RdOwogICAgICAgICAgICBhcnJbcGl2b3RdID0gdGVtcDsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgaW50IHRlbXAgPSBhcnJbaV07CiAgICAgICAgICAgIGFycltpXSA9IGFycltqXTsKICAgICAgICAgICAgYXJyW2pdID0gdGVtcDsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHF1aWNrc29ydChhcnIsIHN0YXJ0ICsgMSwgaik7CiAgICBxdWlja3NvcnQoYXJyLCBqICsgMSwgZW5kKTsKfQppbnQgbWFpbigpewogICAgaW50IE47CiAgICBzY2FuZigiJWQiLCAmTik7CgogICAgaW50ICpkYXRhID0gbmV3IGludFtOXTsKICAgIGludCBjb3VudFs4MDAxXTsKICAgIG1lbXNldChjb3VudCwgMCwgc2l6ZW9mKGNvdW50KSk7CgogICAgaW50IGF2ZXJhZ2UgPSAwOwoKICAgIGludCBtYXggPSAtNDAwMDsKCiAgICBmb3IoaW50IGkgPSAwO2kgPCBOO2krKyl7CiAgICAgICAgc2NhbmYoIiVkIiwgJmRhdGFbaV0pOwogICAgICAgIGNvdW50W2RhdGFbaV0gKyA0MDAwXSsrOwogICAgICAgIGF2ZXJhZ2UgKz0gZGF0YVtpXTsKICAgICAgICBpZihjb3VudFtkYXRhW2ldICsgNDAwMF0gPj0gbWF4KXsKICAgICAgICAgICAgbWF4ID0gY291bnRbZGF0YVtpXSArIDQwMDBdOwogICAgICAgIH0KICAgIH0KICAgIGludCBtaW4gPSBkYXRhWzBdOwogICAgaW50IHNlY29uZF9taW4gPSBtaW47CiAgICAKICAgIGZvcihpbnQgaSA9IDA7aSA8IDgwMDE7aSsrKXsKICAgICAgICBpZihjb3VudFtpXSA9PSBtYXgpewogICAgICAgICAgICBpZigoaSAtIDQwMDApIDwgbWluKXsKICAgICAgICAgICAgICAgIHNlY29uZF9taW4gPSBtaW47CiAgICAgICAgICAgICAgICBtaW4gPSAoaSAtIDQwMDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoKG1pbiA+IChpIC0gNDAwMCkgJiYgc2Vjb25kX21pbiA+IChpIC0gNDAwMCkpIHx8IG1pbiA9PSBzZWNvbmRfbWluKXsKICAgICAgICAgICAgICAgIHNlY29uZF9taW4gPSAoaSAtIDQwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGF2ZXJhZ2UgPSByb3VuZCgoZG91YmxlKWF2ZXJhZ2UgLyAoZG91YmxlKU4pOwogICAgcXVpY2tzb3J0KGRhdGEsIDAsIE4tMSk7CgogICAgcHJpbnRmKCIlZFxuJWRcbiVkXG4lZFxuIiwgYXZlcmFnZSwgZGF0YVtOLzJdLCBzZWNvbmRfbWluLCBkYXRhW04tMV0gLSBkYXRhWzBdKTsKCiAgICBkZWxldGUgW11kYXRhOwoKICAgIHJldHVybiAwOwp9