#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200005;
int bit[MAXN];
int a[MAXN];
int n;
void update(int i, int val) {
for (; i <= n; i += i & -i) bit[i] += val;
}
int query(int i) {
int res = 0;
for (; i > 0; i -= i & -i) res += bit[i];
return res;
}
int find_kth(int k) {
int pos = 0;
int sum = 0;
for (int i = 18; i >= 0; --i) {
if (pos + (1 << i) <= n && sum + bit[pos + (1 << i)] < k) {
pos += (1 << i);
sum += bit[pos];
}
}
return pos + 1;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n; i++) {
int p; cin >> p;
if (i == 1)
for (int j = 1; j <= n; j++) update(j, 1);
int idx = find_kth(p);
cout << a[idx] << ' ';
update(idx, -1);
}
cout << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYTiA9IDIwMDAwNTsKCmludCBiaXRbTUFYTl07CmludCBhW01BWE5dOwppbnQgbjsKCgp2b2lkIHVwZGF0ZShpbnQgaSwgaW50IHZhbCkgewogICAgZm9yICg7IGkgPD0gbjsgaSArPSBpICYgLWkpIGJpdFtpXSArPSB2YWw7Cn0KCgppbnQgcXVlcnkoaW50IGkpIHsKICAgIGludCByZXMgPSAwOwogICAgZm9yICg7IGkgPiAwOyBpIC09IGkgJiAtaSkgcmVzICs9IGJpdFtpXTsKICAgIHJldHVybiByZXM7Cn0KCgppbnQgZmluZF9rdGgoaW50IGspIHsKICAgIGludCBwb3MgPSAwOwogICAgaW50IHN1bSA9IDA7CiAgICBmb3IgKGludCBpID0gMTg7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgaWYgKHBvcyArICgxIDw8IGkpIDw9IG4gJiYgc3VtICsgYml0W3BvcyArICgxIDw8IGkpXSA8IGspIHsKICAgICAgICAgICAgcG9zICs9ICgxIDw8IGkpOwogICAgICAgICAgICBzdW0gKz0gYml0W3Bvc107CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHBvcyArIDE7Cn0KCmludCBtYWluKCkgewogICAgY2luID4+IG47CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiBhW2ldOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGludCBwOyBjaW4gPj4gcDsKCgogICAgICAgIGlmIChpID09IDEpCiAgICAgICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG47IGorKykgdXBkYXRlKGosIDEpOwoKCiAgICAgICAgaW50IGlkeCA9IGZpbmRfa3RoKHApOwogICAgICAgIGNvdXQgPDwgYVtpZHhdIDw8ICcgJzsKCgogICAgICAgIHVwZGF0ZShpZHgsIC0xKTsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKfQo=