#include <bits/stdc++.h>
using namespace std;
bool check(vector<int>& a, vector<int>& b, int mid) {
int cnt = 0;
int i = 0, j = 0;
while (i < a.size() && j < b.size()) {
if (abs(a[i] - b[j]) <= mid) {
cnt++;
i++;
j++;
} else if (a[i] < b[j]) i++;
else j++;
}
return cnt == min(a.size(), b.size());
}
int main() {
int n, m;
cin >> n >> m;
vector<int> a(n), b(m);
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < m; i++) cin >> b[i];
sort(a.begin(), a.end());
sort(b.begin(), b.end());
int left = 0, right = max(a.back(), b.back()) - min(a[0], b[0]);
while (left < right) {
int mid = left + (right - left) / 2;
if (check(a, b, mid)) right = mid;
else left = mid + 1;
}
cout << left;
return 0;
}