Tavan
면접 대비시간 제한1초메모리 제한32 MB
물음표 자리마다 주어진 K개의 문자 중 하나를 넣어 만들 수 있는 문자열을 사전순으로 나열했을 때 X번째 문자열을 구한다.
문제
젤코는 다락방에서 할머니의 오래된 편지를 읽다가 길이가 인 단어 하나를 발견했다. 잉크가 번져서 몇 글자를 읽을 수 없었기 때문에, 읽을 수 없는 글자 개를 모두 문자 #으로 바꿔 종이에 옮겨 적었다. 할머니는 그 종이를 보고 읽을 수 없는 자리마다 서로 다른 후보 글자 개를 알려 주었다. 젤코는 만들 수 있는 단어를 모두 공책에 적었고, 할머니는 찾는 단어가 그중 알파벳 순으로 번째라고 말했다.
알파벳 순서를 배운 날 젤코는 감기에 걸려 학교에 가지 못했다. 원래 단어를 구해서 젤코를 도와주자.
입력
첫째 줄에 정수 , , , 가 주어진다. (, , , )
둘째 줄에 젤코가 종이에 적은 길이 의 단어가 주어진다. 이 단어는 영어 소문자와 문자 #으로만 이루어지고, #은 정확히 개다.
다음 개의 줄에는 길이 의 단어가 한 개씩 주어진다. 그중 번째 줄은 왼쪽에서 번째 #을 대신할 수 있는 서로 다른 영어 소문자로 이루어지며, 알파벳 순으로 정렬되어 있지 않을 수도 있다.
는 만들 수 있는 단어의 총개수보다 항상 작거나 같다.
출력
첫째 줄에 알파벳 순으로 번째인 단어를 출력한다.
힌트
첫 번째 예제에서 만들 수 있는 단어를 알파벳 순으로 나열하면 다음과 같다: pololjeni, pololjeui, pololjezi, poooljeni, poooljeui, poooljezi, posoljeni, posoljeui, posoljezi.