#include<stdio.h>
#define MAX 10000

int pre[MAX],in[MAX],post[MAX],pos=0,n,back=0;
int find(int x){
  int i;
  for(i=0;i<n;i++)if(x==in[i])return i;
}

void rec(int l,int r){
  int root,m;
  if(l>=r)return;
  root=pre[pos++];
  m=find(root);//
  rec(l,m);
  rec(m+1,r);
  post[back++]=root;
}
void solve(){
  int i;
  rec(0,n);
  for(i=0;i<n;i++){
    if(i)printf(" ");
    printf("%d",post[i]);
  }
  printf("\n");
}

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