#include<bits/stdc++.h>
#include <vector>
#include <iostream>
#include <algorithm>
#include <string>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <numeric>
#include <bitset>
#define endl '\n'
#define ll long long
#define all(n) n.begin() , n.end( )
#define vi vector<int>
#define vvi vector<vi>
#define int long long
#define pii pair<int,int>
#define vpii vector<pair<int,int>>
#define mii map<int,int>
#define si set<int>
#define input(v,n) for(int i = 0 ; i< n ; i++) cin >> v[i]
#define output(v) for(auto it : v) cout << it << endl;
#define IS_POWER_OF_TWO(n) ((n) && !((n) & ((n) - 1)))
#define bug(...) _f (#__VA_ARGS__,__VA_ARGS__)
#define lb(x,w,z) for(int x=w;x<z;x++)
#define FOR (x,y) for(auto x:y)
#define revlop(a,b,c) for(int a=b;a>=c;a--)
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>
// using namespace std;
// using namespace __gnu_pbds;
// template<class t> using ordered_multiset = tree<t, null_type, less<t>, rb_tree_tag, tree_order_statistics_node_update>;
//---------------------------------------------------------------
int dx[] = {0, 0, -1, 1, -1, -1, 1, 1};
int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};
using namespace std;
void fast() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
// const ll N= 2e6+5;
// ll pre[N],pre2[N],next_arr[N],arr[N],bb[N] ;
/*
ll sqrtt(ll n){
ll l{},r= 1000000000+1,mid;
while(r-l>1){
mid = l+(r-l)/2;
if( mid * mid > n )r=mid;
else l =mid;
}
return l;
}
ll lcm ( ll a , ll b)
{
return (a*b)/gcd(a,b);
}
ll fast_power(ll a,ll b , int mod){
ll ans=1;
while(b){
if(b&1){
ans*=a;
ans%=mod;
}
a*=a;
a%=mod;
b = (b>>1);
}
return ans;
}
/*
ll gcd ( ll a, ll b)
{
if ( b == 0 )
return a;
return gcd(b, a%b);
}
vector<int> vis(N);
vector<int> prime(N ) ;
void get_prime(){
prime[0] = 0 , prime[1] = 1 ;
for (int i = 2 ; i<= N ; i++){
if ( !prime[i] ){
for (int j = i ; j <= N ; j+=i)
prime[j] = i ;
}
}
}
vi prims(N);
void seive(int n ){
prims[0] = prims[1] = 1;
for (int i = 2 ; i* i <= n ; i++){
if ( !prims[i] ){
prims[i] = 0 ;
for (int j = 2*i ; j <= n ; j+=i ){
prims[j] = 1;
}
}
}
}
vector<int> prim_fac(ll n ){
vector<int> v;
for (int i = 2 ; i*i <= n ;i ++ ){
while (n != 1 ){
if ( n % i == 0 ){
n/=i;
v.push_back(i);
}
else break;
}
}
return v;
}
bool is_prime(int n)
{
bool isprime = true;
if ( n == 1)
return false;
for (int i = 2 ; i * i <= n ; i++)
{
if ( n %i == 0 )
isprime = false;
}
return isprime;
}*/
const ll oo = 1e18+2 , mod = 1e9+7 ;
const int N = 2e4+5 , M = 1e6+5;
int ans = 0 ;
map<pair<int,int>, int >vis;
map<int , map<int,int>> mp;
map<int,int> calc;
bool flag = false;
int s, n, m ;
int dxx[] = {0, 0, 1, -1};
int dyy[] = {1, -1, 0, 0};
bool valid ( int i , int j ){
return i>= 0 && i<n && j >= 0 && j<m;
}
int cont = 0;
void dfs (int mid ,int i , int j , vector<vector<ll>> &grid ){
vis[{i,j}] = 1 ;
cont ++;
if ( cont >= s ){
ans = max ( mid , ans );
flag = true;
return;
}
calc[mid] = cont;
if ( !flag ){
for (int k = 0 ; k < 4 ; k ++ ){
int x = i + dxx[k];
int y = j + dyy[k];
if ( valid( x, y) && grid[x][y] >= mid && !vis[{x , y}] ){
dfs( mid , x, y, grid);
}
}
}
}
void solve( ){
cin >> s >> n >> m ;
set<int>st;
int mx = 0;
vector<vector<ll>>grid(n+5,vector<ll>(m+5,0));
map<int, vector<pii>> mp;
vector<int > v;
for (int i =0 ; i < n;i ++ ){
for (int j = 0 ; j < m; j ++ ){
cin >> grid[i][j];
st.insert(grid[i][j]);
mx = max ( mx , grid[i][j]);
mp[grid[i][j]].push_back( { i , j } );
}
}
for (auto it : st ){
v.push_back((it));
}
int l = 1 , r = mx ;
while ( r >= l ){
int mid = ( r + l ) /2 ;
if ( mid <= ( *st.begin())){
l = mid + 1 ;
ans = max ( l -1 , ans ) ;
}
else {
auto it = st.lower_bound(mid);
for (auto i = it ; i != st.end() ; i++ ){
int val = *i;
if ( flag){
break;
}
for (auto it : mp[val]){ // map<int , vector<pair>> { ( 1, 2 ), , ( 3,4) }
if ( !flag && !vis[ it] ){
dfs( mid , it.first , it.second , grid );
cont = 0 ;
}
else {
break;
}
}
}
vis.clear();
if( flag ){
l = mid + 1 ;
}
else {
r = mid - 1;
}
flag = false;
}
}
cout << ans << endl;
}
signed main( )
{
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
//#endif
fast();
int t =1;
clock_t w =clock();
// cin >> t ;
while ( t -- ){
solve();
}
// cerr << "Run time : " << ((double) (clock() - w) / CLOCKS_PER_SEC);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxudW1lcmljPgojaW5jbHVkZSA8Yml0c2V0PgojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGFsbChuKSBuLmJlZ2luKCkgLCBuLmVuZCggKQojZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiNkZWZpbmUgdnZpIHZlY3Rvcjx2aT4KI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSB2cGlpIHZlY3RvcjxwYWlyPGludCxpbnQ+PgojZGVmaW5lIG1paSBtYXA8aW50LGludD4KI2RlZmluZSBzaSBzZXQ8aW50PgojZGVmaW5lIGlucHV0KHYsbikgZm9yKGludCBpID0gMCA7IGk8IG4gOyBpKyspIGNpbiA+PiB2W2ldCiNkZWZpbmUgb3V0cHV0KHYpICBmb3IoYXV0byBpdCA6IHYpIGNvdXQgPDwgaXQgPDwgZW5kbDsKI2RlZmluZSBJU19QT1dFUl9PRl9UV08obikgKChuKSAmJiAhKChuKSAmICgobikgLSAxKSkpCiNkZWZpbmUgYnVnKC4uLikgX2YgKCNfX1ZBX0FSR1NfXyxfX1ZBX0FSR1NfXykKI2RlZmluZSBsYih4LHcseikgZm9yKGludCB4PXc7eDx6O3grKykKI2RlZmluZSBGT1IgKHgseSkgZm9yKGF1dG8geDp5KQojZGVmaW5lIHJldmxvcChhLGIsYykgZm9yKGludCBhPWI7YT49YzthLS0pCiAKLy8gI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgovLyAjaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KLy8gdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy8gdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7Ci8vIHRlbXBsYXRlPGNsYXNzIHQ+IHVzaW5nIG9yZGVyZWRfbXVsdGlzZXQgPSB0cmVlPHQsIG51bGxfdHlwZSwgbGVzczx0PiwgcmJfdHJlZV90YWcsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT47Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKaW50IGR4W10gPSB7MCwgMCwgLTEsIDEsIC0xLCAtMSwgMSwgMX07CmludCBkeVtdID0gezEsIC0xLCAwLCAwLCAxLCAtMSwgMSwgLTF9OwogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgZmFzdCgpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwp9CiAKLy8gY29uc3QgbGwgIE49IDJlNis1OwovLyBsbCAgcHJlW05dLHByZTJbTl0sbmV4dF9hcnJbTl0sYXJyW05dLGJiW05dIDsKLyoKIApsbCBzcXJ0dChsbCBuKXsKbGwgbHt9LHI9IDEwMDAwMDAwMDArMSxtaWQ7CndoaWxlKHItbD4xKXsKICAgIG1pZCA9IGwrKHItbCkvMjsKICAgIGlmKCBtaWQgKiBtaWQgPiBuIClyPW1pZDsKICAgIGVsc2UgbCA9bWlkOwp9CnJldHVybiBsOwp9CiAKbGwgbGNtICggbGwgYSAsIGxsIGIpCnsKICAgIHJldHVybiAoYSpiKS9nY2QoYSxiKTsKfQogCmxsIGZhc3RfcG93ZXIobGwgYSxsbCBiICwgaW50IG1vZCl7CiAgICBsbCBhbnM9MTsKICAgIHdoaWxlKGIpewogICAgaWYoYiYxKXsKICAgICAgICBhbnMqPWE7CiAgICAgICAgYW5zJT1tb2Q7CiAgICB9CiAgICBhKj1hOwogICAgYSU9bW9kOwogICAgYiA9IChiPj4xKTsKfQpyZXR1cm4gYW5zOwp9Ci8qCmxsIGdjZCAoIGxsIGEsIGxsIGIpCnsKICAgIGlmICggYiA9PSAwICkKICAgICAgICByZXR1cm4gYTsKICAgIHJldHVybiBnY2QoYiwgYSViKTsKfQp2ZWN0b3I8aW50PiB2aXMoTik7CnZlY3RvcjxpbnQ+IHByaW1lKE4gKSA7CnZvaWQgZ2V0X3ByaW1lKCl7CiAgICBwcmltZVswXSA9IDAgLCBwcmltZVsxXSA9IDEgOwogICAgZm9yIChpbnQgaSA9IDIgOyBpPD0gTiA7IGkrKyl7CiAgICAgICAgaWYgKCAhcHJpbWVbaV0gICl7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpIDsgaiA8PSBOIDsgais9aSkKICAgICAgICAgICAgICAgIHByaW1lW2pdID0gaSA7CiAKICAgICAgICB9CiAgICB9Cn0KIAp2aSBwcmltcyhOKTsKdm9pZCBzZWl2ZShpbnQgbiApewogICAgcHJpbXNbMF0gPSBwcmltc1sxXSA9IDE7CiAgICBmb3IgKGludCAgaSA9IDIgOyBpKiBpIDw9IG4gOyBpKyspewogICAgICAgIGlmICggIXByaW1zW2ldICl7CiAgICAgICAgICAgIHByaW1zW2ldICA9IDAgOwogICAgICAgICAgICBmb3IgKGludCBqID0gMippIDsgaiA8PSBuIDsgais9aSApewogICAgICAgICAgICAgICAgcHJpbXNbal0gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CiAKdmVjdG9yPGludD4gcHJpbV9mYWMobGwgbiApewogICAgdmVjdG9yPGludD4gdjsKICAgIGZvciAoaW50IGkgPSAyIDsgaSppIDw9IG4gO2kgKysgKXsKICAgICAgICB3aGlsZSAobiAhPSAxICl7CiAgICAgICAgICAgIGlmICggbiAlIGkgPT0gMCApewogICAgICAgICAgICAgICAgbi89aTsKICAgICAgICAgICAgICAgIHYucHVzaF9iYWNrKGkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHY7Cn0KIApib29sIGlzX3ByaW1lKGludCBuKQp7CiAgICBib29sIGlzcHJpbWUgPSB0cnVlOwogICAgaWYgKCBuID09IDEpCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgZm9yIChpbnQgaSA9IDIgOyBpICogaSA8PSBuIDsgaSsrKQogICAgewogICAgICAgIGlmICggbiAlaSA9PSAwICkKICAgICAgICAgICAgaXNwcmltZSA9IGZhbHNlOwogICAgfQogICAgcmV0dXJuIGlzcHJpbWU7Cn0qLwogCiAKIApjb25zdCAgbGwgb28gPSAxZTE4KzIgLCBtb2QgPSAxZTkrNyA7CmNvbnN0ICBpbnQgTiA9IDJlNCs1ICwgTSA9IDFlNis1OwogCiAKIAppbnQgYW5zID0gMCA7Cm1hcDxwYWlyPGludCxpbnQ+LCBpbnQgPnZpczsKbWFwPGludCAsIG1hcDxpbnQsaW50Pj4gbXA7Cm1hcDxpbnQsaW50PiBjYWxjOwogCmJvb2wgZmxhZyA9IGZhbHNlOwogCmludCBzLCBuLCBtIDsKIAppbnQgZHh4W10gPSB7MCwgMCwgMSwgLTF9OwppbnQgZHl5W10gPSB7MSwgLTEsIDAsIDB9OwogCmJvb2wgdmFsaWQgKCBpbnQgaSAsIGludCBqICl7CiAgICByZXR1cm4gaT49IDAgJiYgaTxuICYmIGogPj0gMCAmJiBqPG07Cn0KIAppbnQgY29udCA9IDA7CiAKdm9pZCBkZnMgKGludCBtaWQgLGludCBpICwgaW50IGogICwgICB2ZWN0b3I8dmVjdG9yPGxsPj4gJmdyaWQgKXsKICAgIHZpc1t7aSxqfV0gPSAxIDsKICAgIGNvbnQgKys7CiAgICBpZiAoIGNvbnQgPj0gcyApewogICAgICAgIGFucyA9IG1heCAoIG1pZCAsIGFucyApOwogICAgICAgIGZsYWcgPSB0cnVlOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGNhbGNbbWlkXSA9IGNvbnQ7CiAgICBpZiAoICFmbGFnICl7CiAgICAgICAgZm9yIChpbnQgayA9IDAgOyAgayA8IDQgOyBrICsrICl7CiAgICAgICAgICAgIGludCB4ID0gaSArIGR4eFtrXTsKICAgICAgICAgICAgaW50IHkgPSBqICsgZHl5W2tdOwogICAgICAgICAgICBpZiAoIHZhbGlkKCB4LCB5KSAmJiBncmlkW3hdW3ldID49IG1pZCAmJiAhdmlzW3t4ICwgeX1dICApewogICAgICAgICAgICAgICAgZGZzKCBtaWQgLCB4LCB5LCBncmlkKTsKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICB9Cn0KIAp2b2lkIHNvbHZlKCApewogICAgY2luICA+PiBzID4+IG4gPj4gbSA7CiAgICBzZXQ8aW50PnN0OwogICAgaW50IG14ID0gMDsKICAgIHZlY3Rvcjx2ZWN0b3I8bGw+PmdyaWQobis1LHZlY3RvcjxsbD4obSs1LDApKTsKICAgIG1hcDxpbnQsIHZlY3RvcjxwaWk+PiBtcDsKICAgIHZlY3RvcjxpbnQgPiB2OwogICAgZm9yIChpbnQgaSA9MCAgOyBpIDwgbjtpICsrICl7CiAgICAgICAgZm9yIChpbnQgaiA9IDAgOyBqIDwgbTsgaiArKyApewogICAgICAgICAgICBjaW4gPj4gZ3JpZFtpXVtqXTsKICAgICAgICAgICAgc3QuaW5zZXJ0KGdyaWRbaV1bal0pOwogICAgICAgICAgICBteCA9IG1heCAoIG14ICwgZ3JpZFtpXVtqXSk7CiAgICAgICAgICAgIG1wW2dyaWRbaV1bal1dLnB1c2hfYmFjayggeyBpICwgaiB9ICk7CiAgICAgICAgfQogICAgfQogICAgZm9yIChhdXRvIGl0IDogc3QgKXsKICAgICAgICB2LnB1c2hfYmFjaygoaXQpKTsKICAgIH0KICAgIGludCBsID0gMSAsIHIgPSBteCA7CiAgICB3aGlsZSAoIHIgPj0gbCApewogICAgICAgIGludCBtaWQgPSAoIHIgKyBsICkgLzIgOwogICAgICAgIGlmICggbWlkIDw9ICggKnN0LmJlZ2luKCkpKXsKICAgICAgICAgICAgbCAgPSBtaWQgKyAxIDsKICAgICAgICAgICAgYW5zID0gbWF4ICggbCAtMSAsIGFucyAgKSA7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBhdXRvIGl0ID0gc3QubG93ZXJfYm91bmQobWlkKTsKICAgICAgICAgICAgZm9yIChhdXRvIGkgPSBpdCA7IGkgIT0gc3QuZW5kKCkgOyBpKysgKXsKICAgICAgICAgICAgICAgIGludCB2YWwgPSAqaTsKICAgICAgICAgICAgICAgIGlmICggZmxhZyl7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IgKGF1dG8gaXQgOiBtcFt2YWxdKXsgLy8gbWFwPGludCAsIHZlY3RvcjxwYWlyPj4geyAoIDEsIDIgKSwgLCAoIDMsNCkgfQogICAgICAgICAgICAgICAgICAgIGlmICggIWZsYWcgJiYgIXZpc1sgaXRdICl7CiAgICAgICAgICAgICAgICAgICAgICAgIGRmcyggbWlkICwgIGl0LmZpcnN0ICwgaXQuc2Vjb25kICAsIGdyaWQgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnQgPSAwIDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB2aXMuY2xlYXIoKTsKICAgICAgICAgICAgaWYoIGZsYWcgKXsKICAgICAgICAgICAgICAgIGwgPSBtaWQgKyAgMSA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByID0gbWlkIC0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmbGFnID0gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBhbnMgPDwgZW5kbDsKIAp9CiAKIApzaWduZWQgbWFpbiggKQp7CiAgICAvLyAgIGZyZW9wZW4oImlucHV0LnR4dCIsInIiLHN0ZGluKTsKICAgIC8vICBmcmVvcGVuKCJvdXRwdXQudHh0IiwidyIsc3Rkb3V0KTsKLy8jZW5kaWYKICAgIGZhc3QoKTsKICAgIGludCB0ID0xOwogICAgY2xvY2tfdCB3ID1jbG9jaygpOwogICAgLy8gY2luID4+IHQgOwogICAgd2hpbGUgKCB0IC0tICl7CiAgICAgICAgc29sdmUoKTsKICAgIH0KIAovLyBjZXJyIDw8ICJSdW4gdGltZSA6ICIgPDwgKChkb3VibGUpIChjbG9jaygpIC0gdykgLyBDTE9DS1NfUEVSX1NFQyk7Cn0=