# 解説を見た。 # 一瞬、不可能では? と思ったけど、ちゃんと考えて解ける問題だった。 # k>=3のi**(1/k)で区切ろうというのは思いつく。 # 式変形が大変。 # ただ、k*2<=i<=(k+1)*(k+1)のときint(i**0.5)がkになるということに気付けば、 # 式変形が可能そうだとは思うことは可能そう。 import sys input = sys.stdin.readline # 高速ベキ乗 def fast_pow(x,y): ANS=1 while y>0: if y%2==1: ANS=ANS*x y-=1 if y>0: x=x*x y//=2 return ANS mod=998244353 N=int(input()) X=[] INV20=pow(20,mod-2,mod) INV2=pow(2,mod-2,mod) def f(n): m=int(n**(1/2))+1 while nN: ANS+=(f(N+1)-f(c))*k break else: ANS+=(f(c2)-f(c))*k #print(c,c2,ANS) ANS%=mod print(ANS%mod)