L-I-N-G-O

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

새로운 TV 게임 쇼에서 참가자는 다른 다섯 글자 단어를 추측해 얻은 힌트를 바탕으로 숨겨진 다섯 글자 단어를 알아맞혀야 합니다.

규칙은 다음과 같습니다.

  • 제작진이 비밀 다섯 글자 단어를 하나 고릅니다.
  • 참가자의 목표는 그 단어를 맞히는 것입니다.
  • 시작할 때 비밀 단어의 첫 글자가 공개됩니다.
  • 참가자가 다섯 글자 단어를 추측하면, 컴퓨터가 글자별로 얼마나 근접했는지 알려 줍니다.
    • 글자가 맞고 위치도 맞는 경우,
    • 글자는 비밀 단어에 있지만 위치가 틀린 경우,
    • 글자가 비밀 단어에 없는 경우.

피드백은 다섯 글자짜리 한 줄로 다음 규칙에 따라 출력됩니다.

  • 대문자는 글자와 위치가 모두 맞음을 뜻합니다.
  • 소문자는 글자는 비밀 단어에 있지만 위치가 틀림을 뜻합니다.
  • 마침표(.)는 그 글자가 비밀 단어에 없음을 뜻합니다.

예를 들어 비밀 단어가 HELLO라고 합시다. 참가자는 단어가 H로 시작한다는 것을 듣고 HOLES를 추측합니다. 컴퓨터는 다음과 같이 보고합니다.

HoLe.

여기서 HL은 글자와 위치가 모두 맞고, oe는 단어에 있지만 위치가 틀리며, S는 단어에 아예 없습니다. 추측이 비밀 단어와 정확히 일치하면 보고는 비밀 단어의 다섯 대문자가 됩니다.

같은 글자가 여러 번 나오는 경우, 비밀 단어의 각 글자는 추측의 글자 하나에만 대응될 수 있습니다. 먼저 위치까지 맞는 글자를 대문자로 표시하고, 남은 추측 글자는 비밀 단어에 아직 쓰이지 않은 같은 글자가 남아 있을 때만 소문자로 표시합니다.

참가자의 각 추측을 평가해 추측마다 한 줄짜리 보고를 출력하는 프로그램을 작성하세요.

입력

입력은 하나 이상의 게임으로 이루어집니다. 게임과 게임 사이는 빈 줄 하나로 구분됩니다. 한 게임 안에서 첫 줄은 비밀 단어이고, 나머지 줄은 참가자의 추측입니다(추측은 필요한 수보다 많거나 적을 수 있습니다).

  • 비밀 단어는 항상 정확히 다섯 개의 대문자입니다.
  • 각 추측은 유효성을 검사해야 합니다. 유효한 추측은 정확히 다섯 개의 대문자입니다. 그 밖의 줄(길이가 다르거나, 소문자가 있거나, 다른 문자가 있는 경우)은 무효한 추측입니다.

비밀 단어가 LINGO인 게임에서 입력이 끝납니다. 그 지점에서 처리를 멈추며, 그 게임은 진행하지 않고 이후의 내용도 읽지 않습니다.

출력

게임의 결과를 순서대로 출력합니다. 연속된 게임의 출력 사이에는 빈 줄 하나를 넣습니다(첫 게임 앞에는 빈 줄이 없고, 종료용 LINGO 게임은 아무것도 출력하지 않습니다).

각 게임에 대해:

  • 먼저 처음 상태 보고를 출력합니다. 비밀 단어의 첫 글자 뒤에 마침표 네 개를 붙입니다(예: H....).
  • 그다음 추측마다 한 줄짜리 보고를 출력합니다. 무효한 추측이면 직전 보고를 그대로 다시 출력합니다. 유효하든 무효하든 모든 추측은 한 번의 시도로 셉니다.
  • 어떤 추측이 비밀 단어와 정확히 일치하면 그 보고를 출력하고 게임을 즉시 끝냅니다(이후 추측은 무시합니다).
  • 참가자는 최대 다섯 번 추측할 수 있습니다. 다섯 번째 추측 뒤에도 단어를 맞히지 못했거나 그 전에 추측이 다 떨어지면, 비밀 단어를 소문자로 출력하고 다음 게임으로 넘어갑니다.