#include<bits/stdc++.h>
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fd(i,a,b) for(i=a;i>=b;i--)
using namespace std;
const int maxn=100000+10;
int a[maxn*2],b[maxn*2];
bool bz[maxn*2];
int i,j,k,l,r,mid,t,n,m;
bool check(int ans){
    int i,j,k,t;
    fo(i,1,2*n-1) b[i]=(a[i]>ans);
    fo(i,1,2*n-1) bz[i]=0;
    fo(i,1,2*n-2)
        if (b[i]==b[i+1]) bz[i]=bz[i+1]=1;
    if (b[n]==0&&bz[n]) return 1;
    fd(j,n,0)
        if (!j||bz[j]) break;
    fo(k,n,2*n)
        if (k>2*n-1||bz[k]) break;
    if (j&&k<=2*n-1){
        if (b[j]==0&&b[k]==0) return 1;
        if (b[j]==1&&b[k]==0&&k-n<n-j) return 1;
        if (b[j]==0&&b[k]==1&&n-j<k-n) return 1;
    }
    else{
        if (j&&b[j]==0) return 1;
        if (k<=2*n-1&&b[k]==0) return 1;
        t=0;
        fo(i,1,2*n-1)
            if (!b[i]) t++;else t--;
        if (t>0) return 1;
    }
    return 0;
}
int main(){
    scanf("%d",&n);
    fo(i,1,2*n-1) scanf("%d",&a[i]);
    l=1;r=2*n-1;
    while (l<r){
        mid=(l+r)/2;
        if (check(mid)) r=mid;else l=mid+1;
    }
    printf("%d\n",l);
}