2317 - 【入门】合成分子

周周是洋葱王国的首席科学家,他有一个仪器可以用任意原子合成新的分子。现在一共有 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 枚举每种原子的个数,因为要先输出方案数,我们需要先把答案保存下来,或者干脆搜两遍。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题