#3653. 平方和

平方和

Description

给定一个整数N,求N最少可以拆成多少个完全平方数的和。

Format

Input

第一行一个整数TEST,表示数据组数。 接下来TEST行,每行一个整数N。

Output

TEST行,每行一个正整数,表示N最少可以拆成多少个完全平方数的和。 数据规模 30.的数据N≤10^6 60.的数据N≤10^9 100.的数据0≤N≤10^18 ,TEST<=1000

Samples

100
413357
567226
766291
597007
289611
215529
447134
752252
909135
417563
670529
352031
701607
572137
496749
255907
378796
230963
494529
161665
666286
452501
151438
159400
219949
734385
710191
511396
301481
551313
66085
521105
689271
434686
847795
170279
440002
65045
412023
869097
267979
676069
804733
763105
109680
363401
342369
946171
854070
118270
140876
418701
188885
244835
546031
951915
43116
371241
662373
405770
860997
804541
370429
727579
524737
152311
534711
304961
133376
218042
129476
205601
255901
187633
276681
950717
818885
643601
533551
600877
97499
63961
556358
335433
781818
981445
331701
772401
985669
452851
908701
213201
214483
817710
757033
605386
442987
315634
599486
221667
3
3
3
4
3
3
3
4
4
3
3
4
4
2
3
3
3
3
3
3
3
3
3
2
3
3
4
2
3
3
2
2
4
3
3
4
3
2
4
3
3
2
3
3
4
2
2
3
3
3
3
3
2
3
4
3
3
3
2
2
3
2
3
3
3
4
4
2
2
2
2
3
2
2
3
2
3
3
4
2
3
3
3
3
3
3
3
3
2
3
2
2
3
3
3
2
3
3
3
3