#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n,i,j=0,flag=1;
while(cin>>n)
{
int m=0,M=0;//m代表最小值的下标,M代表最大值的下标,且此程序中m,M必须在while循环中定义,否则下一个循环将可能受到其影响导致非法访问
double s=0;
int *a=new int[n];//用new进行动态开辟
for(i=0;i<n;i++)
{
cin>>a[i];
if(a[m]>a[i])
m=i;
if(a[M]<a[i])
M=i;
s=s+a[i];
}
s=(s-a[m]-a[M])/(n-2.0);
cout<<setiosflags(ios::fixed)<<setprecision(2);
if(++j<n)//用flag控制每组数据间的空行输出
{
flag=0;
cout<<s<<endl;
}
else
cout<<s;
delete []a;
}
return 0;
}