#include <bits/stdc++.h>
using namespace std;
int arr[301][21]; // 입력
int dp[301][21]; // 계산
int check[301][21]; // 저장
int go(int tuja,int comIdx,int m){
if(comIdx>m)
return 0;
int &ret=dp[tuja][comIdx];
if(ret != -1)
return ret;
ret=0;
for(int i=0;i<=tuja;i++){
int compare=arr[i][comIdx]+go(tuja-i,comIdx+1,m);
if(ret<compare)
{
ret=compare;
check[tuja][comIdx]=i;
}
}
return ret;
}
int main() {
int n,m;
scanf("%d %d",&n,&m);
memset(dp,-1,sizeof(dp));
for(int i=0;i<n;i++){
scanf("%*d");
for(int j=1;j<=m;j++){
int eik;scanf("%d",&eik);
arr[i+1][j]=eik;
}
}
printf("%d\n",go(n,1,m));
int total=n;
for(int i=1;i<=m;i++){
printf("%d ",check[total][i]);
total-=check[total][i];
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgYXJyWzMwMV1bMjFdOyAvLyDsnoXroKUKaW50IGRwWzMwMV1bMjFdOyAvLyDqs4TsgrAgCmludCBjaGVja1szMDFdWzIxXTsgLy8g7KCA7J6lCmludCBnbyhpbnQgdHVqYSxpbnQgY29tSWR4LGludCBtKXsKCWlmKGNvbUlkeD5tKQoJIHJldHVybiAwOwoJIGludCAmcmV0PWRwW3R1amFdW2NvbUlkeF07CglpZihyZXQgIT0gLTEpCgkgcmV0dXJuIHJldDsKCXJldD0wOwoJZm9yKGludCBpPTA7aTw9dHVqYTtpKyspewoJCWludCBjb21wYXJlPWFycltpXVtjb21JZHhdK2dvKHR1amEtaSxjb21JZHgrMSxtKTsKCQlpZihyZXQ8Y29tcGFyZSkKCQl7CgkJCXJldD1jb21wYXJlOwoJCQljaGVja1t0dWphXVtjb21JZHhdPWk7CgkJfQoJfQoJcmV0dXJuIHJldDsKCQp9CmludCBtYWluKCkgewoJaW50IG4sbTsKCXNjYW5mKCIlZCAlZCIsJm4sJm0pOwoJbWVtc2V0KGRwLC0xLHNpemVvZihkcCkpOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJc2NhbmYoIiUqZCIpOwoJCWZvcihpbnQgaj0xO2o8PW07aisrKXsKCQkJaW50IGVpaztzY2FuZigiJWQiLCZlaWspOwoJCQlhcnJbaSsxXVtqXT1laWs7CgkJfQoJfQoJcHJpbnRmKCIlZFxuIixnbyhuLDEsbSkpOwoJaW50IHRvdGFsPW47Cglmb3IoaW50IGk9MTtpPD1tO2krKyl7CgkJcHJpbnRmKCIlZCAiLGNoZWNrW3RvdGFsXVtpXSk7CgkJdG90YWwtPWNoZWNrW3RvdGFsXVtpXTsKCX0KCXJldHVybiAwOwp9