gcd(n, k) = 1

n이 10^18 이하로 주어질 때 1 이상 n 이하의 k 중 gcd(n, k) = 1인 개수, 즉 오일러 피 함수 값을 구한다.

어려움8수학정수론구현완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

자연수 nn이 주어진다. 1kn1 \le k \le n이면서 gcd(n,k)=1\gcd(n, k) = 1인 자연수 kk가 몇 개인지 구하는 프로그램을 작성하시오. gcd(a,b)\gcd(a, b)aabb의 최대공약수를 뜻한다.

입력

첫째 줄에 자연수 nn (1n10181 \le n \le 10^{18})이 주어진다.

출력

첫째 줄에 gcd(n,k)=1\gcd(n, k) = 1을 만족하는 1kn1 \le k \le n인 자연수 kk의 개수를 출력한다.