#include #include using namespace std; using namespace atcoder; typedef modint998244353 mint; typedef long long ll; //defmodfact const int COMinitMAX = 500000; mint fact[COMinitMAX+1], factinv[COMinitMAX+1]; void modfact(){ fact[0] = 1; for (int i=1; i<=COMinitMAX; i++){ fact[i] = fact[i-1] * i; } factinv[COMinitMAX] = fact[COMinitMAX].inv(); for (int i=COMinitMAX-1; i>=0; i--){ factinv[i] = factinv[i+1] * (i+1); } } mint cmb(int a, int b){ if (a> n >> a >> b; mint ans = 0; if (a == b){ ans += fact[n]; ans -= fact[n-1]; ans -= fact[n-1]; }else{ ans += fact[n]; ans -= fact[n-1]; ans -= fact[n-1]; ans += fact[n-2]; } cout << ans.val() << endl; }