Bessie는 자신의 비밀번호를 잊어버렸지만, 비밀번호에 대한 몇 가지 유용한 사실은 기억하고 있다.
비밀번호 $P$는 소문자 로마자로 이루어진 길이 $L$의 문자열이다($1 \le L \le 1000$). 이 비밀번호는 사전에 있는 서로 다른 $NW$개의 단어($1 \le NW \le 1000$) 중 하나 이상을 이어 붙여 만들 수 있으며, 같은 단어를 여러 번 사용해도 된다. 사전의 각 단어는 길이가 $1$ 이상 $20$ 이하인 소문자('a'부터 'z'까지)의 나열이다.
Bessie는 비밀번호의 일부 글자와 그 위치도 기억하고 있다. 이 부분 정보는 길이 $L$의 문자열로 주어지며, 각 자리에는 기억하는 정확한 글자가 있거나, 기억하지 못하는 자리라면 ? 문자가 있다.
사전과 Bessie가 기억하는 부분 정보가 주어질 때, 다음 두 조건을 모두 만족하는 비밀번호를 찾아라.
? 자리에는 임의의 소문자가 올 수 있다).두 조건을 모두 만족하는 비밀번호가 여러 개라면 사전순으로 가장 작은 것을 출력한다. 유효한 비밀번호가 적어도 하나 존재함이 보장된다.
?이다.