def primes(n): is_prime = [True] * (n + 1) is_prime[0] = False is_prime[1] = False for i in range(2, int(n**0.5) + 1): if not is_prime[i]: continue for j in range(i * 2, n + 1, i): is_prime[j] = False return [i for i in range(n + 1) if is_prime[i]] from math import gcd MOD = 998244353 n = int(input()) ans = 1 pr = primes(n) for p in pr: t = 1 x = p while x < n: y = x if t < x: t = x while y < n: if (n % y) % x == 0 and t < x * y: t = x * y y *= p x *= p ans *= t ans %= MOD print(ans)