mod = 998244353 comb_num = 10**6 + 2 F = [1] * comb_num F_ = [1] * comb_num for i in range(2, comb_num): F[i] = F[i-1]*i%mod F_[-1] = pow(F[-1], -1, mod) for i in range(comb_num-1, 0, -1): F_[i-1] = F_[i]*i%mod def comb(a, b): if 0 <= b <= a: return F[a] * F_[b] * F_[a-b] % mod else: return 0 def main(): n = int(input()) dp0 = [0] * (n+1) dp1 = [0] * (n+1) dp2 = [0] * (n+1) dp1[0] = 1 for i in range(n): ndp0 = [0] * (n+1) for a in range(n): ndp0[a+1] = (ndp0[a+1]+dp1[a]+dp2[a]) % mod dp0, dp1, dp2 = ndp0, dp0, dp1 ans = 0 for c in range(n+1): t = (dp0[c]+dp1[c])%mod ans = (ans + F[c]*F[n-c]%mod*t) % mod return ans print(main())