Start: Jul, 08, 2025 09:00:00
2025_7_8_Python培训班_数据结构与算法练习
End: Aug, 30, 2025 20:00:00
Time elapsed:
Time remaining:

等值兑换 3129

Time Limit:  1 s      Memory Limit:   256 MB
Submission:4     AC:3     Score:0

Description

小赵同学在某游戏平台中获得虚拟的食物、装备、材料等物品,他们分别有不同的价值,现游戏平台有兑换机制,即可用多个不同物品换取一个等值的物品(每个物品只能取一样)。
如要换取游戏中的物品“破天锤”,需要35个金币,有多种的置换方式。

Input

输入第一行为换取物品的价值v,第二行为小赵所拥用的物品的数量n,接下来有n个数据,代表小赵拥有的物品的价值$a_i$数据保证$a_{i-1} \leq a_i  \leq a_{i+1}$, $0 \le n \le 50$ , $1 \le v \le 350$, $a_i \leq 300$。

Output

输出所有的置换方式,每种置换方式按索引从小到大输出。若不存在,则输出No solution。

Samples

input
35 8 1 2 5 7 9 10 15 20
output
0 1 2 3 7 0 1 3 5 6 0 2 4 7 0 4 5 6 2 5 7 6 7