Bessie has forgotten her password, but she still remembers a few useful facts about it.
Her password $P$ is a string of $L$ lowercase Roman letters ($1 \le L \le 1000$). It can be split into one or more words (not necessarily distinct) taken from a dictionary of $NW$ distinct words ($1 \le NW \le 1000$); the same word may be used more than once. Each dictionary word is a sequence of $1$ to $20$ lowercase letters ('a'..'z').
Bessie also remembers some of the letters of her password together with their positions. This partial knowledge is given as a string of length $L$: each position holds either the exact letter she remembers, or the character ? if she cannot remember it.
Given the dictionary and Bessie's partial memory, reconstruct a password that
? may be any lowercase letter), andIf more than one password satisfies both conditions, output the lexicographically smallest one. It is guaranteed that at least one valid password exists.
? for forgotten ones.