#include using namespace std; #include using namespace atcoder; using mint = modint998244353; using ll = long long; int main () { ll N; cin >> N; ll h = sqrt(N); h = max(0ll, h - 10); while (h * h <= N) h ++; h --; mint ans = 0; for (ll i = 1; i <= h; i ++) { mint q = N / i, r = N % i; ans += q * (r + 1); ans += (q * (q - 1) * i) / 2; } ll fl = h + 1; while (N / fl >= h) { mint q = N / fl, r = N % fl; ans += q * (r + 1); ans += (q * (q - 1) * fl) / 2; fl ++; } for (ll q = h - 1; q; q --) { mint al = (N) / (q + 1) + 1, bt = N / q; mint s = al + bt, d = bt - al + 1; ans += d * (N + 1) * q; ans -= s * d * q * (q + 1) / 4; } cout << ans.val() << endl; }