자연수 N을 최소 개수의 자연수 세제곱의 합으로 나타내고, 그중 사전순으로 가장 앞서는 조합을 출력한다.
자연수 NNN이 주어진다. NNN을 자연수의 세제곱 합으로 나타내되 항의 개수를 가장 적게 하려고 한다. 즉,
m13+m23+⋯+mk3=Nm_1^3 + m_2^3 + \cdots + m_k^3 = Nm13+m23+⋯+mk3=N
을 만족하는 자연수 m1,m2,…,mkm_1, m_2, \ldots, m_km1,m2,…,mk를 찾고, 이때 kkk를 최소로 한다. 같은 수를 여러 번 써도 된다.
첫째 줄에 자연수 NNN이 주어진다. (1≤N≤44,777,4441 \le N \le 44{,}777{,}4441≤N≤44,777,444)
두 줄을 출력한다. 첫째 줄에는 세제곱 항의 최소 개수 kkk를 출력한다. 둘째 줄에는 세제곱해서 더하면 NNN이 되는 자연수 kkk개를 공백 하나로 구분해 출력하며, 앞의 수가 뒤의 수보다 작지 않도록 정렬한다.
항이 kkk개인 조합이 여러 가지면 사전순으로 가장 앞서는 것을 출력한다. 두 조합을 앞에서부터 비교해 처음으로 달라지는 자리에 더 작은 수가 있는 쪽이 앞선다. 예를 들어 N=1729N = 1729N=1729는 123+1312^3 + 1^3123+13과 103+9310^3 + 9^3103+93 모두 세제곱 두 개로 나타내므로 답은 10 9이다.