#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 int main(){ int N; cin>>N; vector p; vector np(N+1,-1); for(int i=2;i<=N;i++){ if(np[i]==-1){ p.push_back(i); np[i] = i; } rep(j,p.size()){ if(p[j]*i>N||p[j]>np[i]){ break; } np[p[j]*i] = p[j]; } } vector cnt(N+1,0); cnt[1] = 1; for(int i=2;i<=N;i++){ if(np[i]==i){ cnt[i]++; } else{ int T = np[i]; if(np[i/T]%T==0){ T = np[i/T]/T; } else{ T = np[i/T]*T; } np[i] = T; cnt[T]++; } } long long ans = 0LL; rep(i,N+1){ long long t = cnt[i]; t *= t; ans += t; } cout<