#include using namespace std; using ll = long long; #define rep(i, s, t) for (ll i = s; i < (ll)(t); i++) #define all(x) begin(x), end(x) template bool chmin(T& x, T y) { return x > y ? (x = y, true) : false; } template bool chmax(T& x, T y) { return x < y ? (x = y, true) : false; } mt19937 mt(random_device{}()); void solve() { int n = 6; cin >> n; vector a(n), b(n); // iota(all(a), 0); // iota(all(b), 0); // shuffle(all(a), mt); // cout << " --- start --- " << endl; // rep(i, 0, n) cout << a[i] + 1 << ' '; // cout << endl; // rep(i, 0, n) cout << b[i] + 1 << ' '; // cout << endl; // cout << " --- " << endl; rep(i, 0, n) cin >> a[i], a[i]--; rep(i, 0, n) cin >> b[i], b[i]--; vector p(n); rep(i, 0, n) p[b[i]] = i; vector> ans(n + 1); ans[0] = a; rep(lp, 0, n) { for (int i = lp & 1; i < n - 1; i += 2) { if (p[a[i]] > p[a[i + 1]]) { swap(a[i], a[i + 1]); } } ans[lp + 1] = a; } // vector> ans(n, vector(n, 0)); // rep(i, 0, n) ans[i][n - 1 - i] = 1; // rep(i, 0, n - 1) ans[i + 1][n - 1 - i] = 1; rep(i, 0, n + 1) { rep(j, 0, n) cout << ans[i][j] + 1 << ' '; cout << '\n'; } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(15); int t = 1; // cin >> t; while (t--) solve(); }