using static System.Math; using System; class Modulo { public const int MOD = 998244353; private readonly int[] m_facs; public int Mul(int a, int b) => (int)(BigMul(a, b) % MOD); public Modulo(int n) { m_facs = new int[n + 1]; m_facs[0] = 1; for (int i = 1; i <= n; ++i) m_facs[i] = Mul(m_facs[i - 1], i); } public int Fac(int n) => m_facs[n]; } public class Hello { static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var a = int.Parse(line[1]); var b = int.Parse(line[2]); getAns(n, a, b); } static void getAns(int n, int a, int b) { var md = new Modulo(n); var ans = md.Fac(n); ans -= 2 * md.Fac(n - 1); ans %= Modulo.MOD; if (ans < 0) ans += Modulo.MOD; if (a == b) Console.WriteLine(ans); else { ans += md.Fac(n - 2); ans %= Modulo.MOD; Console.WriteLine(ans); } } }