Knights#5937

Knights

2 seconds
256 megabytes
Very hard

There are pairs of knights who are enemies. Additionally, there is a round table with seats, where is at least . The seats are numbered from to in a circular arrangement.

Your task is to determine how many ways the knights can be seated in of these seats such that no pair of enemy knights is sitting next to each other.

Input

The input consists of two integers and (1 \leq n \leq 10^5, 2n \leq m \leq 3 \cdot 10^5).

Output

Output the number of valid seating arrangements, modulo (10^9+7).

Examples

Example 1

Loading
Loading