#L5534. 「PA 2018 Final」Sumka

    ID: 4717 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数论贪心数学构造三角形数分解

「PA 2018 Final」Sumka

5534. 「PA 2018 Final」Sumka


题目描述

题目译自 PA 2018 Final Sumka

Bajtazar 是多领域的专家,但他对自己的收入并不满意。在朋友的推荐下,他决定将资金投资于基金。

有五家公司可供选择:Bitoff Securities LLC、Bajtton Unmount、Bajtou Hedge Fund Group、BajtConneeeeeeeeeect 和 Bajtocka Kasa Oszczędności。每家公司都提供相同的投资者计划:支付一小笔入门费后即可开始赚钱!在第 ii 天,你将在系统中的虚拟账户上获得 ii 个 bajtolar。你可以随时结束投资并提取迄今为止积累的资金,即如果在第 kk 天后决定退出,将获得金额

1+2++k=k(k+1)21 + 2 + \ldots + k = \frac{k \cdot (k+1)}{2}

这样的系统可以带来巨大的利润,但 Bajtazar 并不是贪婪的人。他只需要一笔正好为 nn 个 bajtolar 的小额资金(更高的利润将被高额征税)。请帮助他在五家可用的公司中选择一些(或全部)进行投资,使得提取的总金额恰好为 nn

输出所选公司的数量(从 1155)以及 Bajtazar 应从每个选定公司的投资中获得的金额。每个金额必须是形式为

k(k+1)2\frac{k \cdot (k+1)}{2}

的数字,其中 kk 是某个正整数。(这种形式的数字有时被称为金字塔数,源于任务中描述的某种「投资」术语。)

可以证明,对于任务中给定的限制范围内的每个 nn,都存在解决方案。


输入格式

输入的唯一一行包含一个整数 nn (1n1018)(1 \leq n \leq 10^{18})


输出格式

第一行输出一个整数 ss(满足 1s51 \leq s \leq 5),表示 Bajtazar 应投资的公司数量。

第二行输出 ss 个正整数,表示从每个选定公司中获得的金额。这些数字的总和必须恰好为 nn

如果存在多种可能的解决方案,输出其中任意一个即可。


样例

输入

18

输出

4
6 1 10 1

Bajtazar 可以选择投资四家公司。如果他在两家公司投资 11 天后结束,在一家投资 33 天后结束,在另一家投资 44 天后结束,则总共获得的小额资金为:

$$(1) + (1) + (1+2+3) + (1+2+3+4) = 1 + 1 + 6 + 10 = 18 $$

因此,我们可以输出数字 11, 11, 66, 1010。输出的数字顺序无关紧要,因此 66, 11, 1010, 11 也是一个正确的解决方案。