/* cmd /V:ON SetEnv.Cmd /Vista /Release cl "$F" /EHsc */ #include // abs, _countof #include // fill #include // cout, endl const int Limit = 1000000; static int pfs[1+Limit]; int main() { std::fill(pfs, pfs+_countof(pfs), 1); long long count = 1LL * Limit*(Limit+1)/2 - 1; for(int d = 2; d <= Limit; ++d) { if(pfs[d] == 1) { for(int i = d; i <= Limit; i += d) { pfs[i] *= -d; } } if(std::abs(pfs[d]) == d) { count += 1LL * pfs[d]/std::abs(pfs[d]) * (Limit/d)*(Limit/d+1)/2; } } std::cout << count << std::endl; return 0; }