발매기 키보드

목적지 이름들과 지금까지 누른 접두사가 주어질 때, 어떤 이름에서 접두사 바로 뒤에 올 수 있는 글자를 4x8 격자에 표시합니다.

쉬움3문자열시뮬레이션구현해시맵면접 대비아직 제출이 없습니다시간 제한1초메모리 제한32 MB

문제

기차역에 놓인 발매기는 현금 자동 입출금기와 비슷한 기계로, 승차권을 더 쉽게 살 수 있도록 만들어졌다. 승차권을 살 때 가장 먼저 하는 일은 목적지를 고르는 것이다. 목적지는 미리 준비된 NN개의 이름 가운데 하나이고, 이용자는 이름을 한 글자씩 눌러서 목적지를 고른다. 글자를 하나 더 누를수록 아직 가능한 목적지의 수는 줄어든다.

화면의 키보드는 한 줄에 8칸씩 모두 4줄이다. 알파벳 A부터 Z까지가 첫째 줄 네 번째 칸에서 시작해 순서대로 놓이고, 남는 6칸은 언제나 비어 있다. 비어 있는 칸과 누를 수 없는 글자는 문자 *로 나타낸다. 처음 모양은 다음과 같다.

***ABCDE
FGHIJKLM
NOPQRSTU
VWXYZ***

글자를 하나 누르면 키보드 모양이 바뀐다. 아직 가능한 목적지를 기준으로 다음에 누를 수 있는 글자만 남고, 누를 수 없는 글자는 모두 *로 바뀐다.

NN개의 목적지 이름과 이용자가 지금까지 누른 글자가 주어질 때, 다음 글자를 누르기 직전의 키보드 모양을 출력하는 프로그램을 작성하라.

입력

첫 줄에 목적지의 수 NN이 주어진다. (1N501 \le N \le 50)

다음 NN개의 줄에 목적지 이름이 한 줄에 하나씩 주어진다. 각 이름은 영어 대문자로만 이루어지고 길이는 100100 이하이다. 같은 이름이 두 번 이상 주어질 수도 있다.

마지막 줄에 이용자가 지금까지 누른 문자열 SS가 주어진다. SS는 영어 대문자로만 이루어지고 길이는 11 이상 9999 이하이며, 목적지 이름 가운데 적어도 하나의 진부분 접두사이다. 즉 이름 전체가 주어지는 일은 없다.

출력

키보드 모양을 한 줄에 8글자씩 4줄로 출력한다. SS로 시작하는 이름에서 SS 바로 다음에 오는 글자는 원래 자리에 그대로 출력하고, 나머지 칸은 모두 *로 출력한다.

길이가 SS와 같은 이름은 다음 글자가 없으므로 어떤 칸도 살리지 않는다.

힌트

첫 번째 예제에서 ZA까지 누른 뒤 세 번째 글자는 ZAGREB를 사려면 G, ZADAR를 사려면 D, ZABOK를 사려면 B이다.