#P1620C. BA-String

    ID: 1496 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>brute forcedpgreedyimplementationmath*1800

BA-String

Description

You are given an integer kk and a string ss that consists only of characters 'a' (a lowercase Latin letter) and '*' (an asterisk).

Each asterisk should be replaced with several (from 00 to kk inclusive) lowercase Latin letters 'b'. Different asterisk can be replaced with different counts of letter 'b'.

The result of the replacement is called a BA-string.

Two strings aa and bb are different if they either have different lengths or there exists such a position ii that aibia_i \neq b_i.

A string aa is lexicographically smaller than a string bb if and only if one of the following holds:

  • aa is a prefix of bb, but aba \ne b;
  • in the first position where aa and bb differ, the string aa has a letter that appears earlier in the alphabet than the corresponding letter in bb.

Now consider all different BA-strings and find the xx-th lexicographically smallest of them.

The first line contains a single integer tt (1t20001 \le t \le 2000) — the number of testcases.

The first line of each testcase contains three integers nn, kk and xx (1n20001 \le n \le 2000; 0k20000 \le k \le 2000; 1x10181 \le x \le 10^{18}). nn is the length of string ss.

The second line of each testcase is a string ss. It consists of nn characters, each of them is either 'a' (a lowercase Latin letter) or '*' (an asterisk).

The sum of nn over all testcases doesn't exceed 20002000. For each testcase xx doesn't exceed the total number of different BA-strings. String ss contains at least one character 'a'.

For each testcase, print a single string, consisting only of characters 'b' and 'a' (lowercase Latin letters) — the xx-th lexicographically smallest BA-string.

Input

The first line contains a single integer tt (1t20001 \le t \le 2000) — the number of testcases.

The first line of each testcase contains three integers nn, kk and xx (1n20001 \le n \le 2000; 0k20000 \le k \le 2000; 1x10181 \le x \le 10^{18}). nn is the length of string ss.

The second line of each testcase is a string ss. It consists of nn characters, each of them is either 'a' (a lowercase Latin letter) or '*' (an asterisk).

The sum of nn over all testcases doesn't exceed 20002000. For each testcase xx doesn't exceed the total number of different BA-strings. String ss contains at least one character 'a'.

Output

For each testcase, print a single string, consisting only of characters 'b' and 'a' (lowercase Latin letters) — the xx-th lexicographically smallest BA-string.

Sample Input 1

3
2 4 3
a*
4 1 3
a**a
6 3 20
**a***

Sample Output 1

abb
abba
babbbbbbbbb

Note

In the first testcase of the example, BA-strings ordered lexicographically are:

  1. a
  2. ab
  3. abb
  4. abbb
  5. abbbb

In the second testcase of the example, BA-strings ordered lexicographically are:

  1. aa
  2. aba
  3. abba

Note that string "aba" is only counted once, even though there are two ways to replace asterisks with characters 'b' to get it.