#include <bits/stdc++.h>
using namespace std;
int tower[100000], x[100000];
int binsearch(int l, int r, int val) {
  int mid;
  while (l <= r) {
    mid = (l + r) / 2;
    if (tower[mid] <= val)
      l = mid + 1;
    else
      r = mid - 1;
  }
  return l - 1;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; ++i) cin >> x[i];
  for (int i = 0; i < m; ++i) cin >> tower[i];
  sort(tower, tower + m);
  int ans = 0;
  for (int i = 0; i < n; ++i) {
    int ind = binsearch(0, m - 1, x[i]);
    if (ind == -1) {
      ans = max(ans, abs(x[i] - tower[0]));
      continue;
    } else if (ind == m - 1) {
      ans = max(ans, abs(x[i] - tower[ind]));
      continue;
    } else
      ans = max(ans, min(abs(x[i] - tower[ind]), abs(x[i] - tower[ind + 1])));
  }
  cout << ans;
}
