In computer science we often consider words made of letters. Again, we define that a word is legible iff there are no three consecutive consonants.
You have already calculated the number of legible words of given length. But now you feel that simply counting the words is not enough. Your new challenge is to calculate the i-th of these words, according to the Measharan alphabet.
Input
Input consists of several cases. Each case consists of three lines: W (the string of all letters in the Measharan alphabet), T (the types of all letters in W), N I (where N the length of the words to consider, and I is the index of the word to output).
W1 is the first letter in the alphabet, W2 is the second, and so on.
Ti is c
iff Wi is a consonant, and v
iff Wi is a
vowel. Each letter is encoded as a lowercase letter of the English
alphabet (a
..z
).
As in Legible Words, it is guaranteed that the total number of N-letter words will never be greater than 1018, and 1 ≤ N ≤ 100.
After the last case the input contains a line containing only 0.
Output
Output the i-th N-letter legible word, according to the lexicographic ordering (if we have two words u, v such that u1 u2 … uk = v1 v2 … vk, and uk+1 ≠ vk+1, and uk+1 comes before vk+1 in W, then u is before v in the lexicographic ordering).
Input
abcde vcccv 3 25 abcde vcccv 3 26 abcde vcccv 3 30 abcde vcccv 3 31 abcde vcccv 3 32 abcde vcccv 3 98 0
Output
aee baa bae bba bbe eee