#include using namespace std; #include using namespace atcoder; using mint = modint998244353; int main () { using ll = long long; ll N; cin >> N; ll h = 1; mint ans = 0; while (h * h <= N) { ans += mint(N / h).pow(h); h ++; } for (int i = h-1; i; i --) { ll l = max(h-1, N/(i+1)), r = min(N, N/i); if (i - 1) { mint j = i; ans += (j.pow(r) - j.pow(l)) / (1 - j.inv()); } else { ans += r - l; } } cout << ans.val() << endl; }