你的一个朋友在餐厅当服务员,他遇到了一个难题。一群 xkcd 的粉丝开始光顾这家餐厅,并像下面漫画中那样点餐。处理每份订单都要花他很多时间,也许你能帮帮他。
图 G.1: 漫画 xkcd.com/287。
题目描述
你需要编写一个程序,根据订单的总金额和菜单上每项菜品的价格,找出顾客点了哪些菜。
输入格式
输入的第一行包含一个整数 $n$ ($1 \le n \le 100$),表示菜单上的菜品数量。下一行包含 $n$ 个以空格分隔的正整数 $c_1, c_2, \dots, c_n$,表示菜单上每项菜品的价格(单位为瑞典克朗)。没有任何菜品的价格超过 $1\,000$ 瑞典克朗。
接下来一行包含一个整数 $m$ ($1 \le m \le 1\,000$),表示订单的数量,随后的一行包含 $m$ 个订单。每个订单由一个整数 $s$ ($1 \le s \le 30\,000$) 表示,即所有已点菜品的总金额(单位为瑞典克朗)。
输出格式
对于输入中的每个订单,输出一行。如果存在唯一一种点餐方式能达到指定的总金额,则输出该订单中包含的菜品编号列表,以空格分隔,并按升序排列。如果订单中包含多份相同的菜品,则需按相应次数打印该菜品的编号。菜单上的第一项菜品编号为 1,第二项为 2,以此类推。
如果不存在能达到指定总金额的订单,输出 Impossible。如果存在多种不同的点餐方式能达到指定总金额,输出 Ambiguous。
样例
样例输入 1
3 4 5 8 3 11 13 14
样例输出 1
Impossible Ambiguous 1 2 2
样例输入 2
6 215 275 335 355 420 580 1 1505
样例输出 2
Ambiguous