중복 파일
면접 대비시간 제한2초메모리 제한512 MB
파일 이름과 고유 ID가 주어질 때, 이름마다 가장 작은 ID를 가진 파일만 남기고 남은 ID를 오름차순으로 출력한다.
문제
컴퓨터를 쓰다 보면 똑같은 파일을 여러 번 복사해 두어서 저장 공간을 낭비하는 경우가 많다. 그래서 중복 파일을 모두 지우는 프로그램을 작성하기로 했다.
컴퓨터는 다음과 같이 동작한다. 새 파일을 만들 때마다 파일에는 고유한 ID가 부여된다. 기존 파일을 복사해도 새 복사본에는 새 ID가 부여된다. ID는 시간 순서를 따르므로 오래된 파일일수록 ID가 작다. ID가 연속일 필요는 없다. 또한 각 파일에는 이름이 있는데, 여러 파일이 같은 이름을 가질 수 있다. 두 개 이상의 파일이 같은 이름을 가지면 그 파일들은 내용이 완전히 같으며, 그중 ID가 가장 작은 파일을 복사한 것들이다.
모든 파일의 이름과 ID가 주어질 때, 중복을 모두 지우고 각 파일의 가장 오래된 복사본만 남겨야 한다.
입력
입력은 하나 이상의 테스트 케이스로 이루어진다. 입력의 첫 줄에는 테스트 케이스의 수를 나타내는 정수 T (1 ≤ T ≤ 100)가 주어진다. 그 뒤에 T개의 테스트 케이스가 이어진다.
각 테스트 케이스의 첫 줄에는 파일의 수를 나타내는 정수 N (1 ≤ N ≤ 105)이 주어지고, 그 뒤에 N개의 줄이 이어진다. 각 줄에는 파일 이름, 공백 하나, 파일 ID가 차례로 주어진다. 파일 이름은 길이가 10 이하인 비어 있지 않은 영문 소문자 문자열이고, ID는 105 이하인 양의 정수이다.
각 테스트 케이스에서 모든 ID는 서로 다르다.
출력
각 테스트 케이스마다 삭제되지 않는 파일의 ID를 한 줄에 출력한다. ID는 증가하는 순서로 정렬하고, 공백 하나로 구분한다.