#include<bits/stdc++.h>
#define debug1 cout<<"?"<<endl;
#define debug2 cout<<"?"<<i<<endl;
typedef long long ll;
#define PII pair<ll,ll>
const int maxn=2e5+9;
const double pi=acos(-1);
const int mod=1e9+7;
const int INF=0x3f3f3f3f;
const double ep=1e-10;
using namespace std;
int main()
{
	int h,w,k,i,j;
	char s[20][1009];
	scanf("%d%d%d",&h,&w,&k);
	for(i=0;i<h;i++)scanf("%s",s[i]);
	int ans=2e9;
	for(i=0;i<(1<<(h-1));i++)
	{
		int ii=i,jj,tot=0,num=0,ju=0,cnt=0;
		int v[30]={-1},sum[30]={0};
		while(ii)
		{
			if(ii&1)v[++tot]=num;
			num++;ii>>=1;
		}
		v[++tot]=h-1;
		for(j=0;j<w&&!ju;j++)
		{
			for(ii=1;ii<=tot;ii++)
			{
				num=0;
				for(jj=v[ii-1]+1;jj<=v[ii];jj++)
				{
					if(s[jj][j]=='1')sum[ii]++,num++;
				}
				if(num>k)
				{
					ju=1;break;
				}
				if(sum[ii]>k)
				{
					cnt++;j--;
					memset(sum,0,sizeof sum);break;
				}
			}
		}
		if(ju)continue;
		ans=min(ans,cnt+__builtin_popcount(i));
	}
	printf("%d\n",ans);
}