#include using namespace std; #include using namespace atcoder; #ifdef DEFINED_ONLY_IN_LOCAL #include #define dump(...) cpp_dump(__VA_ARGS__) #else #undef dump #define dump(...) #endif #define rep(i, n) for (int i = 0; i < n; i++) template istream& operator>>(istream& I, vector& V) { for (T& X : V) I >> X; return I; } using mint = modint998244353; int main() { long n; cin >> n; if (n > 1e7) { return 0; } mint ans; for (int i = 1; i <= n; i++) { for (int j = i; j <= n; j += i) { ans += j / i * (i - max(0, (j + i - 1) - n)); } } cout << ans.val() << endl; return 0; }