#include<bits/stdc++.h>
using namespace std;
const int MaxN=1e5;
const int MaxA=1e9;
int N, M;
int A[MaxN];
int B[MaxN];
int main(){
// input
cin>>N>>M;
for(int n=0; n<N; n+=1)
cin>>A[n];
for(int m=0; m<M; m+=1)
cin>>B[m];
//
sort(A,A+N);
sort(B,B+M);
long W=0;
for(int m=0, n=0; n<N; n+=1){
while(m<M && B[m]<A[n])
m+=1;
W+=m;
}
long L=0;
for(int n=0, m=0; m<M; m+=1){
while(n<N && A[n]<B[m])
n+=1;
L+=n;
}
int l=M, y=0;
for(int w=0, n=0; n<N; n+=1){
while(w<M && B[w] <A[n])
w+=1;
while(y<M && B[y]<=A[n]){
y+=1;
l-=1;
}
if( w>=l && w+W>l+L ){
cout<<A[n];
return 0;
}
}
cout<<-1;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNYXhOPTFlNTsKY29uc3QgaW50IE1heEE9MWU5OwppbnQgTiwgTTsKaW50IEFbTWF4Tl07CmludCBCW01heE5dOwoKaW50IG1haW4oKXsKCS8vIGlucHV0CgljaW4+Pk4+Pk07Cglmb3IoaW50IG49MDsgbjxOOyBuKz0xKQoJCWNpbj4+QVtuXTsKCWZvcihpbnQgbT0wOyBtPE07IG0rPTEpCgkJY2luPj5CW21dOwoJLy8gCglzb3J0KEEsQStOKTsKCXNvcnQoQixCK00pOwoJbG9uZyBXPTA7Cglmb3IoaW50IG09MCwgbj0wOyBuPE47IG4rPTEpewoJCXdoaWxlKG08TSAmJiBCW21dPEFbbl0pCgkJCW0rPTE7CgkJVys9bTsKCX0KCWxvbmcgTD0wOwoJZm9yKGludCBuPTAsIG09MDsgbTxNOyBtKz0xKXsKCQl3aGlsZShuPE4gJiYgQVtuXTxCW21dKQoJCQluKz0xOwoJCUwrPW47Cgl9CgkKCWludCBsPU0sIHk9MDsKCWZvcihpbnQgdz0wLCBuPTA7IG48Tjsgbis9MSl7CgkJd2hpbGUodzxNICYmIEJbd10gPEFbbl0pCgkJCXcrPTE7CgkJd2hpbGUoeTxNICYmIEJbeV08PUFbbl0pewoJCQl5Kz0xOwoJCQlsLT0xOwoJCX0KCQlpZiggdz49bCAmJiB3K1c+bCtMICl7CgkJCWNvdXQ8PEFbbl07CgkJCXJldHVybiAwOwoJCX0KCX0KCWNvdXQ8PC0xOwp9