#include <bits/stdc++.h>
using namespace std;
#define int long long
int getRandom(int l, int r) {
static mt19937_64 gen(random_device{}());
uniform_int_distribution<int> dis(l, r);
return dis(gen);
}
const int N = 3e5+5;
int a[N];
unordered_map<int, int> pos;
// for(int i=1; i<=n; i++)
void solve(){
int n, k; cin >> n >> k;
for(int i=1; i<=n+k; i++) cin >> a[i], pos[a[i]] = i;
sort(a+1, a+n+1);
// int l = 1, r = 1e9 / ((n+1)/2);
int l = 1, r = 1000;
int T = 1000;
while(T--){
int dif = getRandom(l, r);
// cout << dif << endl;
vector<int> dp(n+k+1);
for(int i=1; i<=n+k; i++){
dp[i] = dp[i-1];
if(a[i]-dif >= 1 and pos[a[i]-dif]) dp[i] = max(dp[i], dp[pos[a[i]-dif]-1] + 2);
}
if(dp[n+k] < n) continue;
cout << dif;
return;
}
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
}