The buyer wants to purchase a product worth S rubles. He has N banknotes in denominations of P1, P2, ..., PN< /code> rubles. The seller has M banknotes in denominations of Q1, Q2, ..., QM< /code>. rubles. Determine if they can pay.
Input:
- the first line sets the sum S;
- in the second line - number N;
- in the third line - N numbers P1, P2, ..., PN ;
- in the fourth line - number M;
- in the fifth line - M numbers Q1, Q2, ..., QM sub>.
The number of banknotes from the seller and the buyer and their denominations do not exceed 100.
Output: if the seller can pay the buyer, print the denominations of banknotes that the buyer gives to the seller and which he receives as change. Print the number with the “+” sign if the buyer gives the banknote of the corresponding denomination to the seller and with the “-” sign if the buyer receives this banknote for change. Separate denominations of banknotes with a space.
If they can't pay, print the string Impossible.
Examples
| # |
Input |
Output |
| 1 |
10
3
3 9 14
2
6 2
|
-2 +9 +3 |
| 2 |
100
3
74 35 8
2
196
|
Impossible |