#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1e5 + 1;
int n, m;
long long Q[MAX_N], C[MAX_N];
int main() {
  while (~scanf("%d%d", &n, &m)) {
    for (int i = 0; i < n; i++) scanf("%I64d", C + i);
    for (int i = 0; i < m; i++) scanf("%I64d", Q + i);
    long long x, ans = 0;
    for (int i = 0; i < n; i++) {
      x = C[i];
      int d = lower_bound(Q, Q + m, x) - Q;
      d = d == m ? (m - 1) : d;
      long long dis = min(abs(Q[d] - x), abs(Q[(d - 1) < 0 ? 0 : (d - 1)] - x));
      if (dis > ans) ans = dis;
    }
    printf("%I64d\n", ans);
  }
  return 0;
}
