#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; const int N = 100005; bool hash[N]; int main() { int n; memset(hash, false, sizeof(hash)); for(int i = 2; i <= 100; i++) if(!hash[i]) for(int j = i * i; j < N; j += i) hash[j] = true; while( scanf("%d", &n) != EOF && n) { int s = n; int sum = n; bool flag; for(int i = 2; i <= (int)sqrt(1.0 * n); i++) // 这样RE ?? //for(int i = 2; i < N; i++) { if(hash[i]) continue; flag = false; if(s == 1 || i > n) break; while(true) { if(s % i != 0 || s == 1) break; flag = true; s /= i; } if(flag) sum = sum / i * (i - 1); } if(s > 1) sum = sum / s * (s - 1); //printf("%d/n", sum); printf("%d/n", sum); } return 0; }