#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int inf =0x3f3f3f3f;
int m,n,ll,rr;
int g[15][105],d[15][105],c[3]={-1,0,1},pre[15][105],pos[4];
int main()
{
while(cin>>m>>n)
{
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
cin>>g[i][j];
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
d[i][j] = inf;
for(int i=1;i<=m;i++)
d[i][n]=g[i][n];
for(int i=n;i>1;i--)
{
for(int j=1;j<=m;j++)
{
for(int k=0;k<3;k++)
{
if(j+c[k]>m||j+c[k]<1)
pos[k]=j+c[k]<1?m:1;
else
pos[k]=j+c[k];
}
sort(pos,pos+3);
for(int k=0;k<3;k++)
{
if(d[pos[k]][i-1]>d[j][i]+g[pos[k]][i-1])
{
d[pos[k]][i-1]=d[j][i]+g[pos[k]][i-1];
pre[pos[k]][i-1] = j;
}
}
}
}
int maxn = inf,nw;
for(int i=1;i<=m;i++)
if(maxn>d[i][1])
{
maxn=d[i][1];
nw = i;
}
for(int i=1;i<n;i++)
{
cout<<nw<<' ';
nw=pre[nw][i];
}
cout<<nw<<endl;
cout<<maxn<<endl;
}
return 0;
}