Problem

6 /6


降伏 - 1

Problem

購入者は、S ルーブル相当の商品を購入したいと考えています。彼は P1、P2、...、PN の額面の N 枚の紙幣を持っています。 < /code> ルーブル。販売者は、Q1、Q2、...、QMM 枚の紙幣を所有しています。 >< /コード>。ルーブル。彼らが支払うことができるかどうかを判断します。
 
入力: 
- 最初の行は合計 S を設定します。
- 2 行目 - 番号 N;
- 3 行目  - N 個の数値 P1、P2、...、PN ;
- 4 行目 - 番号 M;
- 5 行目 - M 個の数値 Q1, Q2, ..., QM< /sub>.
売り手と買い手の紙幣の枚数とその額面は 100 枚を超えません。
 
出力:  販売者が購入者に支払うことができる場合、購入者が販売者に渡し、おつりとして受け取る紙幣の種類を印刷します。購入者が対応する額面の紙幣を販売者に渡す場合は、番号を “+” 記号で印刷し、購入者が販売者に渡す場合は “-” 記号を使用して番号を印刷します。この紙幣を両替用に受け取ります。紙幣の種類はスペースで区切ります。
支払いできない場合は、文字列 Impossible を出力します。
 

 

<頭> <本体>
# 入力 出力
1
10
3
3 9 14
2
6 2
-2 +9 +3
2
100
3
74 35 8
2
196
不可能