#include<bits/stdc++.h>
using namespace std;
int getVal(std::vector<int> v, int i) {
if (i == -1)
return INT_MIN;
if (i == v.size())
return INT_MAX;
return v[i];
}
int getIndices(int rShort, std::vector<int> aShort, std::vector<int> aLong) {
int midIndex = (aShort.size() + aLong.size()) / 2;
int rLong = midIndex - rShort ;
return rLong;
}
int getDirection(int lShort, int rShort, int lLong, int rLong, vector<int> aShort, vector<int> aLong) {
if (getVal(aShort, lShort) > getVal(aLong, rLong))
return -1;
if (getVal(aLong, lLong) > getVal(aShort, rShort))
return 1;
return 0;
}
double getResult(int lShort, int rShort, int lLong, int rLong, vector<int> aShort, vector<int> aLong) {
int odd;
odd = (aShort.size() + aLong.size()) % 2;
if (odd) {
return min(getVal(aShort, rShort), getVal(aLong, rLong));
}
return min(max(getVal(aShort, lShort), getVal(aLong, lLong)) , min(getVal(aShort, rShort), getVal(aLong, rLong)));
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n;
cin >> n;
if(n <= 0) return 0;
vector<int> aShort, aLong;
for (int i = 0; i < n; i++) {
int j;
cin >> j;
aShort.push_back(j);
}
for (int i = 0; i < n; i++) {
int j;
cin >> j;
aLong.push_back(j);
}
int lShort = 1, rShort = 1, lLong = 1, rLong = 1, d = 1, l = 0, r = n;
int m = 0;
while (d != 0) {
m = l + (r - l) / 2;
rShort = m;
rLong = getIndices(m, aShort, aLong);
lLong = rLong - 1;
lShort = rShort - 1;
d = getDirection(lShort, rShort, lLong, rLong, aShort, aLong);
if (d < 0)
r = m - 1;
if (d > 0)
l = m + 1;
}
int result = getResult(lShort, rShort, lLong, rLong, aShort, aLong);
cout << result << endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZ2V0VmFsKHN0ZDo6dmVjdG9yPGludD4gdiwgaW50IGkpIHsKCWlmIChpID09IC0xKQoJCXJldHVybiBJTlRfTUlOOwoJaWYgKGkgPT0gdi5zaXplKCkpCgkJcmV0dXJuIElOVF9NQVg7CglyZXR1cm4gdltpXTsKfQoKaW50IGdldEluZGljZXMoaW50IHJTaG9ydCwgc3RkOjp2ZWN0b3I8aW50PiBhU2hvcnQsIHN0ZDo6dmVjdG9yPGludD4gYUxvbmcpIHsKCWludCBtaWRJbmRleCA9IChhU2hvcnQuc2l6ZSgpICsgYUxvbmcuc2l6ZSgpKSAvIDI7CglpbnQgckxvbmcgPSBtaWRJbmRleCAtIHJTaG9ydCA7CglyZXR1cm4gckxvbmc7Cn0KCgppbnQgZ2V0RGlyZWN0aW9uKGludCBsU2hvcnQsIGludCByU2hvcnQsIGludCBsTG9uZywgaW50IHJMb25nLCB2ZWN0b3I8aW50PiBhU2hvcnQsIHZlY3RvcjxpbnQ+IGFMb25nKSB7CglpZiAoZ2V0VmFsKGFTaG9ydCwgbFNob3J0KSA+IGdldFZhbChhTG9uZywgckxvbmcpKQoJCXJldHVybiAtMTsKCglpZiAoZ2V0VmFsKGFMb25nLCBsTG9uZykgPiBnZXRWYWwoYVNob3J0LCByU2hvcnQpKQoJCXJldHVybiAxOwoKCXJldHVybiAwOwp9Cgpkb3VibGUgZ2V0UmVzdWx0KGludCBsU2hvcnQsIGludCByU2hvcnQsIGludCBsTG9uZywgaW50IHJMb25nLCB2ZWN0b3I8aW50PiBhU2hvcnQsIHZlY3RvcjxpbnQ+IGFMb25nKSB7CglpbnQgb2RkOwoJb2RkID0gKGFTaG9ydC5zaXplKCkgKyBhTG9uZy5zaXplKCkpICUgMjsKCWlmIChvZGQpIHsKCQlyZXR1cm4gbWluKGdldFZhbChhU2hvcnQsIHJTaG9ydCksIGdldFZhbChhTG9uZywgckxvbmcpKTsKCX0KCXJldHVybiBtaW4obWF4KGdldFZhbChhU2hvcnQsIGxTaG9ydCksIGdldFZhbChhTG9uZywgbExvbmcpKSAsIG1pbihnZXRWYWwoYVNob3J0LCByU2hvcnQpLCBnZXRWYWwoYUxvbmcsIHJMb25nKSkpOwp9CgppbnQgbWFpbigpCnsKI2lmbmRlZiBPTkxJTkVfSlVER0UKCWZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwoJZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCgoJaW50IG47CgljaW4gPj4gbjsKCWlmKG4gPD0gMCkgcmV0dXJuIDA7Cgl2ZWN0b3I8aW50PiBhU2hvcnQsIGFMb25nOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQlpbnQgajsKCQljaW4gPj4gajsKCQlhU2hvcnQucHVzaF9iYWNrKGopOwoJfQoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQlpbnQgajsKCQljaW4gPj4gajsKCQlhTG9uZy5wdXNoX2JhY2soaik7Cgl9CgoJaW50IGxTaG9ydCA9IDEsIHJTaG9ydCA9IDEsIGxMb25nID0gMSwgckxvbmcgPSAxLCBkID0gMSwgbCA9IDAsIHIgPSBuOwoJaW50IG0gPSAwOwoKCXdoaWxlIChkICE9IDApIHsKCQltID0gbCArIChyIC0gbCkgLyAyOwoJCXJTaG9ydCA9IG07CgkJckxvbmcgPSBnZXRJbmRpY2VzKG0sIGFTaG9ydCwgYUxvbmcpOwoJCWxMb25nID0gckxvbmcgLSAxOwoJCWxTaG9ydCA9IHJTaG9ydCAtIDE7CgkJZCA9IGdldERpcmVjdGlvbihsU2hvcnQsIHJTaG9ydCwgbExvbmcsIHJMb25nLCBhU2hvcnQsIGFMb25nKTsKCQlpZiAoZCA8IDApCgkJCXIgPSBtIC0gMTsKCQlpZiAoZCA+IDApCgkJCWwgPSBtICsgMTsKCX0KCglpbnQgcmVzdWx0ID0gZ2V0UmVzdWx0KGxTaG9ydCwgclNob3J0LCBsTG9uZywgckxvbmcsIGFTaG9ydCwgYUxvbmcpOwoJY291dCA8PCByZXN1bHQgPDwgZW5kbDsKCglyZXR1cm4gMDsKCn0=