#include <stdio.h>
#define POINT 41

int P[POINT], I[POINT], Po[POINT];
int n, now = 0, s = 0;

void Rec(int, int);

void Rec(int l, int r) {
    int c,m;
    
    if(l >= r) {
        return;
    }
    c = P[now++];
    m = Find(c);
    Rec(l, m);
    Rec(m + 1, r);
    Po[s++] = c;
}

int Find(int c) {
    int i;
    
    //接点番号が一致したIndexを返す
    for(i = 0 ; i < n ; i++) {
        if(c == I[i]) {
            return i;
        }
    }
    return 0;
}

int main(void){
    int i;
    
    scanf("%d",&n);
    
    //preoder include
    for(i = 0 ; i < n ; i++) {
        scanf("%d",&P[i]);
    }
    
    //inoder include
    for(i = 0 ; i < n ; i++) {
        scanf("%d",&I[i]);
    }
    
    Rec(0,n);
    
    for(i = 0 ; i < n-1 ; i++) {
        printf("%d",Po[i]);
    }
    printf("%d\n", Po[n-1]);
    return 0;
}

