著名的 Byteotian 物理学家 Byteasar 正在研究一种新的物质成分——“夸克”(squarks)。这些是非常奇特的粒子,它们从不单独存在,总是成对出现。此外,特定种类的夸克只能与不同种类的夸克配对。
经过多年的研究,Byteasar 确定共有 $n$ 种不同的夸克。每种夸克的质量都是一个正整数(以适当的单位计)。Byteasar 还测量了所有可能的夸克对的总质量。根据标准的 Byteotian 物理模型,一对夸克的质量等于组成该对的两个夸克的质量之和。
现在,Byteasar 希望确定每种夸克的个体质量。他请求你编写一个程序来找出该谜题的所有解,即重构出所有符合他测量结果的夸克质量配置。
输入格式
输入的第一行包含一个整数 $n$ ($3 \le n \le 300$),表示夸克的种类数。第二行包含由空格分隔的正整数,表示所有可能的夸克对的总质量。每对夸克的质量不超过 $10^8$。对于任意两种不同的夸克,它们组成的对的质量在输入中恰好给出一次。输入中的质量顺序是随机的。
在总分占比 $32\%$ 的测试点中,额外满足以下条件:$n \le 20$ 且每对夸克的质量不超过 $2\,000$。
输出格式
输出的第一行应打印可能的解的数量 $k$。接下来的 $k$ 行应依次报告每个解,每行一个。每个解应包含 $n$ 个不同的正整数,即所有种类夸克的质量。在每个解中,这些质量应按升序排列并用空格分隔。
解可以以任意顺序报告,但不能重复。你可以假设对于每组测试数据,至少存在一个解,即 $k > 0$。
样例
输入 1
4 3 5 4 7 6 5
输出 1
1 1 2 3 4