#include #include using namespace std; typedef int Int; Int table[21][21]; Int F[21][21]; Int minarea=999999999; int main() { freopen("minark.in","r",stdin); freopen("minark.out","w",stdout); Int n,m,k; Int i,j; Int in,ja; Int area; Int sum; scanf("%d %d %d",&n,&m,&k); for (i=1;i<=n;i++) { for (j=1;j<=m;j++) { scanf("%d",&table[i][j]); } } for (i=0;i<=20;i++) { for (j=0;j<=20;j++) { F[i][j]=0; } } for (i=1;i<=n;i++) { for (j=1;j<=m;j++) { F[i][j]=table[i][j]+F[i-1][j]+F[i][j-1]-F[i-1][j-1]; } } for (i=1;i<=n;i++) { for (j=1;j<=m;j++) { for (in=i;in<=n;in++) { for (ja=j;ja<=m;ja++) { area=(in-i+1)*(ja-j+1); sum=F[in][ja]-F[in][j-1]-F[i-1][ja]+F[i-1][j-1]; if (area=k) { minarea=area; } } } } } if (minarea!=999999999) printf("%d\n",minarea); else printf("-1\n"); return 0; }