#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)

vector<int> pre,in,post;
int id;

void rec(int l,int r){
    if(l<r){
    int root=pre[id++];
    int m=distance(in.begin(),find(in.begin(),in.end(),root));
    rec(l,m);
    rec(m+1,r);
    post.push_back(root);
    }
    return;
}

void solve(){
    id=0;
    rec(0,pre.size());
    rep(i,pre.size()){
        if(i!=0)printf(" ");
        printf("%d",post[i]);
    }
    printf("\n");
    return;
}

int main(){
    int n,key;cin>>n;
    rep(i,n){
        scanf("%d",&key);
        pre.push_back(key);
    }
    rep(i,n){
        scanf("%d",&key);
        in.push_back(key);
    }
    solve();
    return 0;
}
