单次logn
int phi(int x)
{
int ret = x;
for (int i = 2; i * i <= x; i++)
{
if (x % i == 0)
{
ret = ret / i * (i - 1);
for (; x % i == 0; x /= i);
}
}
if (x != 1)
{
ret = ret / x * (x - 1);
}
return ret;
}