#1914. 「SFCOI-2」愤怒

「SFCOI-2」愤怒

题目背景

滥觞于家庭与学校的期望正失去它们的借鉴意义。但面对看似无垠的未来天空,小 L 想循 digdig 和 generals 的指引以过早地振翮。

题目描述

小 L 有一个整数 nn

他认为一个 n!n! 可以被拆分为若干 <n< n 的非负整数的阶乘的积nn可阶乘拆分的。形式化地,我们有一个可阶乘拆分的数 nn,则存在一种方案 m,am, a 使得:

  • m1m \geq 1
  • 0a1a2am<n0 \leq a_1 \leq a_2 \leq \cdots \leq a_m < n
  • n!=i=1mai!n! = \displaystyle\prod_{i = 1}^m a_i!

于是他向你提出了如下问题:nn 是可阶乘拆分的吗?如果是,请给出一种方案使得其阶乘拆分中的 mm 最小。

请你快速给出一组满足条件的答案。

输入格式

一行,一个整数 nn

输出格式

若无解,输出 1-1;否则,输出两行:

  • 第一行,一个整数 mm,表示你给出的阶乘拆分的项数。你输出的 mm 需要满足 m1m \geq 1
  • 第二行,mm 个整数 a1,a2,,ana_1, a_2, \cdots, a_n,表示你拆分出的每一项。你输出的 aa 需要满足 0a1a2am<n0 \leq a_1 \leq a_2 \leq \cdots \leq a_m < n

若有多解,你可以输出任意一种。

样例 #1

样例输入 #1

7

样例输出 #1

-1

样例 #2

样例输入 #2

8

样例输出 #2

4
2 2 2 7

评测说明

本题开启 Special Judge。

若对于所有数据,你给出的解的存在性与标准答案一致,且对于所有有解的数据,你给出的解合法且满足 mm 最小,则你可以得到当前测试点的全部分数,否则你不能得到当前测试点的任何分数。

数据范围

Subtask\textbf{Subtask} nn 依赖 分值
11 1n201 \leq n \leq 20 10pts10 \operatorname{pts}
22 1n1031 \leq n \leq 10^3 11 20pts20 \operatorname{pts}
33 1n1061 \leq n \leq 10^6 1,21, 2 30pts30 \operatorname{pts}
44 同上 131 \sim 3 40pts40 \operatorname{pts}

对于 100%100\% 的数据,1n1091 \leq n \leq 10^9