#include<bits/stdc++.h>
using namespace std;
int tab[1001][1001],sp[1001][1001],n;
int odp(int w){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(tab[j][i]>=w) sp[j][i]=1;
else sp[j][i]=-1;
sp[j][i]+=max(sp[j-1][i],sp[j][i-1]);
}
}
return sp[n][n];
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(i==0||j==0) sp[j][i]=-1000000001;
else cin>>tab[j][i];
}
}
sp[0][1]=0;
int p=-1,k=1e9+1,sr;
while(k-p>1){
sr=(p+k)/2;
if(odp(sr)>=0) p=sr;
else k=sr;
}
cout<<p;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IHRhYlsxMDAxXVsxMDAxXSxzcFsxMDAxXVsxMDAxXSxuOwoKaW50IG9kcChpbnQgdyl7Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJZm9yKGludCBqPTE7ajw9bjtqKyspewoJCQlpZih0YWJbal1baV0+PXcpIHNwW2pdW2ldPTE7CgkJCWVsc2Ugc3Bbal1baV09LTE7CgkJCXNwW2pdW2ldKz1tYXgoc3Bbai0xXVtpXSxzcFtqXVtpLTFdKTsKCQl9Cgl9CglyZXR1cm4gc3Bbbl1bbl07Cn0KCgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7CgljaW4+Pm47Cglmb3IoaW50IGk9MDtpPD1uO2krKyl7CgkJZm9yKGludCBqPTA7ajw9bjtqKyspewoJCQlpZihpPT0wfHxqPT0wKSBzcFtqXVtpXT0tMTAwMDAwMDAwMTsKCQkJZWxzZSAgY2luPj50YWJbal1baV07CgkJfQoJfQoJc3BbMF1bMV09MDsKCWludCBwPS0xLGs9MWU5KzEsc3I7Cgl3aGlsZShrLXA+MSl7CgkJc3I9KHAraykvMjsKCQlpZihvZHAoc3IpPj0wKSBwPXNyOwoJCWVsc2Ugaz1zcjsKCX0KCWNvdXQ8PHA7Cn0=