만드는 중입니다

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

송도고 레일 정비 사업

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

요약
각 레일의 시작점에 물건을 놓았을 때, 우선순위가 낮은 교차 레일로 계속 갈아타며 최종적으로 도착하는 레일 번호를 구합니다.
난이도

어려움10점 중 8점

유형
시뮬레이션, 세그먼트 트리, 그래프
정답자
아직 제출이 없습니다

문제

송도고의 부지는 너무 커서 큰 물건을 운반하기가 까다롭다. 이를 해결하기 위해 진서는 송도고 지하에 동서 방향으로 뻗은 직선 레일들과 남북 방향으로 뻗은 직선 레일들을 설치하였다. 하지만 공사 후에 설계도를 잃어버려서, 어떤 레일의 시작점에 물건을 놓으면 최종적으로 어디에 운반되는지 알 수 없게 되었다. 다행히 진서는 운반 시설이 동서 레일 nn개와 남북 레일 mm개로 어떻게 이루어졌는지, 그리고 각 레일의 위치, 우선순위, 운반 방향을 기억하고 있다.

구체적으로 각 ii번 레일의 우선순위 pip_i와 운반 방향 did_i가 주어진다. 1≤i≤n1 \le i \le n이면 그 레일은 동서 방향으로 뻗어 있고, n+1≤i≤n+mn+1 \le i \le n+m이면 남북 방향으로 뻗어 있다. 레일의 우선순위 pip_i는 1 이상 n+mn+m 이하의 서로 다른 정수이다. 모든 동서 레일은 모든 남북 레일과 교차하고, 모든 남북 레일은 모든 동서 레일과 교차한다. 동서 레일끼리 교차하거나 남북 레일끼리 교차하는 경우는 없다.

동서 레일에 대한 정보는 다음과 같다.

  • 번호가 클수록 상대적으로 남쪽에 위치한다.
  • ii번 동서 레일 위의 물건은 di=1d_i=1이면 서쪽으로, di=2d_i=2이면 동쪽으로 움직인다.
  • ii번 동서 레일의 시작점은 di=1d_i=1이면 동쪽 끝, di=2d_i=2이면 서쪽 끝이다.
  • ii번 동서 레일 위에서 움직이던 물건은 우선순위 값이 더 작은, 즉 pi>pjp_i>p_j인 jj번 남북 레일과의 교차점에 도달하면 그 즉시 jj번 남북 레일로 옮겨 탄다.

남북 레일에 대한 정보는 다음과 같다.

  • 번호가 클수록 상대적으로 동쪽에 위치한다.
  • ii번 남북 레일 위의 물건은 di=1d_i=1이면 북쪽으로, di=2d_i=2이면 남쪽으로 움직인다.
  • ii번 남북 레일의 시작점은 di=1d_i=1이면 남쪽 끝, di=2d_i=2이면 북쪽 끝이다.
  • ii번 남북 레일 위에서 움직이던 물건은 우선순위 값이 더 작은, 즉 pi>pjp_i>p_j인 jj번 동서 레일과의 교차점에 도달하면 그 즉시 jj번 동서 레일로 옮겨 탄다.

각 레일의 시작점에 물건을 놓았을 때, 물건이 최종적으로 도착하는 레일의 번호를 구하라.

입력

첫 번째 줄에 두 정수 nn과 mm이 공백으로 구분되어 주어진다.

이어서 n+mn+m개의 각 i+1i+1번째 줄에는 두 정수 pip_i와 did_i가 공백으로 구분되어 주어진다. (1≤i≤n+m1 \le i \le n+m)

출력

n+mn+m개의 각 ii번째 줄에, ii번 레일의 시작점에 물건을 놓았을 때 물건이 최종적으로 도착하는 레일의 번호를 출력한다.

제한

  • 1≤n,m≤100 0001 \le n, m \le 100\,000.
  • 1≤pi≤n+m1 \le p_i \le n+m.
  • di∈{1,2}d_i \in \{1, 2\}.
  • i≠ji \neq j이면 pi≠pjp_i \neq p_j.

예제1

  1. 예제 1

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