2317 - 【入门】合成分子
Time Limit : 1 秒
Memory Limit : 128 MB
周周是洋葱王国的首席科学家,他有一个仪器可以用任意原子合成新的分子。现在一共有 10 种可供选择的原子,每种原子必须使用 1、2、3 个,总的原子个数规定是 n。周周想请你帮忙计算,一共能合成多少个不同的分子(不考虑同分异构体)?
Input
一个整数 n\ (1 \le n \le 50),表示新分子的原子总个数。
Output
第一行一个整数 m,表示不同的方案数。 接下来 m 行,每行为一种方案,包含 10 个整数,表示每种原子的个数。
方案按字典序从小到大输出。
Examples
Input
29
Output
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
Hint
用 DFS 枚举每种原子的个数,因为要先输出方案数,我们需要先把答案保存下来,或者干脆搜两遍。