셔플 기계

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

요약
M개의 순열과, 선택한 순열을 여러 번 적용하는 K번의 셔플이 주어질 때 카드의 최종 순서를 구한다.
난이도

보통10점 중 5점

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

문제

태준이는 친구들과 카드 게임을 즐기기 위해 카드 셔플 기계를 구입했다. 모든 게임에서 이기고 싶었던 태준이는 기계의 구조를 분석하여 셔플 결과를 예측하려고 한다.

셔플 기계에는 총 MM가지의 셔플 기술이 내장되어 있다. ii번째 셔플 기술은 11부터 NN까지 각 수가 정확히 한 번씩 등장하는 길이 NN의 수열 S_iS\_i로 표현된다. ii번째 셔플 기술을 11번 실행하면, 위에서 jj번째에 있는 카드는 위에서 S_ijS\_{ij}번째에 위치하게 된다.

셔플 기계를 작동시키면 KK번의 셔플을 정해진 순서대로 실행한 후 종료된다. 한 번의 셔플은 X_iX\_i와 Y_iY\_i 두 개의 정수로 표현되며, 이는 X_iX\_i번 셔플 기술을 Y_iY\_i번 실행한다는 뜻이다.

처음에 카드는 위에서부터 11번부터 NN번까지 순서대로 정렬되어 있다. 셔플 기계를 작동시킨 후 카드들이 어떻게 배열되는지 찾아보자.

입력

첫 번째 줄에 NN, MM, KK가 공백으로 구분되어 주어진다.

다음 MM개의 줄 중 ii번째 줄에는 ii번째 셔플 기술을 나타내는 S_i1,S_i2,⋯ ,S_iNS\_{i1}, S\_{i2}, \cdots , S\_{iN}이 차례대로 공백으로 구분되어 주어진다.

다음 KK개의 줄 중 ii번째 줄에는 ii번 셔플에서 실행할 셔플 기술의 번호 X_iX\_i와 해당 기술을 실행할 횟수 Y_iY\_i가 공백으로 구분되어 주어진다.

출력

셔플 기계를 작동시킨 후 카드의 최종 순서를 위에서부터 순서대로 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 2≤N≤1,0002 \leq N \leq 1\\,000
  • 1≤M≤1,0001 \leq M \leq 1\\,000
  • 1≤K≤1,0001 \leq K \leq 1\\,000
  • S_i1,S_i2,⋯ ,S_iNS\_{i1}, S\_{i2}, \cdots, S\_{iN}에는 11부터 NN까지의 수가 정확히 한 번씩 등장한다. (1≤i≤M1 \leq i \leq M)
  • 1≤X_i≤M1 \leq X\_i \leq M (1≤i≤K1 \leq i \leq K)
  • 1≤Y_i≤1091 \leq Y\_i \leq 10^9 (1≤i≤K1 \leq i \leq K)

예제2

  1. 예제 1

    입력
    6 2 3
    6 5 4 3 2 1
    2 4 6 1 3 5
    1 3
    2 1
    1 2
    
    예상 출력
    3 6 2 5 1 4
    
  2. 예제 2

    입력
    3 2 3
    2 3 1
    3 1 2
    1 2024
    2 7
    1 28
    
    예상 출력
    2 3 1