시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 (추가 시간 없음) | 256 MB | 14 | 7 | 3 | 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