#include #include using namespace std; typedef long long lint; #define rep(i,n)for(int i=0;i<(int)(n);++i) const lint mod=998244353; #define N 1000001 void add(lint&a,lint b){ a+=b; if(a>=mod)a-=mod; } int v[N]; lint dp[N]; int gcd(int a,int b){ while(b){ int r=a%b; a=b,b=r; } return a; } // TLE 解法。 int main(){ int n;cin>>n; for(int i=2;i>a; v[i]=a; if(a==1){ add(ans,1); continue; } dp[i]=1; rep(j,i) if(gcd(v[j],a)!=1)add(dp[i],dp[j]); add(ans,dp[i]); } cout<