#include<bits/stdc++.h> #define LL long long using namespace std; char ch[55][2505]; int f[55][55], val[55][55], DP[55][2505]; //val[i][j]:第i个木板涂j次色的最大正确格子数 //DP[i][j]:前i个木板涂j次色的最大正确格子数 int main(){ int n, m, T; scanf("%d%d%d", &n, &m, &T); for(int i=1; i<=n; i++){ scanf("%s", ch[i]+1); } for(int i=1; i<=n; i++){ int cut[55]={0}; memset(f, 0, sizeof(f)); for(int j=1; j<=m; j++){ cut[j]=cut[j-1]+ch[i][j]-'0'; } for(int j=1; j<=m; j++){ for(int k=1; k<=50; k++){ for(int w=0; w<j; w++){ f[j][k]=max(f[j][k], f[w][k-1]+max(j-w-cut[j]+cut[w], cut[j]-cut[w])); } val[i][k]=max(f[j][k], val[i][k]); } } } for(int i=1; i<=n; i++){ for(int j=1; j<=T; j++){ for(int k=0; k<=j; k++){ DP[i][j]=max(DP[i][j], DP[i-1][j-k]+val[i][k]); } } } printf("%d\n", DP[n][T]); return 0; }