def max_sieve(n): is_prime = [True for _ in range(n+1)] is_prime[1] = False for i in range(2, n+1): if is_prime[i]: j = 2 * i while j <= n: is_prime[j] = False j += i table = [i for i in range(1, n+1) if is_prime[i]] return table[-1] MOD = 998244353 N = int(input()) p = max_sieve(N) ans = 1 from math import gcd for i in range(1,N+1): if i==p: continue g = gcd(ans,i) ans *= i//g ans %= MOD print(ans)