int obt_phi(int m){ LL res=m; for(LL i=2; i*i<=m; i++){ if(m%i==0){ res=res*(i-1)/i; while(m%i==0) m/=i; } } if(m>1) res=res*(m-1)/m; return res; }
时间复杂度 O(mlogm)O(\sqrt{m}\log m)O(mlogm)?