import bisect n, m = map(int, input().split()) s = list(map(int, input().split())) t = list(map(int, input().split())) s.sort() t.sort() burden = 0 used = [False] * n si = 0 for tj in t: i = bisect.bisect_left(s, tj, si) while i < n and used[i]: i += 1 if i >= n: break burden = max(burden, s[i] - tj) used[i] = True si = i + 1 print(burden)