#include<bits/stdc++.h>
using namespace std;
#define FR0(i,N) for(i=0;i<(N);i++)
#define FR1(i,N) for(i=1;i<=(N);i++)
#define FRN(i,k,N) for(i=k;i<(N);i++)
#define pf printf
#define db double
#define max3(a,b,c) max(max(a,b),c)
#define min3(a,b,c) min(min(a,b),c)
#define sci(n) scanf("%d",&n)
#define scl(n) scanf("%lld",&n)
#define scf(n) scanf("%f",&n)
#define scd(n) scanf("%lf",&n)
#define scs(s) scanf("%s",&s)
#define scll(n) scanf("%%I64d",&n)
#define PI acos(-1.0)
#define LL long long
#define MX 1000005
#define MOD 1000000007
typedef long long int ll;
bool status[1100002];
int main()
{
int n;
while(sci(n) && n>0)
{
if(n==1)
{
printf("0\n");
continue;
}
int result=n;
for(int i=2; i*i<=n; i++)
{
if(n%i==0)
{
while(n%i==0)
{
n/=i;
}
result-=result/i;
}
}
if(n>1)
{
result-=result/n;
}
printf("%d\n",result);
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBGUjAoaSxOKSBmb3IoaT0wO2k8KE4pO2krKykKI2RlZmluZSBGUjEoaSxOKSBmb3IoaT0xO2k8PShOKTtpKyspCiNkZWZpbmUgRlJOKGksayxOKSBmb3IoaT1rO2k8KE4pO2krKykKI2RlZmluZSBwZiBwcmludGYKI2RlZmluZSBkYiBkb3VibGUKI2RlZmluZSBtYXgzKGEsYixjKSBtYXgobWF4KGEsYiksYykKI2RlZmluZSBtaW4zKGEsYixjKSBtaW4obWluKGEsYiksYykKI2RlZmluZSBzY2kobikgc2NhbmYoIiVkIiwmbikKI2RlZmluZSBzY2wobikgc2NhbmYoIiVsbGQiLCZuKQojZGVmaW5lIHNjZihuKSBzY2FuZigiJWYiLCZuKQojZGVmaW5lIHNjZChuKSBzY2FuZigiJWxmIiwmbikKI2RlZmluZSBzY3Mocykgc2NhbmYoIiVzIiwmcykKI2RlZmluZSBzY2xsKG4pIHNjYW5mKCIlJUk2NGQiLCZuKQojZGVmaW5lIFBJIGFjb3MoLTEuMCkKI2RlZmluZSBMTCBsb25nIGxvbmcKI2RlZmluZSBNWCAxMDAwMDA1CiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwpib29sIHN0YXR1c1sxMTAwMDAyXTsKCmludCBtYWluKCkKewogICAgaW50IG47CiAgICB3aGlsZShzY2kobikgJiYgbj4wKQogICAgewogICAgICAgIGlmKG49PTEpCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIjBcbiIpOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaW50IHJlc3VsdD1uOwogICAgICAgIGZvcihpbnQgaT0yOyBpKmk8PW47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKG4laT09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgd2hpbGUobiVpPT0wKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIG4vPWk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXN1bHQtPXJlc3VsdC9pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKG4+MSkKICAgICAgICB7CiAgICAgICAgICAgIHJlc3VsdC09cmVzdWx0L247CiAgICAgICAgfQoKICAgICAgICBwcmludGYoIiVkXG4iLHJlc3VsdCk7CiAgICB9Cn0K