#include <bits/stdc++.h>
using namespace std;
template <class FwdIt>
FwdIt lower_bound(FwdIt left, FwdIt right, int val) {
  for (int d = right - left; d > 0; d /= 2)
    while (d <= right - left && val <= *(right - d)) right -= d;
  return right;
}
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];
  int res = 0;
  for (int i = 0; i < n; ++i) {
    int previdx = lower_bound(b.begin(), b.end(), a[i]) - b.begin() - 1,
        nextidx = previdx + 1;
    int prevdiff = (previdx >= 0 ? a[i] - b[previdx] : INT_MAX);
    int nextdiff = (nextidx < m ? b[nextidx] - a[i] : INT_MAX);
    res = max(res, min(prevdiff, nextdiff));
  }
  cout << res << endl;
}
