#include <bits/stdc++.h>
#define int long long
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define sz(x) (int)(x).size()
using namespace std;
const double pi = acos(-1);
const int mod = 1e9 + 7;
const int N = 2e5 + 5, M = 1e2 + 2, K = 5e2 + 5;
int dx[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};
void fast()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
}
deque<deque<int>> get_permutation_cycles(deque<int> perm)
{
int n = perm.size();
deque<int> vis(n, 0);
deque<deque<int>> ans;
for (int i = 0; i < n; i++)
{
if (vis[i])
continue;
int d = perm[i];
deque<int> temp;
while (!vis[d])
{
temp.emplace_back(d);
vis[d] = 1, d = perm[d];
}
ans.emplace_back(temp);
}
return ans;
}
int32_t main()
{
fast();
int n;
cin >> n;
deque<int> p(n), p2(n), a(n);
for (auto &i : p)
cin >> i;
for (auto &i : a)
cin >> i;
for (auto &i : a)
i--;
for (auto &i : p)
i--;
deque<deque<int>> cycles = get_permutation_cycles(a), cycles2 = cycles, values_of_cycles;
for (auto v : cycles)
{
deque<int> d(v.size());
for (int i = 0; i < v.size(); i++)
d[i] = p[v[i]];
values_of_cycles.emplace_back(d);
}
int i = 0;
for (auto &v : values_of_cycles)
{
int min_ = *min_element(all(v));
while (v.front() != min_)
{
int x = v.front(), y = cycles2[i].front();
v.pop_front();
cycles2[i].pop_front();
v.emplace_back(x);
cycles2.emplace_back(y);
}
i++;
}
i = 0;
for (auto v : cycles2)
{
for (int j = 0; j < v.size(); j++)
{
int uu = 0;
p2[cycles[i][j]] = p[v[cycles2[i][j]]];
}
i++;
}
for (auto &k : p2)
k++;
for (auto k : p2)
cout << k << " ";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSByYWxsKHgpIHgucmJlZ2luKCksIHgucmVuZCgpCiNkZWZpbmUgc3ooeCkgKGludCkoeCkuc2l6ZSgpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBkb3VibGUgcGkgPSBhY29zKC0xKTsKY29uc3QgaW50IG1vZCA9IDFlOSArIDc7CmNvbnN0IGludCBOID0gMmU1ICsgNSwgTSA9IDFlMiArIDIsIEsgPSA1ZTIgKyA1OwoKaW50IGR4W10gPSB7MCwgMCwgMSwgLTEsIDEsIDEsIC0xLCAtMX07CmludCBkeVtdID0gezEsIC0xLCAwLCAwLCAxLCAtMSwgMSwgLTF9OwoKdm9pZCBmYXN0KCkKewojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0ciksIGNvdXQudGllKG51bGxwdHIpOwp9CgpkZXF1ZTxkZXF1ZTxpbnQ+PiBnZXRfcGVybXV0YXRpb25fY3ljbGVzKGRlcXVlPGludD4gcGVybSkKewogICAgaW50IG4gPSBwZXJtLnNpemUoKTsKICAgIGRlcXVlPGludD4gdmlzKG4sIDApOwogICAgZGVxdWU8ZGVxdWU8aW50Pj4gYW5zOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGlmICh2aXNbaV0pCiAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICBpbnQgZCA9IHBlcm1baV07CiAgICAgICAgZGVxdWU8aW50PiB0ZW1wOwogICAgICAgIHdoaWxlICghdmlzW2RdKQogICAgICAgIHsKICAgICAgICAgICAgdGVtcC5lbXBsYWNlX2JhY2soZCk7CiAgICAgICAgICAgIHZpc1tkXSA9IDEsIGQgPSBwZXJtW2RdOwogICAgICAgIH0KCiAgICAgICAgYW5zLmVtcGxhY2VfYmFjayh0ZW1wKTsKICAgIH0KICAgIHJldHVybiBhbnM7Cn0KCmludDMyX3QgbWFpbigpCnsKICAgIGZhc3QoKTsKCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgZGVxdWU8aW50PiBwKG4pLCBwMihuKSwgYShuKTsKICAgIGZvciAoYXV0byAmaSA6IHApCiAgICAgICAgY2luID4+IGk7CiAgICBmb3IgKGF1dG8gJmkgOiBhKQogICAgICAgIGNpbiA+PiBpOwoKICAgIGZvciAoYXV0byAmaSA6IGEpCiAgICAgICAgaS0tOwogICAgZm9yIChhdXRvICZpIDogcCkKICAgICAgICBpLS07CgogICAgZGVxdWU8ZGVxdWU8aW50Pj4gY3ljbGVzID0gZ2V0X3Blcm11dGF0aW9uX2N5Y2xlcyhhKSwgY3ljbGVzMiA9IGN5Y2xlcywgdmFsdWVzX29mX2N5Y2xlczsKCiAgICBmb3IgKGF1dG8gdiA6IGN5Y2xlcykKICAgIHsKCiAgICAgICAgZGVxdWU8aW50PiBkKHYuc2l6ZSgpKTsKCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB2LnNpemUoKTsgaSsrKQogICAgICAgICAgICBkW2ldID0gcFt2W2ldXTsKCiAgICAgICAgdmFsdWVzX29mX2N5Y2xlcy5lbXBsYWNlX2JhY2soZCk7CiAgICB9CgogICAgaW50IGkgPSAwOwoKICAgIGZvciAoYXV0byAmdiA6IHZhbHVlc19vZl9jeWNsZXMpCiAgICB7CiAgICAgICAgaW50IG1pbl8gPSAqbWluX2VsZW1lbnQoYWxsKHYpKTsKCiAgICAgICAgd2hpbGUgKHYuZnJvbnQoKSAhPSBtaW5fKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHggPSB2LmZyb250KCksIHkgPSBjeWNsZXMyW2ldLmZyb250KCk7CgogICAgICAgICAgICB2LnBvcF9mcm9udCgpOwogICAgICAgICAgICBjeWNsZXMyW2ldLnBvcF9mcm9udCgpOwoKICAgICAgICAgICAgdi5lbXBsYWNlX2JhY2soeCk7CiAgICAgICAgICAgIGN5Y2xlczIuZW1wbGFjZV9iYWNrKHkpOwogICAgICAgIH0KCiAgICAgICAgaSsrOwogICAgfQoKICAgIGkgPSAwOwoKICAgIGZvciAoYXV0byB2IDogY3ljbGVzMikKICAgIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHYuc2l6ZSgpOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBpbnQgdXUgPSAwOwogICAgICAgICAgICBwMltjeWNsZXNbaV1bal1dID0gcFt2W2N5Y2xlczJbaV1bal1dXTsKICAgICAgICB9CiAgICAgICAgaSsrOwogICAgfQoKICAgIGZvciAoYXV0byAmayA6IHAyKQogICAgICAgIGsrKzsKICAgIGZvciAoYXV0byBrIDogcDIpCiAgICAgICAgY291dCA8PCBrIDw8ICIgIjsKCiAgICByZXR1cm4gMDsKfQ==