Module: Il problema dello zaino


Problem

6 /6


Resa - 1

Problem

L'acquirente desidera acquistare un prodotto del valore di S rubli. Possiede N banconote in tagli da P1, P2, ..., PN < /code> rubli. Il venditore ha banconote M in tagli da Q1, Q2, ..., QM >< /codice>. rubli. Determina se possono pagare.
 
Inserimento: 
- la prima riga imposta la somma S;
- nella seconda riga - numero N;
- nella terza riga  - N numeri P1, P2, ..., PN ;
- nella quarta riga - numero M;
- nella quinta riga - M numeri Q1, Q2, ..., QM< / sub>.
Il numero di banconote del venditore e dell'acquirente e i loro tagli non superano i 100.
 
Output: se il venditore può pagare l'acquirente, stampare i tagli delle banconote che l'acquirente dà al venditore e che riceve come resto. Stampare il numero con il segno "+" se l'acquirente consegna la banconota del taglio corrispondente al venditore e con il segno "-" se l'acquirente riceve questa banconota per il resto. Separare i tagli delle banconote con uno spazio.
Se non possono pagare, stampa la stringa Impossibile.
 

 

Esempi
# Input Uscita
1
10
3
3 9 14
2
6 2
-2 +9 +3
2
100
3
74 35 8
2
196
Impossibile