#include <bits/stdc++.h>
using namespace std;
const int MaxN=2e5;
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++)
cin>>A[n];
for(int m=0;m<M;m++){
cin>>B[m];
B[m]+=1;
}
//由小到大枚舉對變化量有影響的價格
sort(A,A+N);
sort(B,B+M);
int n=0;//seller
int m=M;//buyer
int a=0;
int b=0;
while(m>n){
int x=(a<N || b<M && A[a]<=B[b])?A[a]:B[b];
for(;a<N && A[a]==x;a++)
n+=1;
for(;b<M && B[b]==x ; b+=1)
m-=1;
if(m<=n){
cout<<x;
return 0;
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTWF4Tj0yZTU7CmNvbnN0IGludCBNYXhBPTFlOTsKaW50IE4sTTsKaW50IEFbTWF4Tl07CmludCBCW01heE5dOwoKaW50IG1haW4oKSB7CgljaW4+Pk4+Pk07Cglmb3IoaW50IG49MDtuPE47bisrKQoJICBjaW4+PkFbbl07Cglmb3IoaW50IG09MDttPE07bSsrKXsKCQljaW4+PkJbbV07CgkJQlttXSs9MTsKCX0KCS8v55Sx5bCP5Yiw5aSn5p6a6IiJ5bCN6K6K5YyW6YeP5pyJ5b2x6Z+/55qE5YO55qC8Cglzb3J0KEEsQStOKTsKCXNvcnQoQixCK00pOwoJaW50IG49MDsvL3NlbGxlcgoJaW50IG09TTsvL2J1eWVyCglpbnQgYT0wOwoJaW50IGI9MDsKCXdoaWxlKG0+bil7CgkJaW50IHg9KGE8TiB8fCBiPE0gJiYgQVthXTw9QltiXSk/QVthXTpCW2JdOwoJCWZvcig7YTxOICYmIEFbYV09PXg7YSsrKQoJCSAgbis9MTsKCQlmb3IoO2I8TSAmJiBCW2JdPT14IDsgYis9MSkKCQkgIG0tPTE7CgkJaWYobTw9bil7CgkJCWNvdXQ8PHg7CgkJCXJldHVybiAwOwoJCX0KCX0KCQp9