#include using namespace std; int main() { int N, M, Ans = 0; cin >> N >> M; vector A, B; map Acsta; for (int i = 0; i < N; i++) { int S; cin >> S; Acsta[S]++; } for (int i = 0; i < M; i++) { int T; cin >> T; auto it = Acsta.lower_bound(T); if (it == Acsta.end()) break; A.push_back(it->first); B.push_back(T); it->second--; if (it->second == 0) Acsta.erase(it); } sort(A.begin(), A.end()); sort(B.begin(), B.end()); for (int i = 0; i < (int)A.size(); i++) Ans = max(Ans, A.at(i) - B.at(i)); cout << Ans << endl; }