#Summer2400203. 不完美的洗牌

不完美的洗牌

不完美的洗牌

时空限制:2s 256MB

题目描述

最近小鹿看了刘谦的扑克牌魔术开始沉迷与各种洗牌技巧,但是他做不到完美的洗牌。不过他可以用一些特定的手法保证某种洗牌方案不变(比如将牌堆顶部的牌放到底部)。于是,他很想知道假如重复一个洗牌动作很多次,最终牌的顺序会变成什么样子。

具体来说,有一副牌有n张不同的牌,编号为0到n-1,初始时按照升序排列。第一次洗牌时,他会把第i号牌放到bib_i处。之后继续用相同的洗牌方式重复m遍。请你给出最终第i号牌在何处。

输入格式

第一行一个整数T,表示测试样例数,每组样例有两行。 样例的第一行有两个整数n和m,表示牌数和洗牌次数。 第二行n个数bib_i, 表示洗牌方案。

输出格式

T行数据,每行n个数,第i个数表示第i号牌在第i个位子上。

输入样例

2
5 3
1 2 3 4 0
8 3
0 2 4 6 1 3 5 7

输出样例

3 4 0 1 2
0 1 2 3 4 5 6 7

样例解释 对于三组样例,洗牌的过程如下: (0,1,2,3,4)-> (4,0,1,2,3)-> (3,4,0,1,2)->(2,3,4,0,1).

(0,1,2,3,4,5,6,7)->(0,4,1,5,2,6,3,7) ->(0,2,4,6,1,3,5,7)->(0,1,2,3,4,5,6,7).

数据范围

对于20%的数据 T=1,n<=10,m<=100. 对于40%的数据T=1000,n<=10000,m<=10000. 对于100%的数据T<=1e6,n<=1e6,m<=1e18.

保证n的和不超过1e6。