#!/usr/bin/python3 # načtení vstupu R, S = map(int, input().split()) H_breaks, V_breaks = map(int, input().split()) horizontal = list(map(int, input().split())) vertical = list(map(int, input().split())) # přidáme virtuální zlom před prvním a po posledním prvku vertical.extend([0, S]) horizontal.extend([0, R]) vertical.sort() horizontal.sort() # velikosti dílků vertical_diffs = [vertical[i+1] - vertical[i] for i in range(len(vertical) - 1)] horizontal_diffs = [horizontal[i+1] - horizontal[i] for i in range(len(horizontal) - 1)] # setřídění velikostí vertical_diffs.sort(reverse=True) horizontal_diffs.sort(reverse=True) # jezdec pro druhé pole h_idx = 0 h_diffs_len = len(horizontal_diffs) for v_diff in vertical_diffs: # posouvání jezdce v poli h while h_idx < h_diffs_len and horizontal_diffs[h_idx] > v_diff: h_idx += 1 if h_idx < h_diffs_len: # je políčko čtvercové? if horizontal_diffs[h_idx] == v_diff: # vytiskneme řešení print(v_diff) break