#include <iostream>
#include <vector>
#include <deque>
#include <algorithm>
#include <iomanip>
using namespace std;
int n;
int m;
bool Mysort(int v1, int v2)
{
return v1 > v2;
}
int main()
{
cin >> n >> m;
vector<double> v;
for (int i = 0; i < n; i++)
{
int sum = 0;
double aver;
int score;
deque<int> d;
for (int j = 0; j < m; j++)
{
cin >> score;
sum += score;
d.push_back(score);
}
sort(d.begin(), d.end());
d.pop_back();
d.pop_front();
aver = sum / (m * 1.0);
v.push_back(aver);
}
sort(v.begin(), v.end(), Mysort);
vector<double>::iterator it = v.begin();
cout << fixed << setprecision(2) << *it << endl;
return 0;
}