#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod=998244353;

 bool f(int mid, vector<int> &b , vector<int> &a){
  for(int i=0;i<a.size();i++){
 
    auto it =lower_bound(b.begin(),b.end(),a[i]);
    int mi=1e9;
    if(it!=b.end()) mi=min(mi,abs(a[i]-*it));
    if(it!=b.begin()) mi=min(mi,abs(a[i]-*(--it)));
    
    if(mi>mid) return false;
  }
  return true;
 }

void solve() {

   int n,m;
   cin >> n >> m;
   vector<int> cities(n),towers(m);
   for(int i=0;i<n;i++) cin >> cities[i];
   for(int i=0;i<m;i++) cin >> towers[i];

    int high=1e9,low=0,ans=0;
    
    while(low<=high){
      int mid = (low+high)/2;
      if(f(mid,towers,cities)){
        ans =mid;
        high=mid-1;
      }
      else 
       low=mid+1;
    }

    cout << ans << '\n';
}

int main(){ 
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
	
    /*int t;
    cin >> t;
    while (t--)*/ solve();
    

    return 0;
}
