#include<stdio.h>
#include<stdlib.h>
 
int preOrder[40],inOrder[40];

void solve(int l,int r){
  int i;
  static int p=0;
  // int x=preOrder[p];

  if(l>r) return;
  if(l==r){
    if(inOrder[l]==preOrder[0]){
      printf("%d",inOrder[l]);
    }
    else{
      printf("%d ",inOrder[l]);
    } 
    p++;
    return;
  }
  //printf("aaa");
  int x=preOrder[p];
  p++;
  for(i=l;i<=r;i++){
    if(inOrder[i]==x) break;
  }
  solve(l,i-1);
  solve(i+1,r);
   
  if(x==preOrder[0]) printf("%d",x);
  else printf("%d ",x);
}
 
int main(){
  int i,n;
  scanf("%d",&n);
  for(i=0;i<n;i++) scanf("%d",&preOrder[i]);
  for(i=0;i<n;i++) scanf("%d",&inOrder[i]);
  solve(0,n-1);
  printf("\n");
  return 0;
}