#include<bits/stdc++.h>
#define MAXN 101
using namespace std;
typedef long long ll;
int a[MAXN][MAXN];
ll dp[MAXN][MAXN];
inline void print(int i,int j){
if(i==0){
return;
}
for(int k=1;k<j;++k){
if(dp[i][j]==dp[i-1][k]+a[i][j]){
print(i-1,k);
cout<<k<<" ";
return;
}
}
}
int main(){
ios::sync_with_stdio(false);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
cin>>a[i][j];
}
}
memset(dp,-1,sizeof(dp));
memset(dp[0],0,sizeof(dp[0]));
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
for(int k=1;k<j;++k){
dp[i][j]=max(dp[i][j],dp[i-1][k]+1ll*a[i][j]);
}
}
}
cout<<dp[n][m]<<endl;
print(n,m);
return 0;
}