eolymp
bolt
Try our new interface for solving problems
Problems

Crypt Kicker

Crypt Kicker

A common but insecure method of encrypting text is to permute the letters of the alphabet. That is, in the text, each letter of the alphabet is consistently replaced by some other letter. So as to ensure that the encryption is reversible, no two letters are replaced by the same letter. Your task is to decrypt several encoded lines of text, assuming that each line uses a different set of replacements, and that all words in the decrypted text are from a dictionary of known words. \InputFile The input consists of a line containing an integer \textbf{n}, followed by \textbf{n} lower case words, one per line, in alphabetical order. These \textbf{n} words comprise the dictionary of words which may appear in the decrypted text. Following the dictionary are several lines of input. Each line is encrypted as described above. There are no more than \textbf{1000} words in the dictionary. No word exceeds \textbf{16} letters. The encrypted lines contain only lower case letters and spaces and do not exceed \textbf{80} characters in length. \OutputFile Decrypt each line and print it to standard output. If there is more than one solution, any will do. If there is no solution, replace every letter of the alphabet by an asterisk.
Time limit 20 seconds
Memory limit 64 MiB
Input example #1
6
and
dick
jane
puff
spot
yertle
bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn
xxxx yyy zzzz www yyyy aaa bbbb ccc dddddd
Output example #1
dick and jane and puff and spot and yertle
**** *** **** *** **** *** **** *** ******