만드는 중입니다

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

대회 진출 팀 선발

면접 대비

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

요약
순위순으로 주어진 팀과 각 팀의 학교 번호를 보고, 학교당 최대 c팀까지 진출시킨 뒤 남은 자리는 순위가 높은 나머지 팀으로 채워 진출할 k개 팀을 고릅니다.
난이도

보통10점 중 4점

유형
그리디, 해시맵
정답자
아직 제출이 없습니다

문제

당신은 지역 대회의 RCD다. 대회가 방금 끝나서, 다음 단계 대회에 진출할 팀을 정해야 한다. 팀의 순위는 모두 다르고 동점은 없다.

다음 단계 대회에는 한 학교에서 진출할 수 있는 팀 수에 상한이 있다. 다만 이 상한 때문에 진출 팀이 부족해지면, 남은 자리는 상한을 넘긴 학교의 팀으로 채운다. 이때는 같은 학교 팀이 많이 진출하더라도 순위가 높은 팀을 항상 우선한다.

다음 대회에 진출하는 팀을 순위 순서대로 출력한다.

입력

첫 줄에 정수 nn, kk (1≤k<n≤1051 \leq k < n \leq 10^5)와 cc (1≤c≤n1 \leq c \leq n)가 주어진다. nn은 팀 수, kk는 진출하는 팀 수, cc는 한 학교에서 진출할 수 있는 팀 수의 상한이다.

이어지는 nn개의 줄에는 각각 두 정수 tt와 ss (1≤t,s≤n1 \le t,s \le n)가 주어진다. 팀 tt의 고유 ID는 tt이고, 이 팀은 ss번 학교 소속이다. 모든 팀 ID는 서로 다르다. 팀은 순위가 높은 순서대로 나열되어 있다.

출력

kk개의 줄을 출력한다. 각 줄에는 진출한 팀의 ID를 하나씩, 순위 순서대로 적는다.

예제1

  1. 예제 1

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