#include <bits/stdc++.h>
int main()
{
	int i,x;
	scanf("%d",&x);
	int ans=x;
	for(int i=2;i*i<=x;i++){//对因子进行罗列 
		if(x%i)
		continue;
		
		ans=ans*(i-1)/i;//每次刨除一种因子 ,依次乘1/2,2/3,3/4 等等,将公因子的倍数全都除去 
		while(!(x%i))
		{
			x/=i;//不断求公因子,先是12,6,3.得到3的时候2这个公因子已经结束了,找到了下一个公因子,也就跳出了while循环。 
		}
	}
	//由此可见,如果7行i*i改成i的话,可以直接将每一种情况算尽,但是时间太长,就取根号,再加第18行进行后补 
	if(x>1){ans=ans*(x-1)/x;}
	printf("%d",ans);
}