lifengsen • 2个月前
using namespace std;
long long arr[200005];
void init() {
arr[0] = 1;
for (int i = 1; i < 200001; ++i) {
arr[i] = arr[i - 1] * i % mod;
}
}
long long func(long long a, long long b, long long c) {
long long ret = 1;
while (b) {
if (b & 1) {
ret = ret * a % c;
}
a = a * a % c;
b = b >> 1;
}
return ret;
}
long long work(long long a, long long b) {
return arr[a] * func(arr[a - b] * arr[b] % mod, mod - 2, mod) % mod;
}
int main() {
init();
int n, m;
while (scanf("%d%d", &n, &m) != EOF) {
printf("%lld\n", work(n - 2 + m - 2, n - 2));
}
return 0;
}
评论: