#include<fstream>
using namespace std;
ifstream fin("hp.in");
ofstream fout("hp.out");
int a[101][101],fl,v;
int f[101][101];//放到第N个花瓶放I束花时的最大权值
int q[20000][101];
int main()
{
fin>>fl>>v;
for(int i=1;i<=fl;i++)
{
for(int j=1;j<=v;j++)
{fin>>a[i][j];
cout<<"["<<i<<"]["<<j<<"]"<<a[i][j]<<" ";}
cout<<endl;
}
for(int k=1;k<=fl;k++)
for(int i=1;i<=v;i++)
if(i>=k)
{
if(k=i)
{f[k][i]=f[k-1][i-1]+a[k][i];}
else
{
f[k][i]=f[k][i-1];
if(f[k][i]<f[k-1][i-1]+a[k][i])
{f[k][i]=f[k-1][i-1]+a[k][i];}
}
}
cout<<f[fl][v]<<endl;
int p[101];
int fx=fl,vx=v,t=0;
while((fx>0)&&(vx>0))
{
if(f[vx][fx]!=f[vx-1][fx])
{
t++;
p[t]=vx;
fx--;
}
vx--;
}
for(int i=v;i>=1;i--)
if(p[i]!=0)
cout<<p[i]<<" ";
system("pause");
return 0;
}