#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0)->sync_with_stdio(0);
  ;
  long long int n, m, i, valor, maior_raio = 0, pos, ant;
  vector<int> cidades;
  set<int> antenas;
  set<int>::iterator itr;
  cin >> n >> m;
  for (i = 0; i < n; i++) {
    cin >> valor;
    cidades.push_back(valor);
  }
  for (i = 0; i < m; i++) {
    cin >> valor;
    antenas.insert(valor);
  }
  for (i = 0; i < n; i++) {
    itr = antenas.lower_bound(cidades[i]);
    if (itr == antenas.end()) {
      itr--;
      maior_raio =
          (maior_raio > cidades[i] - *itr ? maior_raio : cidades[i] - *itr);
    } else {
      pos = *itr - cidades[i];
      if (itr == antenas.begin()) {
        maior_raio = (maior_raio > pos ? maior_raio : pos);
      } else {
        itr--;
        ant = cidades[i] - *itr;
        maior_raio =
            (maior_raio > (ant < pos ? ant : pos) ? maior_raio
                                                  : (ant < pos ? ant : pos));
      }
    }
  }
  cout << maior_raio << endl;
  return 0;
}
