#include <bits/stdc++.h>
#define maxn 510
using namespace std;
int a[maxn][maxn];
int f[maxn][maxn];
int n, v;
int ans[maxn][maxn];
int main() {
freopen("P1854_2.in", "r", stdin);
cin >> n >> v;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= v; j++) {
cin >> a[i][j];
}
}
memset(f, 0, sizeof(f));
memset(ans, 0, sizeof(ans));
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= v; j++) {
f[i][j] = 0;
for (int h = 1; h <= j - 1; h++) {
if (f[i - 1][h] + a[i][j] > f[i][j]) {
f[i][j] = f[i - 1][h] + a[i][j];
ans[i][j] = h;
}
}
}
}
int ans1 = 0;
int ans2;
for (int i = 1; i <= v; i++) {
if (f[n][i] > ans1) {
ans1 = f[n][i];
ans2 = i;
}
}
cout << ans1 << endl;
int a1[maxn];
memset(a, 0, sizeof(a));
for (int i = n; i >= 1; i--) {
a1[i] = ans2;
ans2 = ans[i][ans2];
}
for (int i = 1; i <= n; i++) {
cout << a1[i] << ' ';
}
return 0;
}