#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 105;
int n, m, a[N][N], dp[N][N], ans = LONG_LONG_MIN, last;
vector<int> vec;
signed main (){
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; ++i){
for (int j = 1; j <= m; ++j) cin >> a[i][j];
}
memset (dp, -0x3f, sizeof(dp));
for (int i = 0; i <= 100; ++i) dp[0][i] = 0;
for (int i = 1; i <= n; ++i){
for (int j = i; j <= m; ++j){
for (int k = 1; k < j; ++k) dp[i][j] = max (dp[i][j], dp[i - 1][k] + a[i][j]);
}
}
for (int i = n; i <= m; ++i) ans = max (ans, dp[n][i]);
cout << ans << '\n';
for (int i = n; i <= m; ++i){
if (dp[n][i] == ans){
last = i;
break;
}
}
vec.push_back(last);
ans -= a[n][last];
for (int i = n - 1; i >= 1; --i){
for (int j = 1; j < last; ++j){
if (dp[i][j] == ans){
last = j;
break;
}
}
ans -= a[i][last];
vec.push_back(last);
}
reverse(vec.begin(), vec.end());
for (int i = 0; i < vec.size(); ++i) cout << vec[i] << ' ';
cout << '\n';
return 0;
}