A natural number *n* > 0 is called *powerful* if, for each
prime divisor *p* of *n*, *p*^{2} is also divisor of *n*.
For example, 55125 = 3·3·5·5·5·7·7
is a powerful number,
because every prime factor appears, at least, twice.

Your task is to write a program that reads a sequence of numbers *m* and,
for each one, prints all the powerful numbers between 1 and *m*.

**Input**

The input is a sequence of natural numbers *m* > 0.

**Output**

For each *m* of the input,
print a line with all the powerful numbers between 1 and *m*,
separated by commas and in increasing order.

**Observation**

Your program must implement and use the function

that, given an integer strictly positive |n|, indicates if is powerful or is not

Public test cases

**Input**

27 28 26 1 3 4 270

**Output**

1,4,8,9,16,25,27 1,4,8,9,16,25,27 1,4,8,9,16,25 1 1 1,4 1,4,8,9,16,25,27,32,36,49,64,72,81,100,108,121,125,128,144,169,196,200,216,225,243,256

Information

- Author
- Professorat de P1
- Language
- English
- Translator
- Carlos Molina
- Original language
- Catalan
- Other languages
- Catalan
- Official solutions
- C++
- User solutions
- C++