#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,mxlg,x[500005],bit[500005];
void UPDATE(int i, int v)
{
while (i<=n) bit[i]+=v,i+=i&(-i);
return;
}
int GET(int l, int r)
{
l--;
int resl=0,resr=0;
while (l>0) resl+=bit[l],l-=l&(-l);
while (r>0) resr+=bit[r],r-=r&(-r);
return resr-resl;
}
int BS(int lo, int hi, int vl)
{
int ans;
while (lo<=hi)
{
int mid=lo+(hi-lo)/2;
if (GET(1,mid)>=vl) ans=mid,hi=mid-1;
else lo=mid+1;
}
return ans;
}
signed main()
{
ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
cin>>n,mxlg=log(n)/log(2);
for (int i=1;i<=n;i++) cin>>x[i],UPDATE(i,1);
for (int i=1;i<=n;i++)
{
int idx,ans;
cin>>idx;
ans=BS(1,n,idx),UPDATE(ans,-1);
cout<<x[ans]<<' ';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixteGxnLHhbNTAwMDA1XSxiaXRbNTAwMDA1XTsKdm9pZCBVUERBVEUoaW50IGksIGludCB2KQp7CiAgICB3aGlsZSAoaTw9bikgYml0W2ldKz12LGkrPWkmKC1pKTsKICAgIHJldHVybjsKfQppbnQgR0VUKGludCBsLCBpbnQgcikKewogICAgbC0tOwogICAgaW50IHJlc2w9MCxyZXNyPTA7CiAgICB3aGlsZSAobD4wKSByZXNsKz1iaXRbbF0sbC09bCYoLWwpOwogICAgd2hpbGUgKHI+MCkgcmVzcis9Yml0W3JdLHItPXImKC1yKTsKICAgIHJldHVybiByZXNyLXJlc2w7Cn0KaW50IEJTKGludCBsbywgaW50IGhpLCBpbnQgdmwpCnsKICAgIGludCBhbnM7CiAgICB3aGlsZSAobG88PWhpKQogICAgewogICAgICAgIGludCBtaWQ9bG8rKGhpLWxvKS8yOwogICAgICAgIGlmIChHRVQoMSxtaWQpPj12bCkgYW5zPW1pZCxoaT1taWQtMTsKICAgICAgICBlbHNlIGxvPW1pZCsxOwogICAgfQogICAgcmV0dXJuIGFuczsKfQpzaWduZWQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLGNpbi50aWUoMCksY291dC50aWUoMCk7CiAgICBjaW4+Pm4sbXhsZz1sb2cobikvbG9nKDIpOwogICAgZm9yIChpbnQgaT0xO2k8PW47aSsrKSBjaW4+PnhbaV0sVVBEQVRFKGksMSk7CiAgICBmb3IgKGludCBpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgaW50IGlkeCxhbnM7CiAgICAgICAgY2luPj5pZHg7CiAgICAgICAgYW5zPUJTKDEsbixpZHgpLFVQREFURShhbnMsLTEpOwogICAgICAgIGNvdXQ8PHhbYW5zXTw8JyAnOwogICAgfQogICAgcmV0dXJuIDA7Cn0=