Лицарі#5937

Лицарі

2 секунди
256 мегабайтів
Дуже складна

Є пар лицарів, які ворогують між собою. Також є круглий стіл з місцями, де m \geq 2n, і місця пронумеровані від до по колу.

Вам потрібно визначити кількість способів, якими можна розсадити лицарів за столом так, щоб жодна пара ворогуючих лицарів не сиділа на сусідніх місцях.

Вхідні дані

Вхідні дані містять два цілі числа і (1 \leq n \leq 10^5, 2n \leq m \leq 3 \cdot 10^5).

Вихідні дані

Виведіть остачу від ділення кількості можливих способів на (10^9+7).

Приклади

Приклад 1

Loading
Loading