Se consideră un număr natural nenul N.
Cerința
Să se determine toate pătratele perfecte distincte care se obțin prin permutarea cifrelor numărului N. Exemple:
- Pentru
N = 691prin permutarea cifrelor sale se obțin numerele169,196,619,691,916,961din care3sunt pătrate perfecte:169 = 132,196 = 142și961 = 312. - Pentru
N = 1044prin permutarea cifrelor sale se obțin numerele0144,0414,0441,1044,1404,1440,4014,4041,4104,4140,4401,4410din care2sunt pătrate perfecte:144 = 122,441 = 212.
Date de intrare
Fișierul de intrare pcp.in conține pe primul rând numărul natural N.
Date de ieșire
Fișierul de ieșire pcp.out va conține pe prima linie numărul P reprezentând numărul de pătrate perfecte care se pot obține prin permutarea cifrelor numărului N și apoi pe următoarele P linii cele P pătrate perfecte în ordine crescătoare. Dacă nu există niciun pătrat perfect ce se poate obține prin permutarea cifrelor lui N se va afișa mesajul nu exista.
Restricții și precizări
0 < N < 1014- Cifrele de
0care prin permutarea cifrelor luiNapar la începutul unui număr, nu se iau în considerare. - Pentru 20 de puncte,
1 ≤ N < 10.000 - Pentru 68 de puncte,
104≤ N < 1013 - Pentru 12 de puncte,
1013≤ N < 1014
Exemplul 1:
pcp.in
691
pcp.out
3 169 196 961
Exemplul 2:
pcp.in
1044
pcp.out
2 144 441
Exemplul 3:
pcp.in
202050
pcp.out
4 225 2025 22500 202500
Exemplul 4:
pcp.in
2023
pcp.out
nu exista