P = list(range(10**6)) for i in range(2,10**6): if i*i>10**6:break for j in range(i*i,10**6,i): P[j] = P[i] MOD = 998244353 N = int(input()) def p_fact(x): C = {} while x>1: p = P[x] C[p] = C.get(p,0)+1 x //= p return C lcm = p_fact(N-1) for i in range(2,N): C1 = p_fact(i) C = p_fact(N-i) for p in C1: C[p] = C.get(p,0)+C1[p] for p in C: lcm[p] = max(lcm.get(p,0),C[p]) ans = 1 for p in lcm: ans = (ans*pow(p,lcm[p],MOD))%MOD print(ans)