#include <bits/stdc++.h>
int compare(const void *a, const void *b) {
  int ia = *(int *)a;
  int ib = *(int *)b;
  return ia - ib;
}
int check(int *aa, int n, int *bb, int m, int r) {
  int i, j, lower, upper, yes;
  for (i = 0; i < n; i++) {
    yes = lower = 0, upper = m - 1;
    while (lower <= upper) {
      j = (lower + upper) / 2;
      if (bb[j] < (long long)aa[i] - r)
        lower = j + 1;
      else if (bb[j] > (long long)aa[i] + r)
        upper = j - 1;
      else {
        yes = 1;
        break;
      }
    }
    if (!yes) return 0;
  }
  return 1;
}
int main() {
  static int aa[100000], bb[100000];
  int n, m, i, lower, upper, r, r_;
  scanf("%d%d", &n, &m);
  for (i = 0; i < n; i++) scanf("%d", &aa[i]);
  for (i = 0; i < m; i++) scanf("%d", &bb[i]);
  lower = 0, upper = 2000000000;
  while (lower <= upper) {
    r = ((long long)lower + upper) / 2;
    if (check(aa, n, bb, m, r))
      r_ = r, upper = r - 1;
    else
      lower = r + 1;
  }
  printf("%d\n", r_);
  return 0;
}
