#include <bits/stdc++.h>
using namespace std;
void setup()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int n, m, id;
long long sum, cur, temp;
long long v[2000][2000];
pair<long long, long long> f[2000][2000];
bool removed[2000];
vector<int> res;
int main()
{
setup();
cin >> n >> m;
for (int i = 0; i < n; ++i)
{
sum = cur = 0;
for (int j = 0; j < m; ++j)
{
cin >> v[i][j];
sum += v[i][j];
v[i][j] *= n;
}
for (int j = 0, k = 0; j < n; ++j)
{
temp = sum;
while (temp && k < m)
{
if (temp > v[i][k] - cur)
{
temp -= v[i][k] - cur;
cur = 0;
k++;
}
else
{
cur += temp;
temp = 0;
}
}
f[i][j] = {v[i][k] * k + cur, v[i][k]};
}
}
for (int i = 0; i < n - 1; ++i)
{
id = -1;
for (int j = 0; j < n; ++j)
{
if (!removed[j])
{
if (id == -1 || (double)f[id][i].first / (double)f[id][i].second >
(double)f[j][i].first / (double)f[j][i].second)
{
id = j;
}
}
}
removed[id] = true;
res.push_back(id + 1);
cout << f[id][i].first << " " << f[id][i].second << "\n";
}
for (int i = 0; i < n; ++i)
{
if (!removed[i])
{
res.push_back(i + 1);
}
}
for (auto & i : res)
{
cout << i << " ";
}
return 0;
}