def main(): from sys import stdin, setrecursionlimit input = stdin.readline readline = stdin.readline N=int(input()) A=list(map(int, input().split())) B=list(map(int, input().split())) if N==1: print(0) exit() import sys input = sys.stdin.readline D={} E=[] import heapq Q=[] for i in range(N): a,b,c=A[i],B[i],(A[i]+B[i])//2 E.append(a) E.append(b) E.append(c) if a!=b: a,b,c=sorted([a,b,c])[::-1] heapq.heappush(Q,a) if a not in D: D[a]=[] D[a].append(b) if b not in D: D[b]=[] D[b].append(c) if c not in D: D[c]=[] D[c].append(-1) else: heapq.heappush(Q,a) if a not in D: D[a]=[] D[a].append(-1) #print(Q,D) E=sorted(list(set(E)))[::-1] #print(E) ans=10**12 for e in E: mi=heapq.heappop(Q) ans=min(ans,e-mi) heapq.heappush(Q,mi) for nex in D[e]: if nex==-1: print(ans) exit() heapq.heappush(Q,nex) main()