n = int(input()) MOD = 998244353 # 直前の連続個数が0,1,2 dp0 = [[0] * (n + 1) for _ in range(n + 1)] dp1 = [[0] * (n + 1) for _ in range(n + 1)] dp2 = [[0] * (n + 1) for _ in range(n + 1)] dp1[0][0] = 1 for i in range(n): for j in range(n): # 0 -> 必ず1 # 1 -> 0か2 # 2 -> 必ず0 dp1[i + 1][j] += dp0[i][j] dp0[i + 1][j + 1] += dp1[i][j] dp2[i + 1][j] += dp1[i][j] dp0[i + 1][j + 1] += dp2[i][j] f = [1] for i in range(1, n + 1): f.append((f[-1] * i) % MOD) ans = 0 for j in range(n + 1): # j! (n-j)! x = dp0[n][j] y = dp1[n][j] t = f[j] * f[n - j] t %= MOD ans += x * t ans += y * t ans %= MOD print(ans)