R9K

각 메시지에서 미리 주어진 닉네임을 지우고 공백을 정리한 뒤, 그 결과가 이전에 나온 적이 있는지 판별한다.

보통4문자열해시맵구현시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

최근 IRC(Internet Relay Chat)를 알게 된 미르코는 금세 여러 인기 채널의 운영자가 되었다. 그런데 같은 메시지를 대량으로 채널에 보내는 스패머 때문에 다른 사용자들이 제대로 대화를 나눌 수 없다. 미르코는 "R9K 모드"라는 자동 운영 방식을 듣고 여러분에게 구현을 도와 달라고 부탁했다. R9K 모드는 반복되는 메시지를 자동으로 막는다. 이때 메시지에 등장하는 닉네임은 모두 무시해야 한다.

정확한 규칙은 다음과 같다.

  • 닉네임은 채널에서 사용자를 부르는 이름이다.
    • 닉네임은 숫자와 영문 대소문자로 이루어진 비어 있지 않은 연속된 문자열이다.
    • 대문자와 소문자를 구분한다.
    • 가능한 닉네임 목록은 미리 주어진다.
    • 올바른 닉네임의 예로 Mirko, Slavko, 0cool, AcidBurn이 있다.
  • 채널에는 메시지가 차례로 들어온다.
    • 메시지는 공백, 숫자, 영문 대소문자, 그리고 문장 부호(마침표 ., 하이픈 -, 쉼표 ,, 세미콜론 ;, 물음표 ?, 느낌표 !)로 이루어진다.
    • 메시지는 공백으로 시작하거나 끝나지 않는다.
    • 메시지는 비어 있을 수 있다.
    • 올바른 메시지의 예로 Mirko i Slavko ce biti na CERC-u., Puno srece na natjecanju zele vam organizatori!가 있다.
  • 먼저 각 메시지에서 모든 닉네임의 모든 등장을 지운다.
    • 닉네임은 공백, 문장 부호, 메시지의 시작이나 끝으로 구분된다. 즉 숫자와 영문자가 최대한 이어진 덩어리 전체가 닉네임과 같을 때만 지운다.
    • 예를 들어 닉네임이 MirkoSlavko이면 메시지 Mirko i Slavko ce biti na CERC-u._i__ce_biti_na_CERC-u.가 되고(밑줄은 공백을 나타낸다), 메시지 !Mirko.Slavko?!.?가 된다. 하지만 메시지 MirkoSlavko에서는 아무것도 지우지 않는다.
  • 두 개 이상 연속된 공백은 공백 하나로 바꾼다.
    • 예를 들어 _i__ce_biti_na_CERC-u._i_ce_biti_na_CERC-u.가 된다(밑줄은 공백을 나타낸다).
  • 메시지 앞뒤의 공백을 지운다.
    • 예를 들어 _i_ce_biti_na_CERC-u.i_ce_biti_na_CERC-u.가 된다(밑줄은 공백을 나타낸다).
  • 들어온 순서대로 각 메시지에 대해, 이렇게 바꾼 메시지가 앞에서 이미 나온 적이 있으면 BRISI를, 나온 적이 없으면 OSTAVI를 출력한다.

입력

첫째 줄에 닉네임의 수 NN과 메시지의 수 MM이 주어진다. 두 수는 모두 자연수이다.

둘째 줄에 NN개의 닉네임이 공백으로 구분되어 주어진다.

다음 MM개의 줄에 메시지가 채널에 들어온 순서대로 한 줄에 하나씩 주어진다.

입력 전체의 문자 수는 200만 개 미만이며, 닉네임과 메시지는 문제에서 설명한 조건을 따른다.

출력

MM개의 줄에 메시지마다 한 줄씩 출력한다. 각 줄에는 그 메시지를 지워야 하면 BRISI를, 남겨야 하면 OSTAVI를 출력한다.