#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  int cities[n];
  set<int> towers;
  int tower;
  for (int i = 0; i < n; i++) {
    cin >> cities[i];
  }
  for (int i = 0; i < m; i++) {
    cin >> tower;
    towers.insert(tower);
  }
  int r = 0;
  set<int>::iterator closesttower;
  int dist;
  for (int i = 0; i < n; i++) {
    dist = 2e9 + 1;
    closesttower = towers.lower_bound(cities[i]);
    if (closesttower != towers.end()) {
      dist = *closesttower - cities[i];
    }
    if (closesttower != towers.begin()) {
      closesttower--;
      dist = min(dist, cities[i] - *closesttower);
    }
    r = max(r, dist);
  }
  cout << r << endl;
  return 0;
}
