/*
Cred : SunnyYeahBoi
It's my last chance (⌐■_■)
Problem :
*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define endl "\n"
#define NAME "a"
const int MAXN = 1e3 + 5;
const int inf = 1e18;
const int MOD = 1e9 + 7;
void FileInput(){
if(fopen(NAME".inp" , "r") == NULL)
freopen(NAME".inp" , "w" , stdout);
freopen(NAME".inp" , "r" , stdin);
freopen(NAME".out" , "w" , stdout);
}
int m , n , k;
int a[MAXN][MAXN];
int b[MAXN];
deque<int> q[MAXN];
int result = -inf;
void calc(){
for(int i = 1 ; i <= n ; i++)
b[i] = a[q[i].front()][i];
deque<int> dq;
for(int i = 1 ; i <= n ; i++){
while(!dq.empty() && b[dq.back()] >= b[i])
dq.pop_back();
dq.push_back(i);
if(dq.front() < i - k + 1) dq.pop_front();
if(i >= k)result = max(result , b[dq.front()]);
}
}
void solve(){
cin >> m >> n >> k;
for(int i = 1 ; i <= m ; i++)
for(int j = 1 ; j <= n ; j++)
cin >> a[i][j];
for(int j = 1 ; j <= n ; j++){
for(int i = 1 ; i <= k - 1 ; i++){
while(!q[j].empty() && a[q[j].back()][j] >= a[i][j])
q[j].pop_back();
q[j].push_back(i);
}
}
for(int i = k ; i <= m ; i++){
for(int j = 1 ; j <= n ; j++){
while(!q[j].empty() && a[q[j].back()][j] >= a[i][j])
q[j].pop_back();
q[j].push_back(i);
if(q[j].front() < i - k + 1) q[j].pop_front();
}
calc();
}
cout << result << endl;
}
int32_t main(){
//FileInput();
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
while(t--)
solve();
return 0;
}
LyoKICAgIENyZWQgOiBTdW5ueVllYWhCb2kKICAgIEl0J3MgbXkgbGFzdCBjaGFuY2UgKOKMkOKWoF/ilqApCiAgICBQcm9ibGVtIDoKKi8KCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZG91YmxlIGxvbmcgZG91YmxlCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgTkFNRSAiYSIKCmNvbnN0IGludCBNQVhOID0gMWUzICsgNTsKY29uc3QgaW50IGluZiA9IDFlMTg7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OwoKdm9pZCBGaWxlSW5wdXQoKXsKICAgIGlmKGZvcGVuKE5BTUUiLmlucCIgLCAiciIpID09IE5VTEwpCiAgICAgICAgZnJlb3BlbihOQU1FIi5pbnAiICwgInciICwgc3Rkb3V0KTsKICAgIGZyZW9wZW4oTkFNRSIuaW5wIiAsICJyIiAsIHN0ZGluKTsKICAgIGZyZW9wZW4oTkFNRSIub3V0IiAsICJ3IiAsIHN0ZG91dCk7Cn0KCmludCBtICwgbiAsIGs7CmludCBhW01BWE5dW01BWE5dOwppbnQgYltNQVhOXTsKZGVxdWU8aW50PiBxW01BWE5dOwppbnQgcmVzdWx0ID0gLWluZjsKCnZvaWQgY2FsYygpewogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICBiW2ldID0gYVtxW2ldLmZyb250KCldW2ldOwoKICAgIGRlcXVlPGludD4gZHE7CgogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKyl7CiAgICAgICAgd2hpbGUoIWRxLmVtcHR5KCkgJiYgYltkcS5iYWNrKCldID49IGJbaV0pCiAgICAgICAgICAgIGRxLnBvcF9iYWNrKCk7CiAgICAgICAgZHEucHVzaF9iYWNrKGkpOwogICAgICAgIGlmKGRxLmZyb250KCkgPCBpIC0gayArIDEpIGRxLnBvcF9mcm9udCgpOwoKICAgICAgICBpZihpID49IGspcmVzdWx0ID0gbWF4KHJlc3VsdCAsIGJbZHEuZnJvbnQoKV0pOwogICAgfQp9Cgp2b2lkIHNvbHZlKCl7CiAgICBjaW4gPj4gbSA+PiBuID4+IGs7CiAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBtIDsgaSsrKQogICAgICAgIGZvcihpbnQgaiA9IDEgOyBqIDw9IG4gOyBqKyspCiAgICAgICAgICAgIGNpbiA+PiBhW2ldW2pdOwoKICAgIGZvcihpbnQgaiA9IDEgOyBqIDw9IG4gOyBqKyspewogICAgICAgIGZvcihpbnQgaSA9IDEgOyBpIDw9IGsgLSAxIDsgaSsrKXsKICAgICAgICAgICAgd2hpbGUoIXFbal0uZW1wdHkoKSAmJiBhW3Fbal0uYmFjaygpXVtqXSA+PSBhW2ldW2pdKSAKICAgICAgICAgICAgICAgIHFbal0ucG9wX2JhY2soKTsKICAgICAgICAgICAgcVtqXS5wdXNoX2JhY2soaSk7CiAgICAgICAgfQogICAgfQoKICAgIGZvcihpbnQgaSA9IGsgOyBpIDw9IG0gOyBpKyspewogICAgICAgIGZvcihpbnQgaiA9IDEgOyBqIDw9IG4gOyBqKyspewogICAgICAgICAgICB3aGlsZSghcVtqXS5lbXB0eSgpICYmIGFbcVtqXS5iYWNrKCldW2pdID49IGFbaV1bal0pIAogICAgICAgICAgICAgICAgcVtqXS5wb3BfYmFjaygpOwogICAgICAgICAgICBxW2pdLnB1c2hfYmFjayhpKTsKICAgICAgICAgICAgaWYocVtqXS5mcm9udCgpIDwgaSAtIGsgKyAxKSBxW2pdLnBvcF9mcm9udCgpOwoKICAgICAgICB9CiAgICAgICAgY2FsYygpOwogICAgfQoKICAgIGNvdXQgPDwgcmVzdWx0IDw8IGVuZGw7Cn0KCmludDMyX3QgbWFpbigpewogICAgLy9GaWxlSW5wdXQoKTsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKICAgIGludCB0ID0gMTsKICAgIC8vIGNpbiA+PiB0OwogICAgd2hpbGUodC0tKQogICAgICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQo=