#include<bits/stdc++.h>
using namespace std;
int f,v,a[150][150],dp[150][150],w[150],now;
void print(int x,int y){
if(y==0||x==0)return;
if(dp[x-1][y-1]+a[x][y]==dp[x][y]){
print(x-1,y-1);
printf("%d ",x);
}
else print(x-1,y);
}
int main(){
scanf("%d%d",&f,&v);
for(int i=1;i<=f;++i){
for(int j=1;j<=v;++j)scanf("%d",&a[i][j]);
}
for(int i=1;i<=f;++i){
for(int j=i;j<=v;++j){
dp[i][j]=max(dp[i][j-1],dp[i-1][j-1]+a[i][j]);
}
}
printf("%d\n",dp[f][v]);
print(f,v);
}