AT_arc076_a [ABC065C] Reconciled?

题目描述

[problemUrl]: https://atcoder.jp/contests/abc065/tasks/arc076_a すぬけ君养了 $N$ 只狗和 $M$ 只猴子。すぬけ君打算把这 $N+M$ 只动物排成一列。 すぬけ君想让这些本来不和的狗和猴子和好,因此他希望在排列时,任何两个狗或者任何两个猴子都不能挨在一起。 问有多少种这样的排列方式。由于狗和猴子都无法理解大于等于 $10^9+7$ 的数字,请你输出排列方式的数量对 $10^9+7$ 取模的结果。注意,同样种类的狗、同样种类的猴子彼此区别。此外,只有左右对称的队列也被认为是不同的排列。

输入格式

输入以如下格式给出,通过标准输入读入。 > $N$ $M$

输出格式

输出排列方式的数量对 $10^9+7$ 取模后的结果。

说明/提示

## 限制条件 - $1 \leq N, M \leq 10^5$ ## 样例解释 1 将两只狗分别记作 `A`、`B`,将两只猴分别记作 `C`、`D`,则可能的排列为:`ACBD`、`ADBC`、`BCAD`、`BDAC`、`CADB`、`CBDA`、`DACB`、`DBCA`,共 $8$ 种排列方式。 由 ChatGPT 5 翻译