#P16699. [ICPC 2017 Jakarta R]Permutation

[ICPC 2017 Jakarta R]Permutation

题目描述

长度为 NN 的排列是一个数组:

P=[P1,P2,,PN],P=[P_1,P_2,\ldots,P_N],

其中 11NN 的每个整数恰好出现一次。

排列的字典序

AABB 是两个长度为 NN 的排列。

当且仅当存在某个下标 ii,满足:

  • Ai<BiA_i<B_i
  • 对所有 1j<i1\le j<i,都有 Aj=BjA_j=B_j

AA 的字典序小于 BB

排列乘法

AABB 都是长度为 NN 的排列,定义排列乘积:

A×BA\times B

的第 ii 个元素为:

(A×B)i=ABi.(A\times B)_i=A_{B_i}.

排列幂

对排列 PP 和正整数 zz,定义:

P1=P,P^1=P,

z>1z>1 时:

Pz=Pz1×P.P^z=P^{z-1}\times P.

现在给定一个长度为 NN 的排列 PP

MM 为满足:

PM=PP^M=P

的最小整数,并且要求:

M>1.M>1.

考虑所有排列:

P1,P2,,PM1.P^1,P^2,\ldots,P^{M-1}.

它们恰好是互不相同的排列。

把这些排列按字典序从小到大排序,得到数组:

A=[A1,A2,,AM1].A=[A_1,A_2,\ldots,A_{M-1}].

即对任意:

1i<j<M,1\le i<j<M,

都有:

Ai<Aj.A_i<A_j.

现在有 QQ 次查询。

ii 次查询给出一个整数 KiK_i,需要输出一个整数 TiT_i,满足:

1Ti<M,1\le T_i<M,

并且:

PTi=AKi.P^{T_i}=A_{K_i}.

也就是说,需要找到字典序第 KiK_i 小的排列幂所对应的指数。

示例

设:

P=[2,3,1,5,4].P=[2,3,1,5,4].

则:

P1=[2,3,1,5,4],P^1=[2,3,1,5,4], P2=[3,1,2,4,5],P^2=[3,1,2,4,5], P3=[1,2,3,5,4],P^3=[1,2,3,5,4], P4=[2,3,1,4,5],P^4=[2,3,1,4,5], P5=[3,1,2,5,4],P^5=[3,1,2,5,4], P6=[1,2,3,4,5],P^6=[1,2,3,4,5], P7=[2,3,1,5,4]=P.P^7=[2,3,1,5,4]=P.

因此:

M=7,M=7,

按字典序排序后:

A=[P6,P3,P4,P1,P2,P5].A=[P^6,P^3,P^4,P^1,P^2,P^5].

输入格式

第一行包含两个整数 N,QN,Q

1N100,1\le N\le100, 1Q300000.1\le Q\le300\,000.

第二行包含 NN 个整数:

P1,P2,,PN,P_1,P_2,\ldots,P_N,

表示给定排列。

保证:

1PiN,1\le P_i\le N,

并且所有 PiP_i 两两不同。

接下来 QQ 行,每行包含一个整数 KiK_i,满足:

1Ki<M.1\le K_i<M.

其中 MM 为题目中定义的最小正整数,但输入不会显式给出 MM

输出格式

输出 QQ 行。

ii 行输出一个整数 TiT_i,表示第 ii 次查询的答案。

样例

输入

5 6
2 3 1 5 4
1
2
3
4
5
6

输出

6
3
4
1
2
5