#GESP624091. [GESP202409 六级] 小杨和整数拆分

[GESP202409 六级] 小杨和整数拆分

题面描述

小杨有一个正整数 nn,小杨想将它拆分成若干完全平方数的和,同时小杨希望拆分的数量越少越好。

小杨请你编写程序计算出总和为 nn 的完全平方数的最少数量。

输入格式

第一行包含一个正整数 nn,含义如题面所示。

输出格式

输出一个整数,代表总和为 nn 的完全平方数的最少数量。

样例

输入样例

18

输出样例

2

18 = 9 + 9 = 16 + 1 + 1,其中最少需要 2 个完全平方数。

数据范围

对于全部数据,保证 1 n105 \leq n \leq 10^5