핑계, 또 핑계!

면접 대비

시간 제한1초메모리 제한128 MB

요약
키워드가 단어 단위로, 대소문자 구분 없이 가장 많이 등장하는 변명을 찾아 원문 그대로 출력한다.
난이도

보통10점 중 4점

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

문제

한 판사가 배심원 의무를 회피하려고 사람들이 대는 궁색한 핑계에 지쳤습니다. 터무니없는 핑계를 듣는 시간을 줄이기 위해, 여러 핑계 목록에서 주어진 키워드 목록을 검색해 형편없는 핑계를 골라내는 프로그램을 작성해야 합니다. 키워드는 대소문자를 구분하지 않고 일치시킵니다.

입력

입력은 여러 개의 데이터 세트로 이루어집니다. 각 세트의 첫 줄에는 정수 두 개가 있습니다. 첫 번째 정수 KK (1≤K≤201 \le K \le 20)는 검색할 키워드의 개수이고, 두 번째 정수 EE (1≤E≤201 \le E \le 20)는 세트에 포함된 핑계의 개수입니다. 이어지는 KK개의 줄에는 각각 키워드가 하나씩 있고, 그다음 EE개의 줄에는 각각 핑계가 하나씩 있습니다.

모든 키워드는 길이가 LL (1≤L≤201 \le L \le 20)인 연속된 소문자 알파벳으로만 이루어지며, 줄의 11번째부터 LL번째 칸까지를 차지합니다. 핑계에는 대문자 또는 소문자 알파벳과 숫자, 공백, 그리고 문장부호 ".,!? 중 어떤 것이든 올 수 있으며, 길이는 7070자를 넘지 않습니다. 모든 핑계에는 공백이 아닌 문자가 최소 한 개 이상 있습니다.

입력은 파일의 끝까지 계속됩니다.

출력

각 데이터 세트마다 가장 형편없는 핑계를 출력합니다. 가장 형편없는 핑계란 키워드가 나타난 횟수가 가장 많은 핑계입니다. 어떤 키워드가 핑계에 '나타났다'고 보는 것은, 그 키워드가 끊기지 않고 연속된 형태로 존재하며 양쪽이 줄의 시작이나 끝, 공백, 또는 알파벳이 아닌 문자로 구분될 때뿐입니다. 같은 키워드가 여러 번 나타나면 각 등장을 별개의 횟수로 셉니다.

각 데이터 세트의 출력은 Excuse Set # 바로 뒤에 세트 번호(11부터 시작)를 붙인 줄로 시작합니다. 그다음 줄부터는 가장 형편없는 핑계를 입력에서 읽은 그대로 출력합니다. 가장 형편없는 핑계가 여러 개여서 동점이면, 입력에 나타난 순서대로 출력합니다. 서로 다른 데이터 세트 사이는 빈 줄 하나로 구분합니다.

예제3

  1. 예제 1

    입력
    5 3
    dog
    ate
    homework
    canary
    died
    My dog ate my homework.
    Can you believe my dog died after eating my canary... AND MY HOMEWORK?
    This excuse is so good that it contain 0 keywords.
    6 5
    superhighway
    crazy
    thermonuclear
    bedroom
    war
    building
    I am having a superhighway built in my bedroom.
    I am actually crazy.
    1234567890.....,,,,,0987654321?????!!!!!!
    There was a thermonuclear war!
    I ate my dog, my canary, and my homework ... note outdated keywords?
    
    예상 출력
    Excuse Set #1
    Can you believe my dog died after eating my canary... AND MY HOMEWORK?
    
    Excuse Set #2
    I am having a superhighway built in my bedroom.
    There was a thermonuclear war!
    
  2. 예제 2

    입력
    2 3
    red
    blue
    The red car.
    A blue sky.
    Nothing here at all.
    
    예상 출력
    Excuse Set #1
    The red car.
    A blue sky.
    
  3. 예제 3

    입력
    1 1
    hi
    hi there
    1 2
    bye
    say bye now
    no match
    
    예상 출력
    Excuse Set #1
    hi there
    
    Excuse Set #2
    say bye now