#include using namespace std; #ifdef TEMPURA #else #define debug(...) ((void)0) #define msg(...) ((void)0) #endif #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define REP(i, m, n) for(int i = (int)(m); i < (int)(n); i++) using ll = long long; using ull = unsigned long long; using i128 = __int128_t; template inline bool chmin(T &a, T b) { if(a > b) { a = b; return true; } return false; } template inline bool chmax(T &a, T b) { if(a < b) { a = b; return true; } return false; } // #include // using mint = atcoder::modint998244353; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector a(n), b(n); rep(i, n) cin >> a[i]; rep(i, n) cin >> b[i]; vector pos(n + 1); rep(i, n) pos[b[i]] = i; rep(i, n) cout << a[i] << " \n"[i + 1 == n]; rep(i, n) { for(int j = i % 2; j + 1 < n; j += 2) { if(pos[a[j]] > pos[a[j + 1]]) { swap(a[j], a[j + 1]); } } rep(j, n) cout << a[j] << " \n"[j + 1 == n]; } return 0; }