atcoder#AGC031D. [AGC031D] A Sequence of Permutations

[AGC031D] A Sequence of Permutations

配点 : 10001000

問題文

11 から NN の整数からなる 22 つの順列 ppqq に対して、順列 f(p,q)f(p,q) を以下を満たす順列として定めます。

  • f(p,q)f(p,q)pip_i (1iN1 \leq i \leq N) 項目の値は qiq_i である。 ただし, pip_i, qiq_i はそれぞれ pp, qqii 項目の値を表している。

11 から NN の整数からなる 22 つの順列 pp, qq が与えられます。 このとき、11 から NN の順列からなる列 {ana_n} を以下のように定めます。

  • a1=pa_1=p, a2=qa_2=q
  • an+2=f(an,an+1)a_{n+2}=f(a_n,a_{n+1}) ( n1n \geq 1 )

正整数 KK が与えられるので、aKa_K を求めて下さい。

制約

  • 1N1051 \leq N \leq 10^5
  • 1K1091 \leq K \leq 10^9
  • ppqq11 から NN の順列である。

入力

入力は以下の形式で標準入力から与えられる。

NN KK

p1p_1 ... pNp_N

q1q_1 ... qNq_N

出力

NN 個の整数を空白区切りで出力せよ。 ii (1iN1 \leq i \leq N) 番目には aKa_Kii 項目の値を出力せよ。

3 3
1 2 3
3 2 1
3 2 1

a3=f(p,q)a_3=f(p,q) であるから、f(p,q)f(p,q) が求められればよいです。 この場合は pi=ip_i=i なので、f(p,q)=qf(p,q)=q となります。

5 5
4 5 1 2 3
3 2 1 5 4
4 3 2 1 5
10 1000000000
7 10 6 5 4 2 9 1 3 8
4 1 9 2 3 7 8 10 6 5
7 9 4 8 2 5 1 6 10 3