순열

순열 P와 여러 질의 K가 주어질 때, P^1부터 P^(M-1)까지 사전순으로 정렬했을 때 K번째인 순열 P^T의 지수 T를 구한다.

어려움8수학조합론정렬구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

크기가 NN인 순열 PPP=[P1,P2,,PN]P = [P_1, P_2, \dots, P_N]인 배열로, 1PiN1 \le P_i \le N을 만족하고 iji \ne j이면 PiPjP_i \ne P_j이다.

두 순열 A,BA, B에 대해 사전식 순서를 정의한다. AABB보다 작다는 것은 Ai<BiA_i < B_i이고 모든 1j<i1 \le j < i에 대해 Aj=BjA_j = B_j인 인덱스 ii (1iN1 \le i \le N)가 존재한다는 뜻이다.

두 순열의 곱도 정의한다. A,BA, B가 크기가 NN인 순열이면 A×BA \times B는 크기가 NN인 순열이며, ii번째 원소는 (A×B)i=ABi(A \times B)_i = A_{B_i}이다.

순열과 양의 정수의 거듭제곱을 정의한다. PP가 순열이고 zz가 양의 정수이면 PzP^zP1=PP^1 = P이고 z>1z > 1일 때 Pz=Pz1×PP^z = P^{z-1} \times P로 정의된다.

크기가 NN인 순열 PP가 주어진다. PM=PP^M = P를 만족하는 11보다 큰 가장 작은 정수 MM을 생각하자. A1,A2,,AM1A_1, A_2, \dots, A_{M-1}P1,P2,,PM1P^1, P^2, \dots, P^{M-1}을 사전식 순서로 오름차순 정렬한 결과라 하자. 즉 A1<A2<<AM1A_1 < A_2 < \dots < A_{M-1}이다.

예를 들어 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^7 = [2, 3, 1, 5, 4]이다. 따라서 M=7M = 7이고 정렬된 배열은 A=[P6,P3,P4,P1,P2,P5]A = [P^6, P^3, P^4, P^1, P^2, P^5]이다.

QQ개의 질의가 주어진다. ii번째 질의는 정수 KiK_i를 포함한다. ii번째 질의의 답은 PTi=AKiP^{T_i} = A_{K_i}를 만족하는 정수 TiT_i (1Ti<M1 \le T_i < M)이다. 모든 질의에 답하라.

입력

첫째 줄에 순열의 크기와 질의의 개수를 나타내는 두 정수 N,QN, Q (1N1001 \le N \le 100, 1Q3000001 \le Q \le 300000)가 주어진다. 둘째 줄에 순열을 나타내는 NN개의 정수 P1,P2,,PNP_1, P_2, \dots, P_N (1PiN1 \le P_i \le N)이 주어진다. 입력된 수는 순열임이 보장된다. 다음 QQ개의 줄에는 각 질의를 나타내는 정수 KiK_i (1Ki<M1 \le K_i < M)가 한 줄에 하나씩 주어진다. 여기서 MM은 위에서 설명한 PM=PP^M = P인 가장 작은 11보다 큰 정수이며, 입력에 직접 주어지지 않는다.

출력

QQ개의 줄에 각 질의의 답 TiT_i를 한 줄에 하나씩 출력한다.

힌트

공개된 입력에 사용된 순열은 문제 본문에서 설명한 순열과 같다.