//埋め込み想定だったらキレる #pragma GCC optimize ("O3","unroll-loops") #include #include using namespace std; using mint = atcoder::modint998244353; int main(){ int n, k; cin >> n >> k; k = min(k, n - k); if(n - k + 1 <= 998244353 && 998244353 <= n){ cout << "0\n"; return 0; } mint mul = 1, div = 1; for(int i = 0; i < k; i++){ mul *= mint::raw(n - i); div *= mint::raw(i + 1); } cout << (mul / div).val() << '\n'; }