음악 컬렉션 (Small1)
시간 제한5초메모리 제한512 MB
각 곡마다 그 곡에만 들어 있고 다른 곡에는 들어 있지 않은 가장 짧은 부분 문자열을 정해진 사전식 순서로 가려냅니다.
문제
필은 음악 컬렉션이 아주 크고, 무엇을 들을지 까다롭게 고른다. 곡마다 문자로 된 이름이 있다. 음악 플레이어에는 검색창이 있어서, 문자열을 입력하면 이름에 그 문자열이 들어 있는 곡이 모두 나열된다. 일치하는 곡이 정확히 하나면 엔터를 눌러 그 곡을 재생한다.
필은 마우스 쓰는 것을 싫어하고 타이핑도 길게 하기 싫어해서, 지금 듣고 싶은 곡 하나만 정확히 걸리는 가장 짧은 문자열을 항상 입력한다. 곡마다 그 검색어를 구하라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 각 테스트 케이스의 첫 줄에는 곡의 수 이 주어지고, 이어지는 개의 줄에 곡 이름이 한 줄에 하나씩 주어진다. 이 곡이 필이 가진 곡 전부다.
곡 이름은 영문자, 공백, 붙임표(-)로만 이루어지고 길이는 1자 이상 100자 이하다. 한 테스트 케이스 안에서 곡 이름은 모두 서로 다르다. 곡 이름과 검색은 대소문자를 구분하지 않아서 "dZihan"과 "Dzihan"은 같은 이름이다.
제한
출력
각 테스트 케이스마다 먼저 "Case #:" 형식으로 한 줄을 출력한다. 는 1부터 시작하는 테스트 케이스 번호다. 그다음 입력에 주어진 순서대로 곡마다 한 줄씩, 그 곡 하나만 정확히 걸리는 가장 짧은 검색어를 큰따옴표로 감싸 출력한다. 가장 짧은 검색어가 여럿이면 사전순으로 가장 앞선 것을 출력한다. 그런 검색어가 없으면 큰따옴표 없이 :( 를 출력한다.
검색어는 영문자, 공백, 붙임표로 이루어진 문자열이고 빈 문자열도 검색어가 된다. 빈 문자열은 모든 곡 이름에 들어 있는 것으로 본다.
사전순에서 공백이 붙임표보다 앞서고, 붙임표가 모든 영문자보다 앞서며, 대문자가 소문자보다 앞선다.