C部族では5年に一度、大規模な祭祀が行われます。大祭司が古代の符陣の上で真言を唱えると、$n$ 個の場所から精霊が召喚され、精霊たちは符陣の指示に従って素早く跳躍します。
符陣の各位置には、別の位置を指し示すシンボルが一つずつ存在します。精霊は次の時刻になるとその指示された位置へ跳躍し、さらにその次の時刻には、到着した位置にある指示に従って再び跳躍します。精霊同士が衝突することはありません。これは、どの二つの位置も同じ位置を指すことはないことを意味します。
形式的に述べると、位置 $i$ のシンボルが $f(i)$ を指している場合、精霊が $k$ 時刻経過後に到達する位置は $f_k(i) = f(f_{k-1}(i))$ であり、$f_0(i) = i$ となります。
かつて現地を調査した人類学者の Z. Jack は、「C部族の民は、精霊の奇妙なダンスの中に未来に起こる出来事を予言できると信じている」と記録し、当時の壮大な光景を収めた一枚の写真を残しました。
しかし、文明社会の戦争が C部族の平和を乱し、砲火によってかつての符陣は破壊されてしまいました。50年後、C部族の人々はあなたに符陣の復元を依頼しましたが、写真に写っていた符文もぼやけて判読が困難になっていました。
残された手がかりはわずかです。かつての祭司が、この写真は儀式開始から $k$ 時刻が経過した時点のものだと教えてくれました。写真には、各精霊が最初どこにいたのかが記録されています。
祭司の記憶は正確であり、Z. Jack の記録にも誤りはありません。したがって、あなたは必ず一つの可能な初期の符陣を見つけることができます。
入力
一行目に二つの整数 $n, k$ が与えられます。これらは符陣内の精霊の位置の数と、儀式が進行した時間を表します。
続く一行に $n$ 個の整数 $1 \le p_i \le n$ が与えられます。これは、時刻 $k$ において、元々位置 $i$ にいた精霊が位置 $p_i$ に到達したことを表します。$i \neq j$ に対して $p_i \neq p_j$ であることが保証されます。
出力
元の符陣を表す $n$ 個の整数を一行で出力してください。
正解となる符陣は複数存在する可能性がありますが、そのうちのいずれか一つを出力すればよいです。
入出力例
入力 1
2 2 1 2
出力 1
2 1
入力 2
10 997 9 7 2 4 10 1 8 3 6 5
出力 2
9 7 2 4 10 1 8 3 6 5
入力 3
配布ファイルを参照してください。
入力 4
配布ファイルを参照してください。
小課題
| テストケース | $n$ | $k$ | 特殊な制約 |
|---|---|---|---|
| $1 \sim 3$ | $\leq 10$ | $k\leq 10$ | |
| $4 \sim 5$ | $\leq 2 \times 10^5$ | ||
| $6$ | $\leq 10^5$ | $=2$ | |
| $7 \sim 8$ | $=3$ | ||
| $9 \sim 12$ | $\leq 2 \times 10^5$ | $k$ は素数 | |
| $13 \sim 15$ | $i \ne n$ のとき $p_i = i+1$, $p_n = 1$ | ||
| $16 \sim 20$ |
$100\%$ のデータにおいて、$n \le 10^5$, $2 \le k \le 2 \times 10^5$ を満たすことが保証されます。