//余事象.. A or B = |A| + |B| - |A and B| (N>=2なのでA=Bか否かで場合分け) #include #include using namespace std; using namespace atcoder; using mint = modint998244353; int mod = 998244353; int n, a, b; mint fact[200001]; void initFact(int n) { fact[0] = 1; for (int i = 1; i <= n; i++) { fact[i] = i * fact[i - 1]; } } int main() { int i; cin >> n >> a >> b; initFact(n); mint ans = fact[n] - 2 * fact[n - 1] + (a != b) * fact[n - 2]; cout << ans.val() << endl; return 0; }