#include<stdio.h>int a[101][21], n, m;double b[101];doubleMin(int* p){int i, s;for(i =0, s =*p; i < m; i++)if(*(p + i)< s)
s =*(p + i);return((double)s);}doubleMax(int* p){int i;int s;for(i =0, s =*p; i < m; i++)if(*(p + i)> s)
s =*(p + i);return((double)s);}doubleMax2(double* p){int i;double s;for(i =0, s =*p; i < n; i++)if(*(p + i)> s)
s =*(p + i);return(s);}doublescore(int s){int i;double t =0.0;for(i =0; i < m; i++)
t += a[s][i];
t =(t -Min(a[s])-Max(a[s]))/(m -2);return(t);}intmain(){int i, j;scanf("%d%d",&n,&m);for(i =0; i < n; i++)for(j =0; j < m; j++)scanf("%d",&a[i][j]);for(i =0; i < n; i++)
b[i]=score(i);printf("%.2lf",Max2(b));return(0);}