|시간 제한||메모리 제한||제출||정답||맞힌 사람||정답 비율|
|1 초 (추가 시간 없음)||256 MB||1||1||1||100.000%|
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.
First 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$.
You 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.
3 1234 2 21 43 12534 2 21 43 42 1 42
14 23 -1 42