#include<stdio.h>
#define N 100


 int n,pos,count=0;
 int pre[N],in[N],post[N];
 
 int find(int in[n],int root){
     int i;
     for(i=0;i<n;i++){
            if(in[i]==root)return i;
            }
     return in[n-1];
     }

 void rec(int l,int r){
      int root,m;
      if(l>=r)return;
      root=pre[pos++];
      m=find(in,root);
      rec(l,m);
      rec(m+l,r);
      post[count++]=root;
      }

 void solve(){
      int i;
      pos=0;
      rec(0,n);
      for(i=0;i<n;i++){
              if(i)printf(" ");
              printf("%d",post[i]);
              }
      printf("\n");
      }

 int main(){
      int i,k;
      scanf("%d",&n);

      for(i=0;i<n;i++){
              scanf("%d",&k);
              pre[i]=k;
              }
      for(i=0;i<n;i++){
              scanf("%d",&k);
              in[i]=k;
              }
      solve();
      return 0;
      }

