Cálculo da função totiente de Euler para números grandes

Rust Hard math

Tarefa «Cálculo da função totiente de Euler para números grandes»

Dado um número natural n (1 ≤ n ≤ 10^12). É necessário calcular o valor da função totiente de Euler φ(n) — a quantidade de números de 1 a n que são coprimos com n. Utilize a decomposição em fatores primos por meio de divisão por tentativa até sqrt(n) e o algoritmo do crivo de Eratóstenes para encontrar previamente os números primos até 10^6. Exiba o resultado.

Formato de Entrada

Um único número inteiro n.

Formato de Saída

Um único número inteiro — o valor de φ(n).

Exemplos

Exemplo 1

ENTRADA
1
SAÍDA
1

Exemplo 2

ENTRADA
2024-12-31
SAÍDA
Вторник

Exemplo 3

ENTRADA
10
SAÍDA
4

Exemplo 4

ENTRADA
2000-01-01
SAÍDA
Суббота
main.rs