题目背景
滥觞于家庭与学校的期望正失去它们的借鉴意义。但面对看似无垠的未来天空,小 L 想循 digdig 和 generals 的指引以过早地振翮。
题目描述
小 L 有一个整数 n。
他认为一个 n! 可以被拆分为若干 <n 的非负整数的阶乘的积的 n 是可阶乘拆分的。形式化地,我们有一个可阶乘拆分的数 n,则存在一种方案 m,a 使得:
- m≥1
- 0≤a1≤a2≤⋯≤am<n
- n!=i=1∏mai!
于是他向你提出了如下问题:n 是可阶乘拆分的吗?如果是,请给出一种方案使得其阶乘拆分中的 m 最小。
请你快速给出一组满足条件的答案。
输入格式
一行,一个整数 n。
输出格式
若无解,输出 −1;否则,输出两行:
- 第一行,一个整数 m,表示你给出的阶乘拆分的项数。你输出的 m 需要满足 m≥1。
- 第二行,m 个整数 a1,a2,⋯,an,表示你拆分出的每一项。你输出的 a 需要满足 0≤a1≤a2≤⋯≤am<n。
若有多解,你可以输出任意一种。
样例 #1
样例输入 #1
7
样例输出 #1
-1
样例 #2
样例输入 #2
8
样例输出 #2
4
2 2 2 7
评测说明
本题开启 Special Judge。
若对于所有数据,你给出的解的存在性与标准答案一致,且对于所有有解的数据,你给出的解合法且满足 m 最小,则你可以得到当前测试点的全部分数,否则你不能得到当前测试点的任何分数。
数据范围
Subtask |
n |
依赖 |
分值 |
1 |
1≤n≤20 |
无 |
10pts |
2 |
1≤n≤103 |
1 |
20pts |
3 |
1≤n≤106 |
1,2 |
30pts |
4 |
同上 |
1∼3 |
40pts |
对于 100% 的数据,1≤n≤109。