2317 - 【入门】合成分子

通过次数

14

提交次数

20

时间限制 : 1 秒
内存限制 : 128 MB

周周是洋葱王国的首席科学家,他有一个仪器可以用任意原子合成新的分子。现在一共有 10 种可供选择的原子,每种原子必须使用 123 个,总的原子个数规定是 n。周周想请你帮忙计算,一共能合成多少个不同的分子(不考虑同分异构体)?

输入

一个整数 n\ (1 \le n \le 50),表示新分子的原子总个数。

输出

第一行一个整数 m,表示不同的方案数。 接下来 m 行,每行为一种方案,包含 10 个整数,表示每种原子的个数。

方案按字典序从小到大输出。

样例

输入

29

输出

10
2 3 3 3 3 3 3 3 3 3
3 2 3 3 3 3 3 3 3 3
3 3 2 3 3 3 3 3 3 3
3 3 3 2 3 3 3 3 3 3
3 3 3 3 2 3 3 3 3 3
3 3 3 3 3 2 3 3 3 3
3 3 3 3 3 3 2 3 3 3
3 3 3 3 3 3 3 2 3 3
3 3 3 3 3 3 3 3 2 3
3 3 3 3 3 3 3 3 3 2

提示

用 DFS 枚举每种原子的个数,因为要先输出方案数,我们需要先把答案保存下来,或者干脆搜两遍。