#P5506. The Bessie Shuffle

The Bessie Shuffle

题目描述

贝西正在练习她的纸牌魔术。她已经掌握了贝西洗牌法{--}M(2<=M<=10{M (2 <= M <= 10}){)}张牌洗牌,使从上面数第i{i}张牌变成从上面数第P[i]{P[i]}张牌。

现在贝西正在更大的甲板上练习洗牌。她有一副N{N}张牌(M<=N<=100,000){(M <= N <= 100,000),}并将其标记为1{1}N{N}。她通过使用第M{M}张牌并对其进行Bessieshuffle{Bessie-shuffle}来洗牌,并将洗牌后的牌放回最上方。然后她从牌组中取出最上面的一张 牌,把它正面朝下放置。她重复这个过程,把上面的牌依次放在一起,直到牌用完为止。当贝西剩下的牌少于M{M}张时,她不再洗 牌,而是继续把上面的牌放在其他牌的上面。

贝西知道这副牌一开始是有序的,1{1}在上,2{2}在下,N{N}在下。根据贝西洗牌的描述,帮助贝西计算牌组中哪些牌 最终位于Q{Q}个不同的指定位置(1<=Q<=N,Q<=5000){(1 <= Q <= N, Q <= 5000)}

贝西有一种独门的洗牌方法,称为贝西洗A{A:}

贝西洗A{A:}将一堆共M(2<=M<=100,000){M (2 <= M <= 100,000)}张从上到下编号1..M{1..M}的纸牌,从上到下第i{i}张牌洗到位置p[i]{p[i]}

M=3{M=3,}P[1]=3,p[2]=1,p[3]=2,{P[1]=3,p[2]=1,p[3]=2,}则执行一次洗法A{A}后,从上到下将变为2{2,}3{3,}1,{1,}即牌1{1}放到位置3{3,}2{2}放到位置1{1,}3{3}放到位置2{2}

贝西现在要练习另外一种更强的洗牌方法,称为贝西洗B{B,}他有一堆N(M<=N<=100,000){N (M <= N <= 100,000)}张编号为1..N{1..N}的牌,并按从上到下1{1}N{N}的顺序堆放。另有一个堆用来辅助洗牌,称为临时堆,开始时为空。

贝西洗B{B:}

1{(1)}将最上面M{M}张牌进行贝西洗A{A,}

2{(2)}将最上面的一张牌放到临时堆的最上方 ;

重复1{(1)}2{(2)}操作,直到原先的堆没有牌为止。

以上过程中,当原先堆的牌不足M{M}张的时候,将不进行贝西洗A{A,}而是将最上面的牌依次放到临时堆上。

现在有Q{Q}个询问,求临时堆中Qi{Qi}位置上的牌的编号。

输入格式

第一行:一行,包含N,M{N, M}Q{Q,}用空格隔开。

2..1+M:{2 . .1+M:}i+1{i+1}行表示贝西洗牌(1<=P[i]<=M){(1 <= P[i] <= M)}中第i{i}张牌从上到下的位置P[i]{P[i]}

2+M{2 + M}行. .1+M+Q:{1+M+Q:}i+1+M{i+1+M}包含单个整数qi{q_i} 描述第i{i}个查询。您将计算位于顶部qi{q_i}位置的卡片上的标签(1<=qi<=N){(1 <= q_i <= N)}

输出格式

1{1}...Q{...Q}行:在第i{i}行,打印一个整数,表示从上到下qi{q_i}位置的卡片。

样例

输入样例

5 3 5
3
1
2
1
2
3
4
5

输出样例

4
5
3
1
2

提示

贝西有一副5{5}张牌,最初的顺序是[1,2,3,4,5]{[1,2,3,4,5]}。她的洗牌是在3{3}张牌,并有移动顶部的卡到底部的效果。桥牌 中的每个位置都有5{5}个查询。

洗牌过程如下:

(1、2、3、4、5]- >[2、3、1、4、5)(把2面朝下)

[3,1,4,5] ->[1,4,3,5](1面朝下)

[4,3,5] ->[3,5,4](3面朝下放)

[5,4](面朝下)

[4](面朝下放4个)

(1{(1}2{2}3{3}4{4}5]>[2{5]- >[2}3{3}1{1}4{4}5)({5)(}2{2}面 朝下){)}

这就产生了[4,5,3,1,2]{[4,5,3,1,2]}的最终顺序。