#L2698. 「POI2012 R3」超夸克 Squarks

    ID: 3885 传统题 3000ms 256MiB 尝试: 6 已通过: 1 难度: 10 上传者: 标签>其他构造数学数据结构Hashing搜索搜索与剪枝数论不定方程

「POI2012 R3」超夸克 Squarks

题目描述

译自 POI 2012 Stage 3. Day 0「Squarks」

给定 nn 个不同的正整数两两的和,求这 nn 个正整数的所有可能。


输入格式

第一行一个正整数 nn (1n300)(1 \le n \le 300),表示正整数的数量。

接下来一行有 n(n1)2\frac{n(n-1)}{2} 个正整数,表示两两正整数的和,不超过 10810^8,顺序随机。


输出格式

第一行输出一个正整数 kk,表示解的个数。

接下来 kk 行,每行按递增顺序输出 nn 个正整数,表示一组可能的解。

可以以任意顺序输出解。保证存在一组解。


样例 1

输入

4
3 5 4 7 6 5

输出

1
1 2 3 4

样例 2

输入

4
11 17 12 20 21 15

输出

2
4 7 8 13
3 8 9 12

数据范围与提示

  • 对于 32%32\% 的数据,保证 n20n \le 20 且任何两个正整数的和不超过 20002000
  • 对于所有数据,保证 n300n \le 300 且任何两个正整数的和不超过 10810^8