#include #define rep(i,n) for(int i = 0; i < (n); i++) using namespace std; typedef long long ll; vector Eratosthenes(int N){ vector res, p(N + 1, 1); p[0] = p[1] = 0; for(int i = 0; i < N; i++) if(p[i]) { for(int j = i + i; j <= N; j += i) p[j] = 0; } for(int i = 0; i <= N; i++) if(p[i]) res.emplace_back(i); return res; } int main(){ cin.tie(0); ios::sync_with_stdio(0); int n; cin >> n; ll mod = 998244353; auto primes = Eratosthenes(n); primes.pop_back(); ll ans = 1; for(auto e : primes){ ll cur = 1; while(cur * e <= n) cur *= e; ans *= cur; ans %= mod; } cout << ans << endl; }