Cerința
Să se scrie un număr natural n ca sumă de pătrate perfecte. De asemenea, numărul termenilor trebuie să fie minim.
Date de intrare
Fișierul de intrare spatrat.in conține un număr natural n, numărul care se cere să fie scris ca suma de patrate perfecte.
Date de ieșire
Fișierul de ieșire spatrat.out va conține pe prima linie un număr k, reprezentând numărul termenilor din adunare. Pe a doua linie se vor scrie cele k numere care ridicate la pătrat și adunate dau n, separate printr-un spațiu.
Restricții și precizări
1 ≤ n ≤ 100.000- pentru
40%dintre teste,n ≤ 1000 - punctajul pe un test complet se acordă astfel:
max(5 - (k_program - k_corect), 0)(undek_corecteste răspunsul corect, iark_programrăspunsul dat de sursa trimisă) - pentru afișarea doar a valorii lui
kse va acorda doar50%din punctajul calculat după formula de mai sus pentru fiecare test - lăcomia nu se răsplătește cu punctajul maxim!
Exemplu:
spatrat.in
18
spatrat.out
2 3 3
Explicație
3 2 + 3 2 = 9 + 9 = 18
18 nu este pătrat perfect, deci nu se poate scrie ca sumă formată din el însuși (ca să existe soluție pentru k = 1)