#include <bits/stdc++.h>
using namespace std;
int n, ans, col;
int a[200010], b[200010], c[200010], d[200010], fa[200010], used[200010];
int sa[200010];
int find(int i) { return fa[i] == i ? i : fa[i] = find(fa[i]); }
void solve(int spec = 0) {
  int i, j, ret = n, x, y, fx, fy;
  ret = n;
  for (i = 1; i <= n; i++)
    if (a[i] == b[i]) ret--;
  for (i = 1; i <= n; i++) sa[i] = a[i];
  sort(sa + 1, sa + n + 1);
  for (i = 1; i <= n; i++) fa[i] = i;
  for (i = 1; i <= n; i++) {
    if (a[i] == b[i]) continue;
    x = lower_bound(sa + 1, sa + n + 1, a[i]) - sa;
    y = lower_bound(sa + 1, sa + n + 1, b[i]) - sa;
    fx = find(x);
    fy = find(y);
    if (fx != fy) fa[fx] = fy;
  }
  col++;
  for (i = 1; i <= n; i++)
    if (a[i] != b[i]) {
      x = lower_bound(sa + 1, sa + n + 1, a[i]) - sa;
      if (used[find(x)] != col) {
        used[find(x)] = col;
        ret++;
      }
    }
  if (spec) ret--;
  if (ans == -1 || ret < ans) ans = ret;
}
int main() {
  int i, j, k, p, s, flag, t, now, cnt = 0;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (i = 1; i <= n; i++) scanf("%d", &b[i]);
  flag = 1;
  for (i = 1; i <= n; i++)
    if (a[i] != b[i]) {
      flag = 0;
      break;
    }
  if (flag) {
    printf("%d\n", 0);
    return 0;
  }
  for (i = 1; i <= n; i++) c[i] = a[i];
  for (i = 1; i <= n; i++) d[i] = b[i];
  sort(c + 1, c + n + 1);
  sort(d + 1, d + n + 1);
  k = -1;
  cnt = 0;
  for (i = 1; i <= n; i++)
    if (c[i] != d[i]) {
      k = c[i];
      p = d[i];
      cnt++;
    }
  for (i = 1; i <= n; i++)
    if (a[i] == k) {
      k = i;
      break;
    }
  ans = -1;
  if (k == -1) solve();
  now = -1;
  s = 0;
  for (i = 1; i <= n; i++) s ^= a[i];
  if (k != -1 && cnt == 1) {
    if (s == p) {
      for (i = 1; i <= n; i++)
        if (b[i] == p) {
          t = b[i];
          b[i] = a[k];
          solve(1);
          if (now != -1 && ans != now) {
            printf("%d\n", ans);
            return 0;
          }
          now = ans;
          b[i] = t;
        }
    }
  } else if (k == -1) {
    flag = 0;
    for (i = 1; i <= n; i++)
      if (a[i] == s) {
        flag = 1;
        break;
      }
    if (flag) solve(1);
  }
  printf("%d\n", ans);
  return 0;
}
