#include using LL = long long int; bool f[1'000'000]; int main() { int n; scanf("%d", & n); for(LL i = 2; i * i <= n; i++) { if(f[i]) { continue; } for(LL j = i * i; j <= n; j += i) { f[j] = true; } } for(int i = n; i >= 2; i--) { if(! f[i]) { f[i] = true; break; } } LL ans = 1; for(LL i = n; i >= 2; i--) { if(f[i]) { continue; } LL x = i; while(x * i <= n) { x *= i; } (ans *= x) %= 998244353; } printf("%lld\n", ans); }