#include <bits/stdc++.h>
using namespace std;
long long M = 1e9 + 7;
long long mpe(long long base, long long exponent, long long modulus) {
  long long result = 1;
  while (exponent > 0) {
    if (exponent % 2 == 1) result = result * base % modulus;
    exponent = exponent >> 1;
    base = base * base % modulus;
  }
  return result;
}
long long a[100005], b[100005];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  ;
  long long n, m;
  cin >> n >> m;
  for (long long i = 0; i < n; ++i) cin >> a[i];
  for (long long i = 0; i < m; ++i) cin >> b[i];
  long long an = 0;
  int i = 0, j = 0, ne = 0, pr = -1;
  while (ne < m && b[ne] < a[0]) ne++;
  if (a[0] == b[ne])
    pr = ne;
  else
    pr = ne - 1;
  long long tmp = 2e9 + 10000;
  if (ne < m) tmp = min(tmp, b[ne] - a[i]);
  if (pr >= 0) tmp = min(tmp, a[i] - b[pr]);
  an = max(an, tmp);
  for (long long i = 1; i < n; ++i) {
    tmp = 2e9 + 1000;
    if (ne == m) {
      assert(pr == m - 1);
      an = max(an, a[i] - b[pr]);
      continue;
    }
    while (ne < m && b[ne] < a[i]) ne++;
    if (ne != m && a[i] == b[ne])
      pr = ne;
    else
      pr = ne - 1;
    if (ne < m) tmp = min(tmp, b[ne] - a[i]);
    if (pr >= 0) tmp = min(tmp, a[i] - b[pr]);
    an = max(an, tmp);
  }
  cout << an;
  return 0;
}
