406560: GYM102441 B Redistribution of Digits
Description
You are required to form numbers based on a given set of digits. Each number is also provided with an upper bound. Each digit from the given set must be used exactly once. If the set does not contain a digit, you are not allowed to use it.
InputFirst line contains an integer $$$t$$$ — the number of tests.
Each of the next $$$t$$$ lines contains a string $$$s$$$ — a given set of digits, integer $$$n$$$ — quantity of numbers which should be formed and $$$n$$$ integers $$$a_i$$$ — upper bounds for numbers. The digits for all numbers $$$a_i$$$ are given in a non-increasing order starting from the most significant digit. The set of digits and the numbers $$$a_i$$$ do not contain a digit $$$0$$$.
$$$$$$ 1 \le t \le 1000 $$$$$$ $$$$$$ 1 \le |s| \le 500 $$$$$$ $$$$$$ 1 \le n \le 50 $$$$$$ $$$$$$ 1 \le a_i \le 10^9 $$$$$$
OutputYou are required to output $$$t$$$ lines containing the given quantity of numbers corresponding the conditions above. If a solution does not exist you should print "-1". If there are multiple solutions, you may output any of them.
ExampleInput3 1234 2 21 43 12534 2 21 43 42 1 42Output
14 23 -1 42