diff --git a/P16807.cpp b/P16807.cpp new file mode 100644 index 0000000..5f7cb2e --- /dev/null +++ b/P16807.cpp @@ -0,0 +1,39 @@ +#include +using namespace std; +const long long mod = 998244353; +long long n, m; // 1e5 +long long jc[200005]; +long long qpow(long long a, long long b) +{ + if (b == 0) + return 1ll; + long long res = 1; + while (b > 0) + { + if (b & 1) + res = a * res % mod; + a = a * a % mod, b /= 2; + } + return res; +} +long long ni(long long a) +{ + return qpow(a, mod - 2); +} +long long C(long long a, long long b) +{ + return ((jc[a] * ni(jc[a - b])) % mod * ni(jc[b])) % mod; +} +signed main() +{ + scanf("%lld%lld", &n, &m); + long long now = 1; + jc[0] = 1; + for (long long i = 1; i <= m + n; ++i) + now = now * i % mod, jc[i] = now; + long long ans = (C(n + m, m) - C(n + m, m - 1)); + while (ans < 0) + ans += mod; + printf("%lld\n", ans % mod); + return 0; +} \ No newline at end of file