#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define nmax 100005
int a[nmax] , b[nmax];
int n , m;
bool check(ll r) {
ll j = 1; // trỏ vào b[]
for (int i = 1; i <= n; ++i) {
// Tìm b[j] gần nhất bên trái hoặc chính giữa
while(j + 1 <= m and abs(b[j] - a[i]) >= abs(b[j + 1] - a[i])){
j++;
}
if (abs(b[j] - a[i]) > r) return false;
}
return true;
}
void solve(){
cin >> n >> m;
for (int i = 1 ; i <= n ;i++){
cin >> a[i];
}
sort(a+1 , a+n+1);
for (int i = 1 ;i <= m ;i++){
cin >> b[i];
}
ll dau = 0 , cuoi = 1e18 , kq = 0;
while(dau <= cuoi){
ll mid = (dau + cuoi)/2;
if (check(mid)){
kq = mid;
cuoi = mid - 1;
}
else{
dau = mid + 1;
}
}
cout << kq;
}
int main(){
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBubWF4IDEwMDAwNQppbnQgYVtubWF4XSAsIGJbbm1heF07CmludCBuICwgbTsKYm9vbCBjaGVjayhsbCByKSB7CiAgICBsbCBqID0gMTsgLy8gdHLhu48gdsOgbyBiW10KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIC8vIFTDrG0gYltqXSBn4bqnbiBuaOG6pXQgYsOqbiB0csOhaSBob+G6t2MgY2jDrW5oIGdp4buvYQogICAgICAgIHdoaWxlKGogKyAxIDw9IG0gYW5kIGFicyhiW2pdIC0gYVtpXSkgPj0gYWJzKGJbaiArIDFdIC0gYVtpXSkpewogICAgICAgICAgICBqKys7CiAgICAgICAgfQogICAgICAgIGlmIChhYnMoYltqXSAtIGFbaV0pID4gcikgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCnZvaWQgc29sdmUoKXsKICAgIGNpbiA+PiBuID4+IG07CiAgICBmb3IgKGludCBpID0gMSA7IGkgPD0gbiA7aSsrKXsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIHNvcnQoYSsxICwgYStuKzEpOwogICAgZm9yIChpbnQgaSA9IDEgO2kgPD0gbSA7aSsrKXsKICAgICAgICBjaW4gPj4gYltpXTsKICAgIH0KICAgIGxsIGRhdSA9IDAgLCBjdW9pID0gMWUxOCAsIGtxID0gMDsKICAgIHdoaWxlKGRhdSA8PSBjdW9pKXsKICAgICAgICBsbCBtaWQgPSAoZGF1ICsgY3VvaSkvMjsKICAgICAgICBpZiAoY2hlY2sobWlkKSl7CiAgICAgICAgICAgIGtxID0gbWlkOwogICAgICAgICAgICBjdW9pID0gbWlkIC0gMTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgZGF1ID0gbWlkICsgMTsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGtxOwp9CmludCBtYWluKCl7CiAgICBzb2x2ZSgpOwp9Cg==