#include <bits/stdc++.h>
static const int MAXN = 1e3 + 4;
int n;
int a[MAXN], b[MAXN];
std::pair<int, int> get_duplication(int *a) {
  static int occ[MAXN];
  for (int i = 1; i <= n; ++i) occ[i] = -1;
  for (int i = 0; i < n; ++i) {
    if (occ[a[i]] != -1)
      return std::make_pair(occ[a[i]], i);
    else
      occ[a[i]] = i;
  }
  return std::make_pair(-1, -1);
}
inline void fix_permutation(int pos) {
  static bool occ[MAXN];
  for (int i = 1; i <= n; ++i) occ[i] = false;
  for (int i = 0; i < n; ++i)
    if (i != pos) occ[a[i]] = true;
  for (int i = 1; i <= n; ++i)
    if (!occ[i]) {
      a[pos] = i;
      return;
    }
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%d", &a[i]);
  for (int i = 0; i < n; ++i) scanf("%d", &b[i]);
  std::pair<int, int> dup_a, dup_b;
  dup_a = get_duplication(a);
  dup_b = get_duplication(b);
  if (dup_a == dup_b) {
    a[dup_a.first] = b[dup_b.first];
  } else if (dup_a.first == dup_b.first || dup_a.first == dup_b.second) {
    a[dup_a.second] = b[dup_a.second];
    fix_permutation(dup_a.first);
  } else if (dup_a.second == dup_b.first || dup_a.second == dup_b.second) {
    a[dup_a.first] = b[dup_a.first];
    fix_permutation(dup_a.second);
  } else {
    a[dup_a.first] = b[dup_a.first];
    a[dup_a.second] = b[dup_a.second];
  }
  for (int i = 0; i < n; ++i) printf("%d%c", a[i], i == n - 1 ? '\n' : ' ');
  return 0;
}
