그런 사람은 없었습니다

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

요약
폼 제출과 입금 사건이 시간 순서대로 주어질 때, 입금 후 다른 회원의 폼 제출 S건이 지나도록 자기 폼을 내지 않은 회원을 찾는다.
난이도

보통10점 중 4점

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

문제

오늘도 평화로운 알로하의 정산 시간이 다가왔다. 재무부장 세영이는 NN명의 회원들에게 돈을 걷어야 한다. 각 회원은 11부터 NN까지 번호가 차례대로 매겨져 있다.

세영이는 올바른 정산을 위하여 회원들에게 입금하기 전에 폼을 제출해 달라고 전달했다. 하지만, 어떤 회원들은 폼만 작성하거나, 입금만 하거나, 입금을 먼저 하고 폼을 제출하기도 했다. 입금한 시점 이후 다른 SS명이 폼을 제출한 후에도 폼을 제출하지 않은 회원은 폼 제출을 잊었다고 판단한다.

세영이는 폼 제출을 잊은 회원을 모두 찾아 확인 연락을 보내야 한다. 세영이를 도와 폼 제출을 잊은 회원의 번호를 모두 출력하는 프로그램을 작성해 주자. 단, 두 번 이상 폼을 제출하거나 두 번 이상 입금한 회원은 없으며, 폼 제출 또는 입금이 동시에 여러 번 발생하는 경우는 없다.

입력

첫째 줄에 회원의 수 NN과 일어나는 사건의 수 MM이 공백으로 구분되어 주어진다. 사건은 폼 제출 또는 입금을 의미한다. (1≤N≤2,000;(1\leq N\leq 2\\, 000; 1≤M≤N×2)1\leq M\leq N\times 2)

둘째 줄에 정수 SS가 주어진다. (1≤S≤N)(1\leq S\leq N)

셋째 줄부터 MM개의 줄에 걸쳐 각 사건을 설명하는 두 정수 ii, tt가 공백으로 구분되어 주어진다. t=0t=0이라면 ii번 회원이 폼을 제출했다는 의미이며, t=1t=1이라면 ii번 회원이 입금했다는 의미이다. 사건은 발생한 순서대로 주어진다. (1≤i≤N;(1\le i\le N; t∈0,1)t\in\\{0,1\\} )

출력

첫째 줄부터 폼 제출을 잊은 회원의 번호를 한 줄에 하나씩 오름차순으로 모두 출력한다.

폼 제출을 잊은 회원이 없다면 첫째 줄에 -1만을 출력한다.

예제3

  1. 예제 1

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

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

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