求单个数的欧拉函数值。
//============================================================================
// Name : 1284.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int n, ans;
int euler(int m){
int t = sqrt(m+0.5), curans;
curans = m;
for(int i = 2;i <= t;i++){
if(m%i == 0){
curans = curans/i*(i-1);
while(m%i == 0){
m/=i;
}
}
}
if(m != 1){
curans = curans/m*(m-1);
}
return curans;
}
int main(){
freopen("a.txt", "r", stdin);
while(scanf("%d", &n)&&n){
ans = euler(n);
printf("%d\n", ans);
}
return 0;
}