(n,),A,B = [list(map(int,t.split())) for t in open(0)] L = [] for i in range(n): if A[i] > B[i]: A[i],B[i] = B[i],A[i] L.append((A[i],i)),L.append((A[i]+B[i]>>1,i)),L.append((B[i],i)) L.sort() r = 0 C = [0]*n t = 0 ans = 1<<30 m = 3*n for l in range(m): while t < n and r < m: v,i = L[r] if C[i] == 0: t += 1 C[i] += 1 r += 1 if t < n: break ans = min(ans,L[r-1][0]-L[l][0]) v,i = L[l] C[i] -= 1 if C[i] == 0: t -= 1 print(ans)