#include <stdio.h>
int x,y,num[101][22],min,max;
double book[101],max2;
void pj(int max, int min, int num[][22], int i)
{
double sum = 0;
int j;
for (j = 0; j < y; j++)
{
if (num[i][j] == min || num[i][j] == max)
{
continue;
}
sum += num[i][j];
}
book[i] = sum / ((double)y - 2.0);
while (i == x - 1)
{
for (i = 0, max2=book[0]; i < x; i++)
{
if (book[i] > max2)
{
max2 = book[i];
}
}
printf("%.2f", max2);
break;
}
}
void zxzd(int num[][22], int x, int y)
{
int i, j;
for (i = 0; i < x; i++)
{
for (j = 0, min = num[i][0], max = num[i][0]; j < y; j++)
{
if (num[i][j] < min)
{
min = num[i][j];
}
if (num[i][j] > max)
{
max = num[i][j];
}
}
pj(max, min, num, i);
}
}
int main(void)
{
int i, j;
scanf("%d %d", &x, &y);
for(i=0;i<x;i++)
{
for (j = 0; j < y; j++)
{
scanf("%d", &num[i][j]);
}
}
zxzd(num, x, y);
return 0;
}