#include<iostream>
using namespace std;
#include <climits>
int check(int x1,int y1,int x2,int y2,int b[100][100]){
int count[2]={0,0};
for(int i=x1;i<=y1;i++){
for(int j=x2;j<=y2;j++){
count[b[i][j]]++;
}
}
return count[1];
}
int main(){
int n=0;
int m=0;
int k=0;
cin>>n>>m>>k;
int a[100][100];
for(int i=0;i<n;i++){
string s;
cin>>s;
for(int j=0;j<m;j++){
a[i][j]=s[j]-'0';
}
}
bool flag=false;
int minarea=INT_MAX;
for(int x1=0;x1<=n;x1++){
for(int y1=0;y1<=m;y1++){
for(int x2=x1;x2<=n;x2++){
for(int y2=y1;y2<=m;y2++){
int num=check(x1,y1,x2,y2,a);
if(num>=k){
int area=(y1-x1+1)*(y2-x2+1);
if(area<minarea){
minarea=area;
flag=true;
}
}
}
}
}
}
if(flag){
cout<<minarea<<endl;
}
else{
cout<<0<<endl;
}
system("pause");
return 0;
}