P1001

[Poi2003]Shuffle

[Poi2003]Shuffle

有 nn 个位置,编号为 11 到 nn。一次洗牌由排列 a=(a1,…,an)a=(a_1,\ldots,a_n) 描述:洗牌后,原来位于位置 kk 的牌会移动到位置 aka_k。

给定正整数 ll,以及连续进行 ll 次相同的洗牌后得到的排列 bb,其中 bk=al(k)b_k=a^l(k)。请构造任意一个满足条件的排列 aa。

输入格式

第一行包含两个整数 nn 和 ll。

接下来 nn 行,每行包含一个整数 bkb_k。这 nn 个整数构成排列 bb。

输出格式

输出 nn 个整数,每行一个,描述一个由 11 到 nn 构成的排列 aa,并满足对于每个 kk,均有 al(k)=bka^l(k)=b_k。

数据保证至少存在一组解。若有多组解,输出任意一组即可。

样例输入

5 2
1
2
5
3
4

样例输出

1
2
4
5
3

样例解释

排列 2,1,4,5,32,1,4,5,3 也是一组合法答案。

数据范围

  • 1≤n,l≤1061\le n,l\le 10^6;
  • 1≤bk≤n1\le b_k\le n;
  • bb 是一个由 11 到 nn 构成的排列。

来源与许可

本题为 POI 2003 试题「Shuffle」,题面与测试数据整理自 BZOJ。

样例 1

输入

5 2
1
2
5
3
4

输出

1
2
4
5
3