import sys from itertools import permutations from heapq import heappop,heappush from collections import deque import random import bisect input = lambda :sys.stdin.readline().rstrip() mi = lambda :map(int,input().split()) li = lambda :list(mi()) N = int(input()) X = li() A = li() INF = 3 * 10**9 dp = [INF] * (N+1) dp[0] = 0 for l in range(N): tmp_xor = A[l] for r in range(l+1,N+1): dp[r] = min(dp[r],dp[l]+X[r-1]-X[l]+tmp_xor) if r!=N: tmp_xor ^= A[r] print(dp[-1])