import heapq def main(): N = int(input()) *A, = map(int, input().split()) *B, = map(int, input().split()) Q = [] for i in range(N): heapq.heappush(Q, sorted([A[i], B[i], (A[i]+B[i])//2])) mx, mn = max(Q)[0], Q[0][0] ans = mx-mn while True: a = heapq.heappop(Q) if len(a) == 1: print(ans) return a = a[1:] mx = max(mx, a[0]) heapq.heappush(Q, a) mn = Q[0][0] ans = min(ans, mx-mn) if __name__ == '__main__': main()