#include <bits/stdc++.h>
using namespace std;
map<int, bool> m;
map<int, int> m1, m2;
int main() {
  int n;
  scanf("%d", &n);
  int a[n];
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  int b[n];
  for (int i = 0; i < n; i++) {
    scanf("%d", &b[i]);
  }
  int c[n];
  vector<int> v;
  for (int i = 0; i < n; i++) {
    if (a[i] == b[i]) {
      c[i] = a[i];
      m[a[i]] = true;
    } else
      v.push_back(i);
  }
  if (v.empty()) {
    int x = 0, y;
    for (int i = 1; i <= n; i++) {
      if (m[i] == false) {
        x = i;
        break;
      }
    }
    for (int i = 0; i < n; i++) {
      m1[a[i]]++;
      if (m1[a[i]] == 2) {
        y = i;
        break;
      }
    }
    c[y] = x;
  } else if (v.size() == 1) {
    int x = 0, y;
    for (int i = 1; i <= n; i++) {
      if (m[i] == false) {
        x = i;
        break;
      }
    }
    c[v[0]] = x;
  } else {
    int x = 0, y = 0, flag1 = 0, flag2 = 0;
    for (int i = 1; i <= n; i++) {
      if (m[i] == false) {
        if (x == 0)
          x = i;
        else
          y = i;
      }
    }
    for (int i = 0; i < n; i++) {
      if (a[i] == x) {
        m1[x]++;
      } else if (a[i] == y)
        m1[y]++;
    }
    for (int i = 0; i < n; i++) {
      if (b[i] == x) {
        m2[x]++;
      } else if (b[i] == y)
        m2[y]++;
    }
    if (m1[x] == 2 && m2[y] == 2) {
      int ind;
      for (int i = 0; i < n; i++) {
        if (a[i] == x) {
          c[i] = x;
          ind = i;
        }
      }
      for (int i = 0; i < n; i++) {
        if (b[i] == y && i != ind) {
          c[i] = y;
        }
      }
    } else if (m1[y] == 2 && m2[x] == 2) {
      int ind;
      for (int i = 0; i < n; i++) {
        if (a[i] == y) {
          c[i] = y;
          ind = i;
        }
      }
      for (int i = 0; i < n; i++) {
        if (b[i] == x && i != ind) {
          c[i] = x;
        }
      }
    } else if (m1[x] == 2 || m1[y] == 2) {
      int ind;
      for (int i = 0; i < n; i++) {
        if (b[i] == x) {
          ind = i;
          c[i] = x;
        }
        if (b[i] == y) {
          ind = i;
          c[i] = y;
        }
      }
      for (int i = 0; i < n; i++) {
        if (i != ind) {
          if (a[i] == x) {
            c[i] = x;
          }
          if (a[i] == y) {
            c[i] = y;
          }
        }
      }
    } else {
      int ind;
      for (int i = 0; i < n; i++) {
        if (a[i] == x) {
          ind = i;
          c[i] = x;
        }
        if (a[i] == y) {
          ind = i;
          c[i] = y;
        }
      }
      for (int i = 0; i < n; i++) {
        if (i != ind) {
          if (b[i] == x) {
            c[i] = x;
          }
          if (b[i] == y) {
            c[i] = y;
          }
        }
      }
    }
  }
  for (int i = 0; i < n; i++) cout << c[i] << " ";
  return 0;
}
