#include #include #include using namespace std; const long long inf=1e18; vector v[50010]; pair v1[50010]; int v2[50010],n,m; long long sol[50010]; int cmp(int a,int b) { for(int i=1;i<=m;i++) if(v[a][i]v[b][i]) return 0; return 0; } int main() { //freopen("file.in", "r", stdin); //freopen("file.out", "w", stdout); scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { v[i].resize(m+1); for(int j=1;j<=m;j++) scanf("%d",&v[i][j]); } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) v1[j]={v[j][i],j}; sort(v1+1,v1+1+n); long long sum=0,s=0; for(int j=1;j<=n;j++) sum+=v1[j].first; for(int j=1;j<=n;j++) { sol[v1[j].second]+=(1LL*v1[j].first*(j-1))-s+sum-(1LL*v1[j].first*(n-j+1)); s+=v1[j].first; sum-=v1[j].first; } } long long minn=inf; for(int i=1;i<=n;i++) minn=min(minn,sol[i]); int nr=0; for(int i=1;i<=n;i++) if(sol[i]==minn) v2[++nr]=i; sort(v2+1,v2+1+nr,cmp); printf("%lld\n%d\n",minn,nr); for(int i=1;i<=nr;i++) { for(int j=1;j<=m;j++) printf("%d ",v[v2[i]][j]); printf("\n"); } return 0; }