만드는 중입니다

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

뒤집기 mex

시간 제한2초메모리 제한512 MB

요약
앞면과 뒷면에 정수가 적힌 카드를 하나씩 추가할 때마다, 카드를 뒤집는 모든 방법에서 나올 수 있는 서로 다른 mex 값의 개수를 구합니다.
난이도

보통10점 중 7점

유형
배열, 그리디, 구현
정답자
아직 제출이 없습니다

문제

mex\mathrm{mex}는 주어진 수열에 없는 00 이상의 정수 중 가장 작은 값을 뜻하는 함수이다. 준서는 mex\mathrm{mex}를 좋아하는 시우를 위해 NN장의 카드로 놀이를 만들었다.

규칙은 다음과 같다. 11번 단계부터 NN번 단계까지 차례로 진행한다.

  • ii번 단계에서 준서가 ii번 카드를 테이블에 놓는다. 카드의 앞면과 뒷면에는 각각 00 이상의 정수 AiA_i, BiB_i가 적혀 있다.
  • 시우는 테이블에 놓인 ii개의 카드를 뒤집는 2i2^i가지 경우 각각에 대해, 위를 향한 면의 수를 수열로 보고 mex\mathrm{mex} 값을 계산한다. 그다음 가능한 mex\mathrm{mex} 값의 가짓수를 말한다.
  • 준서는 시우의 답을 확인한 뒤 i+1i+1번 단계로 넘어간다.

시우를 도와, 각 단계에서 시우가 말해야 하는 답을 구하자.

입력

첫 번째 줄에 카드의 개수 NN가 주어진다. (1≤N≤106)(1 \le N \le 10^6)

두 번째 줄부터 NN개의 줄에 걸쳐 각 줄마다 순서대로 ii번 카드의 정보를 의미하는 두 정수 AiA_i, BiB_i가 공백으로 구분되어 주어진다. (0≤Ai,Bi≤106)(0 \le A_i, B_i \le 10^6)

출력

ii번째 줄에 시우가 ii번 단계에서 말해야 하는 답을 출력한다.

예제1

  1. 예제 1

    입력
    8
    7 7
    0 4
    1 3
    5 1
    2 2
    1 4
    4 5
    3 3
    
    예상 출력
    1
    2
    3
    3
    4
    5
    6
    5