알파벳 문자를 서로 치환하여 글을 암호화하는, 흔하지만 안전하지 않은 방법이 있다. 암호문에서는 각 알파벳 문자가 언제나 같은 다른 문자로 바뀐다. 복호화가 가능하도록, 서로 다른 두 문자가 같은 문자로 바뀌는 일은 없다(치환은 일대일 대응이다).
여러 줄의 암호문을 복호화하라. 각 줄은 서로 독립적인 치환 규칙을 사용하며, 복호화된 글의 모든 단어는 주어진 사전에 들어 있는 단어여야 한다.
첫 줄에 정수 $n$이 주어지고, 이어서 $n$개의 소문자 단어가 사전순으로 한 줄에 하나씩 주어진다. 이 $n$개의 단어가 복호화된 글에 나타날 수 있는 단어들의 사전을 이룬다.
사전 다음에는 복호화할 여러 줄이 입력의 끝까지 이어진다. 각 줄은 위에서 설명한 방식으로 암호화되어 있다.
사전 단어는 최대 $1000$개이며, 각 단어의 길이는 $16$자를 넘지 않는다. 각 암호문 줄은 소문자와 공백만으로 이루어지며 길이는 최대 $80$자다.
각 줄을 복호화하여 표준 출력으로 인쇄하라. 한 줄에 대해 유효한 복호화가 여러 가지이면, 사전순으로 가장 앞서는(가장 작은) 복호화 결과를 인쇄하라. 복호화가 불가능한 줄은 모든 소문자를 별표(*)로 바꾸고 공백은 그대로 두어 출력하라.