编写一个程序,读入一个自然数 $N$,并将其分解为最少数量的完全立方数之和。程序应当找到 $m_1, m_2, \dots, m_k$,使得每个 $m_i$ 均为自然数,$m_1^3 + m_2^3 + \dots + m_k^3 = N$,且 $k$ 最小。
输入格式
输入仅包含一行,为一个自然数 $N$ ($1 \le N \le 44,777,444$)。
输出格式
你的程序应当输出恰好两行。
第一行包含数字 $k$ —— 最少的完全立方数个数。
第二行包含 $k$ 个由空格分隔的自然数,它们的立方和为 $N$。
样例
输入样例 1
42
输出样例 1
7 2 2 2 2 2 1 1
输入样例 2
43
输出样例 2
3 3 2 2