题目描述
小珅在餐馆担任服务员,最近经常有顾客只告诉他订单总价,却不直接说点了哪些菜。逐一推算每份订单很费时间,请你帮助他根据菜单中每种菜的价格和订单总价,还原顾客可能点了哪些菜。
每种菜都可以点任意多份。对于一份给定的订单总价,可能不存在任何点菜方案,也可能恰好有一种方案,还可能有多种方案。
输入格式
第一行包含一个整数 (),表示菜单中的菜品数量。
第二行包含 个正整数 ,表示各菜品的价格,每种菜的价格不超过 。
第三行包含一个整数 (),表示订单数量。
第四行包含 个整数。每个整数 ()表示一份订单的总价。
输出格式
对每份订单输出一行:
- 如果恰好存在一种方案,按非递减顺序输出该方案中各份菜品的编号;同一种菜点了多份时,编号也要重复输出。菜单中的第一种菜编号为 。
- 如果没有任何方案,输出
Impossible。 - 如果存在两种或更多不同方案,输出
Ambiguous。
3
4 5 8
3
11 13 14
Impossible
Ambiguous
1 2 2
6
215 275 335 355 420 580
1
1505
Ambiguous
2
465 126
2
187 46
Impossible
Impossible