만드는 중입니다

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

음악 컬렉션 (Small1)

시간 제한5초메모리 제한512 MB

요약
각 곡마다 그 곡에만 들어 있고 다른 곡에는 들어 있지 않은 가장 짧은 부분 문자열을 정해진 사전식 순서로 가려냅니다.
난이도

보통10점 중 4점

유형
문자열 매칭, 완전 탐색
정답자
아직 제출이 없습니다

문제

필은 음악 컬렉션이 아주 크고, 무엇을 들을지 까다롭게 고른다. 곡마다 문자로 된 이름이 있다. 음악 플레이어에는 검색창이 있어서, 문자열을 입력하면 이름에 그 문자열이 들어 있는 곡이 모두 나열된다. 일치하는 곡이 정확히 하나면 엔터를 눌러 그 곡을 재생한다.

필은 마우스 쓰는 것을 싫어하고 타이핑도 길게 하기 싫어해서, 지금 듣고 싶은 곡 하나만 정확히 걸리는 가장 짧은 문자열을 항상 입력한다. 곡마다 그 검색어를 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 곡의 수 NN이 주어지고, 이어지는 NN개의 줄에 곡 이름이 한 줄에 하나씩 주어진다. 이 NN곡이 필이 가진 곡 전부다.

곡 이름은 영문자, 공백, 붙임표(-)로만 이루어지고 길이는 1자 이상 100자 이하다. 한 테스트 케이스 안에서 곡 이름은 모두 서로 다르다. 곡 이름과 검색은 대소문자를 구분하지 않아서 "dZihan"과 "Dzihan"은 같은 이름이다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤101 \le N \le 10

출력

각 테스트 케이스마다 먼저 "Case #xx:" 형식으로 한 줄을 출력한다. xx는 1부터 시작하는 테스트 케이스 번호다. 그다음 입력에 주어진 순서대로 곡마다 한 줄씩, 그 곡 하나만 정확히 걸리는 가장 짧은 검색어를 큰따옴표로 감싸 출력한다. 가장 짧은 검색어가 여럿이면 사전순으로 가장 앞선 것을 출력한다. 그런 검색어가 없으면 큰따옴표 없이 :( 를 출력한다.

검색어는 영문자, 공백, 붙임표로 이루어진 문자열이고 빈 문자열도 검색어가 된다. 빈 문자열은 모든 곡 이름에 들어 있는 것으로 본다.

사전순에서 공백이 붙임표보다 앞서고, 붙임표가 모든 영문자보다 앞서며, 대문자가 소문자보다 앞선다.

예제2

  1. 예제 1

    입력
    5
    6
    A Perfect Circle - Gravity
    Aimee Mann - You Do
    Aqualung - Cinderella
    Arcade Fire - Haiti
    Art of Noise - Pleure
    ATB - Marrakech
    2
    Hybrid - Altitude
    Kings of Convenience - The Build-up
    3
    aaaaaaaabb
    aaaaaaabbb
    ababababab
    3
    butter
    fly
    butterfly
    1
    Unknown Artist - Track One
    
    예상 출력
    Case #1:
    "V"
    " D"
    "Q"
    " F"
    "S"
    "B"
    Case #2:
    "A"
    "C"
    Case #3:
    "AAAAAAAA"
    "BBB"
    "BA"
    Case #4:
    :(
    :(
    "RF"
    Case #5:
    ""
    
  2. 예제 2

    입력
    3
    2
    a b
    a-b
    1
    x
    2
    Ab
    aB
    
    예상 출력
    Case #1:
    " "
    "-"
    Case #2:
    ""
    Case #3:
    :(
    :(