#nullable enable const int Mod = 998244353; var n = int.Parse(Console.ReadLine()!); var fac = new long[n + 1]; fac[0] = 1; for (var i = 1; i <= n; i++) fac[i] = fac[i - 1] * i % Mod; var ans = 0L; var l = Math.Max(3, n + 1); var f = new long[l]; f[0] = f[2] = 1; f[1] = 2; for (var k = 1; k <= n; k++) { ans += f[n - k] * fac[n - k] % Mod * fac[k] % Mod; var g = new long[l]; for (var i = 0; i < l - 1; i++) { g[i + 1] += f[i]; if (i + 2 < l) g[i + 2] += f[i]; } f = g; } Console.WriteLine(ans);