#include <iostream>
#include <algorithm>
#include <map>
#include <cstdio>
#include <cstdlib>

using namespace std;

#define MAXN 20000

int A[MAXN], B[MAXN];
map<int, int> pos[5];

inline bool cmp(int a, int b) {
    int f = 0;
    for(register int i = 0; i < 4; i++) {
        f += pos[i][a] < pos[i][b];
    }
    if( f == 2 ) return false;
    return f > 2;
}

inline bool cmp2(int a, int b) {
    int f = 0;
    for(register int i = 0; i < 4; i++) {
        f += pos[i][a] < pos[i][b];
    }
    if( f == 2 ) return true;
    return f > 2;
}

int main() {
    int N; cin >> N;
    for(int i = 0; i < 4; i++) {
        for(int j = 0; j < N; j++) {
            int x; cin >> x;
            pos[i][x] = j;
            A[j] = x;
            B[j] = x;
        }
    }
    sort(A, A + N, cmp);
    sort(B, B + N, cmp2);
    for(int i = 0 ; i < N ; i++ )
    {
        if( A[i] != B[i] )
        {
            puts("impossible");
            return 0;
        }
    }
    for(int i = 0; i < N; i++) {
        cout << A[i] << " ";
    }
}
