pcp

Time limit: 0.1s Memory limit: 128MB Input: pcp.in Output: pcp.out

Se consideră un număr natural nenul NN.

Cerință

Să se determine toate pătratele perfecte distincte care se obțin prin permutarea cifrelor numărului NN.
Exemple:

  • Pentru N=691N = 691 prin permutarea cifrelor sale se obțin numerele 169169, 196196, 619619, 691691, 916916, 961961 din care 3 sunt pătrate perfecte: 169=132,196=142169 = 13^2, 196 = 14^2 si 961=312961 = 31^2.
  • Pentru N=1044N = 1044 prin permutarea cifrelor sale se obțin numerele 01440144, 04140414, 04410441, 10441044, 14041404, 14401440, 40144014, 40414041, 41044104, 41404140, 44014401, 44104410 din care 2 sunt pătrate perfecte: 144=122,441=212144 = 12^2, 441 = 21^2.

Date de intrare

Fișierul de intrare conține pe primul rând numărul natural NN.

Date de ieșire

Fișierul de ieșire va conține pe prima linie numărul PP reprezentând numărul de pătrate perfecte care se pot obține prin permutarea cifrelor numărul NN si apoi următoarele PP linii cele PP pătrate perfecte în ordine crescatoare.
Dacă nu există niciun pătrat perfect ce se poate obține prin permutarea cifrelor lui NN se va afișa mesajul nu exista

Restricții

  • 0<N<10140 < N < 10^{14}
  • Cifrele de 0 care prin permutarea cifrelor lui N apar la începutul unui număr, nu se iau în considerare.

Subtask 1 (20 puncte)

  • 1N<1041 \le N < 10^4

Subtask 2 (68 puncte)

  • 104N<101310^4 \le N < 10^{13}

Subtask 3 (12 puncte)

  • 1013N<101410^{13} \le N < 10^{14}

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

Log in or sign up to be able to send submissions!