#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(){
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;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApjb25zdCBpbnQgTWF4Tj0xZTU7CmNvbnN0IGludCBNYXhBPTFlOTsKaW50IE4sIE07CmludCBBW01heE5dOwppbnQgQltNYXhOXTsKIAppbnQgbWFpbigpewoJY2luPj5OPj5NOwoJZm9yKGludCBuPTA7IG48Tjsgbis9MSkKCQljaW4+PkFbbl07Cglmb3IoaW50IG09MDsgbTxNOyBtKz0xKQoJCWNpbj4+QlttXTsKCXNvcnQoQSxBK04pOwoJc29ydChCLEIrTSk7Cglsb25nIFc9MDsKCWZvcihpbnQgbT0wLCBuPTA7IG48Tjsgbis9MSl7CgkJd2hpbGUobTxNICYmIEJbbV08QVtuXSkKCQkJbSs9MTsKCQlXKz1tOwoJfQoJbG9uZyBMPTA7Cglmb3IoaW50IG49MCwgbT0wOyBtPE07IG0rPTEpewoJCXdoaWxlKG48TiAmJiBBW25dPEJbbV0pCgkJCW4rPTE7CgkJTCs9bjsKCX0KIAoJaW50IGw9TSwgeT0wOwoJZm9yKGludCB3PTAsIG49MDsgbjxOOyBuKz0xKXsKCQl3aGlsZSh3PE0gJiYgQlt3XSA8QVtuXSkKCQkJdys9MTsKCQl3aGlsZSh5PE0gJiYgQlt5XTw9QVtuXSl7CgkJCXkrPTE7CgkJCWwtPTE7CgkJfQoJCWlmKCB3Pj1sICYmIHcrVz5sK0wgKXsKCQkJY291dDw8QVtuXTsKCQkJcmV0dXJuIDA7CgkJfQoJfQoJY291dDw8LTE7Cn0=