#include #include #include using namespace std; long long pow(long long a, long long k, long long m) { long long ret = 1; for (a %= m; k > 0; k >>= 1, a = a * a % m) if (k & 1) ret = ret * a % m; return ret; } int main() { const int mod = 998244353; long long n; cin >> n; auto cal = [&](long long x, long long k) -> long long { if (x == 1) return k; long long ret = pow(x, k + 1, mod) + mod - 1; return ret * pow(x - 1, mod - 2, mod) % mod; }; long long x = 1, v = n, ans = 0; while (x <= n) { long long nx = n / v + 1; ans = (ans + (cal(v, nx - 1) - cal(v, x - 1) + mod)) % mod; x = nx; v = n / x; } cout << ans << endl; }