#include #include #include #include using namespace std; using ll = long long; using mint = atcoder::modint998244353; int main(){ ll n; cin >> n; mint ans=0; ll m=sqrt(n); for(int i=1;i<=m;i++){ ans+=mint(n/i).pow(i); } ll j=m+1; while(j<=n){ ll l=j,r=n+1; while(l+1!=r){ ll c=(l+r)/2; if(n/c==n/j)l=c; else r=c; } r=n/l; ll x=l-j+1; if(r==1){ ans+=x; }else{ ans+=mint(r).pow(j)*(1-mint(r).pow(x))/mint(1-r); } j=l+1; } cout << ans.val() << endl; return 0; }