¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1987

H-수 1s 128MB

Problemas

H-수는 4로 나눴을 때 나머지가 1인 양의 정수들이다. :

1, 5, 9, 13, 17, 21, ... 은 H-수이다. H-수는 곱셈 연산에 대해 닫혀있다.

 

일반적인 정수에 대해서 우리는 H-수를 기본수, H-소수, H-합성수로 나눈다. 

1은 유일한 기본수이다. H-수 중, 기본수 가 아니며, 

두개의 H-수의 곱으로 나타내었을 때 딱 한 가지 방법으로만(1×h) 나타내어지는 수들은 H-소수이며, 

나머지는 H-합성수이다.

 

예를 들어, 처음 몇 개의 H-합성수들은 다음과 같다. 5 × 5 = 25, 5 × 9 = 45, 5 × 13 = 65, 9 × 9 = 81, 5 × 17 = 85 이다.

 

당신이 해야 할 일은, H-준소수의 개수를 세는 것이다. H-준소수란, 

정확히 두 개의 H-소수의 곱으로 나타내어지는 수들을 의미한다. 

사용하게 되는 두 H-소수는 같아도 상관없다. 

예를 들어, 위에 나와 있는 5개의 수들은 전부 H-준소수이다. 

125 = 5 × 5 × 5는 H-준소수가 아닌데, 왜냐하면 이것은 세 개의 H-소수의 곱이기 때문이다.


Entrada

한 줄에 하나씩 H-수(≤ 1,000,001)가 주어진다. 마지막 줄에는 0이 나오며, 이는 처리하지 않는다.

Salida

입력된 H-수 h에 대해서, h를 출력한 후, 1과 h사이에 있는(h 포함) H -준소수의 개수를 출력한다. 두 수는 공백으로 구분한다.

Ejemplo

21

85
789
0
21 0

85 5
789 62
Debes iniciar sesión para escribir código.