#include<bits/stdc++.h>
using namespace std;

typedef long long llint;
typedef long double ld;
#define inf 1e18
#define mod 1000000007
priority_queue<llint,vector<llint>,greater<llint> > que;
priority_queue<llint> q;
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }

llint euler(llint x){
	if(x==0)return 0;
	llint ret=x;
	for(llint i=2;i*i<=x;i++){
		if(x%i==0){
			ret-=ret/i;
			while(x%i==0)x/=i;
		}
	}
	if(x>1)ret-=ret/x;
	return ret;
}

void solve(){
	llint n;
	cin >> n;
	cout << euler(n) << endl;
}

int main(int argc, char *argv[]) {
  solve();
  return 0;
}

