만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

안무

시간 제한0.5초메모리 제한1024 MB

요약
N명의 무용수가 줄을 선 상태에서 순환 이동, 쌍 교환, 임의 치환 동작을 차례로 적용합니다. 각 동작 뒤에 특정 무용수의 위치를 구합니다.
난이도

어려움10점 중 8점

유형
배열, 시뮬레이션, 수학
정답자
아직 제출이 없습니다

문제

헝가리 국립무용단이 새 안무를 연습하고 있다. 무용수는 NN명이며 0부터 N−1N-1까지 번호가 붙어 있다. NN은 짝수이다.

연습에서 안무가는 먼저 무용수를 한 줄로 세운다. 위치는 0부터 N−1N-1까지 번호가 붙어 있고, 처음에는 위치 ii에 무용수 P[i]P[i]가 선다.

줄을 세운 뒤 안무가는 동작을 차례로 지시한다. 각 동작이 끝나야 다음 동작을 시작한다. 동작은 네 종류이다.

  1. 모든 무용수가 오른쪽으로 KK칸 순환 이동한다. 여기서 0≤K<N0 ≤ K < N이다. 00부터 N−K−1N-K-1까지의 각 ii에 대해 위치 ii의 무용수는 위치 i+Ki+K로 간다. N−KN-K부터 N−1N-1까지의 각 ii에 대해 위치 ii의 무용수는 위치 i+K−Ni+K-N으로 간다.

  2. 모든 무용수가 왼쪽으로 KK칸 순환 이동한다. 여기서 0≤K<N0 ≤ K < N이다. KK부터 N−1N-1까지의 각 ii에 대해 위치 ii의 무용수는 위치 i−Ki-K로 간다. 00부터 K−1K-1까지의 각 ii에 대해 위치 ii의 무용수는 위치 i−K+Ni-K+N으로 간다.

  3. 00부터 N/2−1N/2-1까지의 각 ii에 대해 위치 2i2i와 2i+12i+1의 무용수가 자리를 바꾼다.

  4. 이 동작 전에 위치 ii(0≤i<N0 ≤ i < N)에 무용수 rir_i가 서 있다고 하자. 00부터 N−1N-1까지의 각 jj에 대해 무용수 jj는 위치 rjr_j로 간다.

모든 동작이 끝난 뒤에도 무용수들의 위치는 서로 다르다.

안무가는 MM개의 동작으로 이루어진 계획을 세우고, 동작을 하나씩 추가한다. 다음 동작을 추가하기 전에, 지금까지 추가한 모든 동작을 수행한 뒤 특정 무용수가 어느 위치에 있는지 묻기도 한다. 계획된 동작을 시뮬레이션하고 이 질문들에 답하라.

제한

  • 1≤N≤1000001 ≤ N ≤ 100000
  • 0≤i<N0 ≤ i < N인 모든 ii에 대해 0≤P[i]<N0 ≤ P[i] < N
  • 0≤i<j<N0 ≤ i < j < N인 모든 ii, jj에 대해 P[i]≠P[j]P[i] ≠ P[j]
  • 0≤M≤1000000 ≤ M ≤ 100000
  • 1≤Q≤2000001 ≤ Q ≤ 200000
  • 0≤K<N0 ≤ K < N
  • 0≤D<N0 ≤ D < N
  • 시간 제한 500 ms, 메모리 제한 1024 MB.

예제1

  1. 예제 1

    입력
    2
    0 1
    0
    1
    0
    
    예상 출력
    0