시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB266987537.879%

문제

영민이는 최근 Wordle이라는 게임에 빠졌다.

Wordle은 숫자 야구와 비슷한 방식으로 진행되며, 컴퓨터가 미리 지정해둔 5글자의 영어 단어를 맞히는 게 목표이다. 컴퓨터가 지정한 이 단어를 편의상 정답 단어라고 하자.

플레이어는 5글자의 단어를 입력하는 방식으로 정답을 추측할 수 있으며, 컴퓨터는 그 추측이 얼마나 맞는지 아래와 같은 방식으로 알려준다.

  • 만약 플레이어가 글자와 그 글자의 위치를 모두 맞췄다면, 그 글자를 초록색으로 칠한다.
  • 만약 플레이어가 글자는 맞췄지만 그 글자의 위치는 틀렸다면, 그 글자를 노란색으로 칠한다.
  • 만약 플레이어가 글자를 틀렸다면, 그 글자는 회색으로 칠한다.

예를 들면, 아래는 정답 단어가 READY일 때, 플레이어의 추측과 이에 대한 결과를 보여준다.

하지만 영어 단어에는 중복된 글자가 있을 수 있기 때문에, 실제 Wordle에서는 아래와 같은 방식으로 글자를 칠한다.

  • 만약 플레이어가 추측한 단어의 $ i $번째 글자가 정답 단어의 $ i $번째 글자와 동일하다면, 그 글자를 초록색으로 칠한다.
  • 위에서 매치되지 않은 글자들 중, 플레이어가 추측한 단어와 정답 단어에 동시에 등장하는 글자들끼리 앞에서부터 일대일로 매칭시킨다. 이때 매칭된 글자들은 노란색으로 칠한다
  • 위 과정에서 칠해지지 않은 글자들은 회색으로 칠한다.

예를 들면, 아래는 정답 단어가 SPEED일 때, 플레이어의 추측과 이에 대한 결과를 보여준다.

영민이는 Wordle을 플레이하다보니, 각 단어가 색칠된 정보만을 알고 있을 때 정답 단어를 알아차릴 수 있을지 궁금해졌다.

실제로는 사전에 존재하는 5글자 영어 단어만을 입력할 수 있지만, 이 문제에서는 편의상 영어 대문자로 이루어진 5글자 문자열을 모두 입력할 수 있다고 생각하자.

입력

첫째 줄에는 판정 결과의 수 $ N $이 주어진다. $( 1 \le N \le 100\,000 )$

이어 $ N $개의 줄에 걸쳐 각 단어의 판정 결과가 주어진다. 초록색은 'G', 노란색은 'Y', 회색은 'B'로 주어진다.

출력

만약 입력으로 주어진 상태가 실제로는 불가능한 상태라면 IMPOSSIBLE을 출력한다.

그렇지 않다면, 첫째 줄에는 정답 단어를 출력한 뒤, 다음 $ N $개의 줄에 걸쳐 실제 가능한 경우 중 하나를 출력한다.

가능한 답이 여러가지라면, 그 중 아무거나 하나 출력한다.

예제 입력 1

4
BBYBB
BBBGB
BYBBB
BYBBB

예제 출력 1

RAINY
LEAST
FOUND
MIGHT
PROBE

예제 입력 2

6
YYYYY
GYYYY
GGYYY
GGGYY
GGGGY
GGGGG

예제 출력 2

IMPOSSIBLE

예제 입력 3

8
BBGBB
GGBBY
YYBBB
GGGGG
BBBGY
YBGBY
GBBGB
BBBBB

예제 출력 3

SPEED
CLEAR
SPARE
EERIE
SPEED
AGREE
EVENS
SALES
WITCH