int ol (int x) { int ans = 1; for (int i = 1; prime[i] * prime[i] <= tot ; i + +) { if (x % prime[i] == 0) { ans * = (prime[i] - 1); x / = prime[i]; while (x % prime[i] == 0) { x / = prime[i]; ans * = prime[i]; } } } return x > 1 ? x - 1 : ans; }
int ol (int x) { int ans = 1; for (int i = 1; prime[i] * prime[i] <= tot ; i + +) { if (x % prime[i] == 0) { ans * = (prime[i] - 1); x / = prime[i]; while (x % prime[i] == 0) { x / = prime[i]; ans * = prime[i]; } } } return x > 1 ? x - 1 : ans; }