MOD=998244353 N=int(input()) e_p,MAX_N,is_prime={},N+1,[1]*(N+1) is_prime[0]=is_prime[1]=0 for i in range(2,MAX_N): if is_prime[i]: p,n,e=i,N,0 while n:n//=p;e+=n e_p[p]=e for j in range(i*2,MAX_N,i):is_prime[j]=0 E=max(e_p.values()) T=[0]*(E+2) T[E+1]=1 for k in range(E,0,-1): t=1 for p in e_p:t=t*(e_p[p]//k+1)%MOD T[k]=t a=0 for k in range(1,E+1):a=(a+k*(T[k]-T[k+1]))%MOD print(a)