#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define MD 998244353 char d[1234567]; main(){ long n; scanf("%ld",&n); long a=1,b=1l<<~__builtin_clzl(n); for(long i=3;i<=n;i+=2){ if(!d[i]){ a=b; long c=1; while(c*i<=n)c*=i; b=b*c%MD; for(long j=i*i;j<=n;j+=i*2){ d[j]=1; } } } printf("%ld",a); }