output_description: If the objective is achievable, print the minimum necessary number of
  operations. Otherwise, print `-1` instead.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_1 a_2 ... a_N
      b_1 b_2 ... b_N
attempt: N = int(input())
  A = list(map(int, input().split()))
  B = list(map(int, input().split()))
  s = 0
  for i in A:
      s = s ^ i
  if sorted(A) == sorted(B):
      ans = 0
      for i in range(N):
          if A[i] != B[i]:
              ans += 1
      if s not in B:
          if A == B:
              print(0)
          else:
              print(ans + 1)
          exit()
      m = s
      L = list()
      for i in range(N):
          L.append(m)
          m = A[B.index(m)]
      if len(set(L)) == ans:
          print(ans)
      else:
          print(ans + 1)
      exit()
  else:  # OK
      ans = 0
      A += [s]
      L = sorted(A)
      R = sorted(B)
      for i in range(N):
          if L[i] != R[i]:
              L.remove(L[i])
              break
          if i == N - 1:
              L.remove(L[N])
      if sorted(L) != sorted(R):
          print(-1)
          exit()
      for i in range(N):
          if A[i] != B[i]:
              ans += 1
      print(ans)
  
problem_description: Statement
  
  There is a sequence of length N: a = (a_1, a_2, ..., a_N). Here, each a_i is a
  non-negative integer.
  
  Snuke can repeatedly perform the following operation:
  
    * Let the XOR of all the elements in a be x. Select an integer i (1 ≤ i ≤ N) and replace a_i with x.
  
  Snuke's objective is to match a with another sequence b = (b_1, b_2, ...,
  b_N). Here, each b_i is a non-negative integer.
  
  Determine whether the objective is achievable, and find the minimum necessary
  number of operations if the answer is positive.
samples: [{"input": "3\n    0 1 2\n    3 1 0", "output": "2\n    \n\nAt first, the XOR of all the elements of a is 3. If we replace a_1 with 3, a\nbecomes (3, 1, 2).\n\nNow, the XOR of all the elements of a is 0. If we replace a_3 with 0, a\nbecomes (3, 1, 0), which matches b.\n\n* * *"}, {"input": "3\n    0 1 2\n    0 1 2", "output": "0\n    \n\n* * *"}, {"input": "2\n    1 1\n    0 0", "output": "-1\n    \n\n* * *"}, {"input": "4\n    0 1 2 3\n    1 0 3 2", "output": "5"}]