#include <stdio.h>
void removeMinMax(int m, int arr[], float* result) {
int sum = 0;
int max = arr[0];
int min = arr[0];
for (int i = 1; i < m; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
for (int i = 0; i < m; i++) {
if (arr[i] != max && arr[i] != min) {
sum += arr[i];
}
}
*result = (m > 2) ? (float)sum / (m - 2) : 0;
}
int main() {
int n, m;
scanf("%d %d", &n, &m);
int arr[100][100];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
}
}
float maxavg = -1.0f;
for (int i = 0; i < n; i++) {
float avg;
removeMinMax(m, arr[i], &avg);
if (avg > maxavg) {
maxavg = avg;
}
}
printf("%.2f\n", maxavg);
return 0;
}