만드는 중입니다

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

아기 석환이

시간 제한5초메모리 제한768 MB

요약
각 칸은 먼저 쓰인 값만 남기며, 벡터 N개를 사전순으로 정렬한 가장 작은 안정 정렬 순열을 출력합니다.
난이도

어려움10점 중 8점

유형
정렬, 유니온 파인드, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

석환이는 4살 귀여운 아기다. 선생님인 수랄은 석환이에게 아기에게 맞는 지식을 가르치고 있다. 수랄은 커다란 화이트보드를 가져왔는데, 이는 사실상 크기가 MM인 빈 벡터(모든 원소가 0인 벡터) NN개 V1,V2,⋯ ,VNV_1, V_2, \cdots, V_N과 같다.

어제 석환이는 숫자 쓰는 법을 배웠다. 능력을 확인하려고 수랄은 석환이에게 QQ개의 질의를 주었다. 각 질의는 정수 네 개 S,E,P,XS, E, P, X로 주어진다. 벡터 VS,VS+1,⋯ ,VEV_S, V_{S+1}, \cdots, V_E 모두에 대해, 각 벡터의 PP번째 원소에 XX를 쓴다. 석환이는 이미 값을 쓴 자리에 다시 쓰지 않는다.

오늘 석환이는 수열을 O(Nlog⁡N)O(N\log N) 시간에 정렬하는 법을 배웠다. 능력을 확인하려고 수랄은 석환이에게 벡터를 정렬하라고 한다. 석환이는 크기가 NN인 순열 P1,P2,⋯ ,PNP_1, P_2, \cdots, P_N을 찾아야 하며, 모든 1≤i<N1 \leq i < N에 대해 VPi≤VPi+1V_{P_i} \leq V_{P_{i+1}}이어야 한다. 수랄은 안정 정렬을 원하므로, 조건을 만족하는 순열이 여럿이면 사전순으로 가장 작은 것을 출력한다. 길이가 같은 두 수열 LL과 RR에 대해, 어떤 j∈[1,M]j \in [1, M]이 존재하여 모든 1≤i<j1 \leq i < j에 대해 Li=RiL_i = R_i이고 Lj<RjL_j < R_j이면 RR이 LL보다 사전순으로 크다.

석환이는 이 작업을 모두 8000ms 안에 해냈지만, 수랄은 그 방법을 모른다. 수랄을 돕기 위해 석환이가 한 일을 그대로 재현하라.

입력

첫째 줄에 벡터의 개수 NN, 각 벡터의 크기 MM, 질의의 개수 QQ가 주어진다.

다음 QQ개의 줄에는 정수 네 개 S,E,P,XS, E, P, X가 주어진다. 이는 벡터 VS,⋯ ,VEV_S, \cdots, V_E 모두의 PP번째 원소에 XX를 쓰라는 뜻이다.

출력

ii번째 줄에, 모든 1≤i<N1 \leq i < N에 대해 VPi≤VPi+1V_{P_i} \leq V_{P_{i+1}}을 만족하는 순열 P1,P2,⋯ ,PNP_1, P_2, \cdots, P_N 중 사전순으로 가장 작은 순열의 ii번째 원소를 출력한다.

제한

1≤N,M,Q≤2500001 \leq N, M, Q \leq 250000

각 질의에 대해 다음을 만족한다.

  • 1≤S≤E≤N1 \leq S \leq E \leq N
  • 1≤P≤M1 \leq P \leq M
  • 1≤X≤2500001 \leq X \leq 250000

예제1

  1. 예제 1

    입력
    5 5 3
    3 5 2 1
    2 2 2 2
    1 4 4 3
    
    예상 출력
    1
    5
    3
    4
    2