This documentation is automatically generated by online-judge-tools/verification-helper
#include "math/eulers-phi-function.hpp"
template <typename T>
T eulersPhiFunction(T n){
T res = n;
for(T i = 2; i * i <= n; ++i){
if(n % i == 0){
res -= res / i;
while(n % i == 0) n /= i;
}
}
if(n > 1) res -= res / n;
return res;
}
#line 1 "math/eulers-phi-function.hpp"
template <typename T>
T eulersPhiFunction(T n){
T res = n;
for(T i = 2; i * i <= n; ++i){
if(n % i == 0){
res -= res / i;
while(n % i == 0) n /= i;
}
}
if(n > 1) res -= res / n;
return res;
}