record: WA on #19
min(a,b){return a<b?a:b;}
t[5][11],f[1<<5][25+1],len[5],ans[5];
void dfs(st,dis){
int one=__builtin_popcount(st);
if(one^4){
for(int i=0;i<5;++i){
if(!(st&(1<<i))){
for(int d=1;d<=10&&5-one-1<=25-dis-d&&25-dis-d<=(5-one-1)*10;++d)
if(f[st|(1<<i)][dis+d]>f[st][dis]+t[i][d]){
f[st|(1<<i)][dis+d]=f[st][dis]+t[i][d];
len[i]=d,dfs(st|(1<<i),dis+d);
}
}
}
}
else{
for(int i=0;i<5;++i)
if(!(st&(1<<i))){
if(f[0B11111][25]>f[st][dis]+t[i][25-dis]){
f[0B11111][25]=f[st][dis]+t[i][25-dis];
len[4]=25-dis;for(int i=0;i<5;++i)ans[i]=len[i];
}
return;
}
}
}
main(){
for(int i=0;i<5;++i)
for(int j=1;j<=10;++j)
scanf("%d",t[i]+j);
memset(f,127,sizeof(f)),*f[0]=0,dfs(0,0);
printf("%d\n",f[0B11111][25]);
printf("%d %d %d %d %d",*ans,ans[1],ans[2],ans[3],ans[4]);
}