int main() { calcprime(); calcmu(); memset(g, -1, sizeof g); g[1] = 1; long long N; scanf("%lld %d", &N, &K); long long ans = 0; for (int i = 1; i <= N; ++i) { ans += N / i * N / i % mod * getG(i) % mod; ans %= mod; } printf("%lld\n", ans); return 0; }
// returns true iff n is a smith number int is(ll n){ if (n < sizeof(notprime)&&!notprime[n])return 0; return calcprime(n) == calc(n); }