/*
* hdu1787/win.cpp
* Created on: 2012-7-9
* Author : ben
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
#include <stack>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <functional>
#include <numeric>
#include <cctype>
using namespace std;
int getPhi(int n) {
int i, te, phi;
te = (int) sqrt(n * 1.0);
for(i = 2, phi = n; i <= te; i++) {
if(n % i == 0) {
phi = phi / i * (i - 1);
while(n % i == 0) {
n /= i;
}
}
}
if(n > 1) {
phi = phi / n * (n - 1);
}
return phi;
}
int main() {
#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif
int N;
while(scanf("%d", &N) == 1 && N != 0) {
printf("%d\n", N - 1 - getPhi(N));
}
return 0;
}