#include #include #define MOD 998244353 std::vector prime; int check[1000010]; long long int gcd(long long int a, long long int b) { return a?gcd(b%a,a):b; } long long int lcm(long long int a, long long int b) { return (a/gcd(a,b))*b; } int main() { for(int i=2;i<=1000000;i++) { if(check[i]==0) { prime.push_back(i); for(int j=i;j<=1000000;j+=i) check[j] = 1; } } int a; scanf("%d",&a); int t = 0; for(int i=prime.size()-1;i>=0;i--) { if(prime[i]<=a) { t = prime[i]; break; } } long long int ans = 1; for(int i=0;ia) break; ans *= prime[i]; ans %= MOD; } } printf("%lld\n",ans); }