만드는 중입니다

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

다람쥐

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

요약
각 나무에 이미 차 있는 둥지 번호가 주어질 때, 새 다람쥐가 고른 나무에서 가장 낮은 빈 둥지 번호를 구합니다.
난이도

보통10점 중 5점

유형
해시맵, 구현, 이분 탐색
정답자
아직 제출이 없습니다

문제

마법의 숲에는 마법의 나무들이 자란다. 나무들이 서로 대화할 수 있도록 각 나무에는 고유한 이름이 있다. 나무들은 서로를 쓸데없이 방해하지 않으려고 하므로 모든 이름이 서로 다르다.

마법의 나무 안 마법의 구멍에는 마법의 다람쥐가 산다. 각 구멍에는 번호가 있고, 높은 구멍일수록 번호가 크다. 다람쥐가 길을 잃지 않도록 지혜로운 부엉이는 각 다람쥐에게 나무 이름과 그 나무 안의 구멍 번호가 적힌 마법의 쪽지를 주었다. 부엉이는 모든 다람쥐의 주소를 마법의 수첩에도 기록한다.

가끔 숲에 새로운 다람쥐가 나타나 구멍에 들어가 살려고 한다. 각 다람쥐는 살고 싶은 나무를 이미 골랐지만, 그 나무의 일부 구멍은 이미 차 있다. 그러면 다람쥐는 지혜로운 부엉이에게 도움을 청해 그 나무에서 빈 구멍을 알려 달라고 한다. 다람쥐는 모두 게을러서 구멍이 가능한 한 낮기를 원한다. 이 나무는 마법의 나무라서 구멍이 얼마든지 있고, 모든 구멍은 서로 다른 높이에 있다. 부엉이가 각 다람쥐에게 구멍을 골라 주도록 도와라.

입력

첫 줄에는 부엉이 수첩에 적힌 기록의 개수 nn이 주어진다. 이어지는 nn개의 줄에 기록이 하나씩 주어진다. 각 기록은 나무 이름과 다람쥐가 사는 구멍 번호를 이어 붙인 것이다. 나무 이름은 길이가 1 이상인 소문자 라틴 문자의 문자열이다. 구멍 번호는 10910^9 이하의 자연수다.

다음 줄에는 새로 온 다람쥐의 수가 주어진다. 이어지는 각 줄에는 그 다람쥐가 살고 싶은 나무의 이름이 하나씩 주어진다. 입력 파일의 크기는 10610^6 바이트를 넘지 않는다.

출력

각 다람쥐에 대해, 그 다람쥐가 살 수 있는 가장 낮은 빈 구멍의 번호를 출력한다.

예제1

  1. 예제 1

    입력
    5
    stepan1
    vasiliy4
    stepan4
    stepan3
    vladimir1000000
    3
    stepan
    vladimir
    stepan
    
    예상 출력
    2
    1
    5