#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define e '\n'
#define f(i, a, b) for (ll i = a; i < b; i++)
#define vll vector<ll>
#define all(v) v.begin(),v.end()
#define pb push_back
#define i1(a) \
ll a; \
cin >> a;
#define i2(a, b) \
ll a, b; \
cin >> a >> b;
#define i3(a, b, c) \
ll a, b, c; \
cin >> a >> b >> c;
#define is(str) \
string str; \
cin>>str;
#define vi(arr, n) \
vector<ll> arr(n); \
f(i, 0, n) cin >> arr[i];
#define printv(arr,n) \
f(i,0,n) cout<<arr[i]<<' ';
#define mod 1000000007
#define ff first
#define ss second
#define mll map<ll,ll>
#define R return
#define light ios_base::sync_with_stdio(false); \
cin.tie(NULL);
#define B break
#define C continue
#define YY cout << "YES" << e
#define NN cout << "NO" << e
#pragma GCC optimize ("trapv")
ll Powerfun(ll x, ll y)
{
ll res = 1;
while (y)
{
if (y & 1) res = (res * x) % mod;
x = (x * x) % mod; y >>= 1;
}
return res;
}
ll add(ll a, ll b){
return (a%mod+b%mod)%mod;
}
ll sub(ll a, ll b){
return (a%mod-b%mod+mod)%mod;
}
ll mul(ll a, ll b){
return ((a%mod)*(b%mod))%mod;
}
// O(bits*n^2*log(n))
// bits-> 20
void solve()
{
i3(n,m,r);
assert(n>=1 && n<=500 && m>=1 && m<=500);
assert(r>=1 && r<=1e6);
ll mat[n][m];
ll bits = 20;
f(i,0,n) f(j,0,m){
cin>>mat[i][j];
assert(mat[i][j]>=1 && mat[i][j]<=1e6);
}
vector<vector<vector<ll>>> prefix(n,vector<vector<ll>>(m,vector<ll>(bits,0)));
f(i,0,n){
f(j,0,m){
f(k,0,bits){
if(j-1>=0){
prefix[i][j][k]+=prefix[i][j-1][k];
}
if(i-1>=0){
prefix[i][j][k]+=prefix[i-1][j][k];
}
if(i-1>=0 && j-1>=0){
prefix[i][j][k]-=prefix[i-1][j-1][k];
}
if((1ll<<k)&mat[i][j]){
prefix[i][j][k]++;
}
}
}
}
ll ans_sz = 1e9;
f(i,0,n){
f(j,0,m){
ll lo = 1, hi = min(n,m);
while(lo<=hi){
ll sz = (lo+hi)/2;
if(i-sz+1>=0 && j-sz+1>=0){
vector<ll> cur(bits,0);
ll val = 0;
f(k,0,bits){
cur[k]+=prefix[i][j][k];
if(i-sz>=0){
cur[k]-=prefix[i-sz][j][k];
}
if(j-sz>=0){
cur[k]-=prefix[i][j-sz][k];
}
if(i-sz>=0 && j-sz>=0){
cur[k]+=prefix[i-sz][j-sz][k];
}
if(cur[k]){
val|=(1ll<<k);
}
}
if(val>r){
ans_sz = min(ans_sz,sz);
hi = sz-1;
}
else lo = sz+1;
}
else{
hi = sz-1;
}
}
}
}
cout<<(ans_sz==1e9?-1:ans_sz)<<e;
}
int32_t main()
{
light
int t = 1;
// cin>>t;
while (t--)
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nIAojZGVmaW5lIGUgJ1xuJwojZGVmaW5lIGYoaSwgYSwgYikgZm9yIChsbCBpID0gYTsgaSA8IGI7IGkrKykKI2RlZmluZSB2bGwgdmVjdG9yPGxsPgojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGkxKGEpIFwKICAgIGxsIGE7ICAgIFwKICAgIGNpbiA+PiBhOwojZGVmaW5lIGkyKGEsIGIpIFwKICAgIGxsIGEsIGI7ICAgIFwKICAgIGNpbiA+PiBhID4+IGI7CiNkZWZpbmUgaTMoYSwgYiwgYykgXAogICAgbGwgYSwgYiwgYzsgICAgXAogICAgY2luID4+IGEgPj4gYiA+PiBjOyAgCiNkZWZpbmUgaXMoc3RyKSBcCiAgICBzdHJpbmcgc3RyOyBcCiAgICBjaW4+PnN0cjsKI2RlZmluZSB2aShhcnIsIG4pICAgIFwKICAgIHZlY3RvcjxsbD4gYXJyKG4pOyBcCiAgICBmKGksIDAsIG4pIGNpbiA+PiBhcnJbaV07CiNkZWZpbmUgcHJpbnR2KGFycixuKSBcCiAgICBmKGksMCxuKSBjb3V0PDxhcnJbaV08PCcgJzsKI2RlZmluZSBtb2QgMTAwMDAwMDAwNwojZGVmaW5lIGZmIGZpcnN0CiNkZWZpbmUgc3Mgc2Vjb25kCiNkZWZpbmUgbWxsIG1hcDxsbCxsbD4KI2RlZmluZSBSIHJldHVybgojZGVmaW5lIGxpZ2h0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBcCiAgICAgICAgY2luLnRpZShOVUxMKTsgCiNkZWZpbmUgQiBicmVhawojZGVmaW5lIEMgY29udGludWUKI2RlZmluZSBZWSBjb3V0IDw8ICJZRVMiIDw8IGUKI2RlZmluZSBOTiBjb3V0IDw8ICJOTyIgPDwgZQojcHJhZ21hIEdDQyBvcHRpbWl6ZSAoInRyYXB2IikKCmxsIFBvd2VyZnVuKGxsIHgsIGxsIHkpCnsKICAgIGxsIHJlcyA9IDE7CiAgICB3aGlsZSAoeSkKICAgIHsKICAgICAgICBpZiAoeSAmIDEpIHJlcyA9IChyZXMgKiB4KSAlIG1vZDsKICAgICAgICB4ID0gKHggKiB4KSAlIG1vZDsgeSA+Pj0gMTsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCmxsIGFkZChsbCBhLCBsbCBiKXsKICAgIHJldHVybiAoYSVtb2QrYiVtb2QpJW1vZDsKfQoKbGwgc3ViKGxsIGEsIGxsIGIpewogICAgcmV0dXJuIChhJW1vZC1iJW1vZCttb2QpJW1vZDsKfQoKbGwgbXVsKGxsIGEsIGxsIGIpewogICAgcmV0dXJuICgoYSVtb2QpKihiJW1vZCkpJW1vZDsKfQogCi8vIE8oYml0cypuXjIqbG9nKG4pKQovLyBiaXRzLT4gMjAKCnZvaWQgc29sdmUoKQp7CiAgICBpMyhuLG0scik7CiAgICBhc3NlcnQobj49MSAmJiBuPD01MDAgJiYgbT49MSAmJiBtPD01MDApOyAKICAgIGFzc2VydChyPj0xICYmIHI8PTFlNik7CiAgICBsbCBtYXRbbl1bbV07CiAgICBsbCBiaXRzID0gMjA7CiAgICBmKGksMCxuKSBmKGosMCxtKXsgCiAgICAgICAgY2luPj5tYXRbaV1bal07IAogICAgICAgIGFzc2VydChtYXRbaV1bal0+PTEgJiYgbWF0W2ldW2pdPD0xZTYpOwogICAgfQogICAgdmVjdG9yPHZlY3Rvcjx2ZWN0b3I8bGw+Pj4gcHJlZml4KG4sdmVjdG9yPHZlY3RvcjxsbD4+KG0sdmVjdG9yPGxsPihiaXRzLDApKSk7CiAgIAogICAgZihpLDAsbil7CiAgICAgICAgZihqLDAsbSl7CiAgICAgICAgICAgIGYoaywwLGJpdHMpewogICAgICAgICAgICAgICAgaWYoai0xPj0wKXsKICAgICAgICAgICAgICAgICAgICBwcmVmaXhbaV1bal1ba10rPXByZWZpeFtpXVtqLTFdW2tdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoaS0xPj0wKXsKICAgICAgICAgICAgICAgICAgICBwcmVmaXhbaV1bal1ba10rPXByZWZpeFtpLTFdW2pdW2tdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoaS0xPj0wICYmIGotMT49MCl7CiAgICAgICAgICAgICAgICAgICAgcHJlZml4W2ldW2pdW2tdLT1wcmVmaXhbaS0xXVtqLTFdW2tdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoKDFsbDw8aykmbWF0W2ldW2pdKXsKICAgICAgICAgICAgICAgICAgICBwcmVmaXhbaV1bal1ba10rKzsgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBsbCBhbnNfc3ogPSAxZTk7IAogICAgCiAgICBmKGksMCxuKXsKICAgICAgICBmKGosMCxtKXsKICAgICAgICAgICAgbGwgbG8gPSAxLCBoaSA9IG1pbihuLG0pOwogICAgICAgICAgICB3aGlsZShsbzw9aGkpewogICAgICAgICAgICAgICAgbGwgc3ogPSAobG8raGkpLzI7CiAgICAgICAgICAgICAgICBpZihpLXN6KzE+PTAgJiYgai1zeisxPj0wKXsKICAgICAgICAgICAgICAgICAgICB2ZWN0b3I8bGw+IGN1cihiaXRzLDApOwogICAgICAgICAgICAgICAgICAgIGxsIHZhbCA9IDA7IAogICAgICAgICAgICAgICAgICAgIGYoaywwLGJpdHMpewogICAgICAgICAgICAgICAgICAgICAgICBjdXJba10rPXByZWZpeFtpXVtqXVtrXTsgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGktc3o+PTApewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyW2tdLT1wcmVmaXhbaS1zel1bal1ba107IAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGotc3o+PTApewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyW2tdLT1wcmVmaXhbaV1bai1zel1ba107IAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGktc3o+PTAgJiYgai1zej49MCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJba10rPXByZWZpeFtpLXN6XVtqLXN6XVtrXTsgCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoY3VyW2tdKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHw9KDFsbDw8ayk7IAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmKHZhbD5yKXsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zX3N6ID0gbWluKGFuc19zeixzeik7IAogICAgICAgICAgICAgICAgICAgICAgICBoaSA9IHN6LTE7IAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGxvID0gc3orMTsgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgIGhpID0gc3otMTsgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0PDwoYW5zX3N6PT0xZTk/LTE6YW5zX3N6KTw8ZTsgCn0KCmludDMyX3QgbWFpbigpCnsKICAgIGxpZ2h0CgogICAgaW50IHQgPSAxOwogICAgLy8gY2luPj50OwogICAgd2hpbGUgKHQtLSkKICAgICAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0KCg==