#include<bits/stdc++.h>
using namespace std;

int pre[50];
int in[50];
int pre_now=0;
int n;
vector<int>pos;

int in_find(int terget){
  int rec;
  for(int i=0;i<n;i++){
    if(in[i]==terget){
      rec=i;
      break;
    }
  }
  return rec;
}

void fukugen(int l,int r){
  if(l>=r)
    return;

  int root=pre[pre_now];pre_now++;
  int point=in_find(root);

  fukugen(l,point);
  fukugen(point+1,r);
  pos.push_back(root);

}

int main(){

  cin >> n;
  for(int i=0;i<n;i++)
    cin >> pre[i];
  for(int i=0;i<n;i++)
    cin >> in[i];

  fukugen(0,n);

  for(int i=0;i<pos.size();i++){
    if(i)
      cout << " ";
    cout << pos[i];
  }
  cout << endl;

  return (0);
}