手套配对
C++ GESP真题 八级 2024.9 #1
EXY-PG-0171
时间限制:1s 内存限制:512MB

题目描述

小杨有 $n$ 对不同的手套,每对手套由左右各一只组成。

小杨想知道从中取出 $m$ 只手套,$m$ 只手套恰好包含 $k$ 对手套的情况有多少种。

小杨认为两种取出的情况不同,当且仅当两种情况取出的手套中存在不同的手套(同一对手套的左右手也视为不同的手套)。

输入格式

第一行包含一个正整数 $t$,代表测试用例组数。

接下来是 $t$ 组测试用例。对于每组测试用例,一共一行。

第一行包含三个正整数 $n,m,k$,代表手套数量,取出的手套数和目标对数。

输出格式

对于每组测试数据,输出一个整数,代表可能的情况数量对 $10^9+7$ 取模的结果。

样例说明

样例 1
输入:
2
5 6 2
5 1 5
输出:
120
0

数据范围

对全部的测试数据,保证 $1 \leq t \leq 10^5,1 \leq n \leq 1000,1 \leq m \leq 2 \times n,1 \leq k \leq n$。