#P16706. 奇安凡尼银行

奇安凡尼银行

题目描述

奇安凡尼银行建于城市主干道右侧的显眼位置,其规模为全公国之最,数家葡萄园借助它的投资而建成。

你决定去银行取钱。然而,由于人数众多、手续繁杂,你的业务迟迟没有得到办理。为了消遣,你和旁边一同等待的客户玩起了卡牌游戏。

由于你们都厌倦了传统的 Gwent 玩法,于是决定设计一种移牌游戏。

最初有 nn 个牌堆围成一个环,依次编号为 1n1\sim n,每个牌堆中都有 mm 张牌。接下来,你们一共进行恰好 mm 次操作。

每次操作中,你需要选择一个编号 ii,从第 ii 个牌堆中取出一张牌,并将其放入相邻的一个牌堆中:

  • 放入左侧牌堆,编号为 (i+n2)modn+1(i+n-2)\bmod n+1
  • 或放入右侧牌堆,编号为 imodn+1i\bmod n+1

也就是说,第 ii 个牌堆的牌数减少 11,所选择的相邻牌堆的牌数增加 11

正当你们准备进一步约定时,一旁的观众小声问道:“这场牌可能出现多少种结果呢?”你的对手头脑异于常人,在一秒内就报出了结果数对 998244353998244353 取模的答案。你不甘示弱,于是决定报出结果数对 109+710^9+7 取模的答案。

两种结果不同,当且仅当至少存在一个编号的牌堆,在两种结果中的牌数不同。

请计算经过恰好 mm 次操作后,可能得到多少种不同的牌堆数量配置。

输入格式

第一行包含一个正整数 TT,表示数据组数。

接下来 TT 行,每行包含两个整数 n,mn,m,含义如题目描述所示。

输出格式

对于每组数据,输出一行一个整数,表示不同结果的数量对 109+710^9+7 取模后的值。

样例

3
4 1
4 5
8 10
8
216
573661

数据范围与约定

  • 对于 20%20\% 的数据,n,m5n,m\le 5
  • 对于 40%40\% 的数据,n,m100n,m\le 100
  • 对于另外 20%20\% 的数据,n,mn,m 均为偶数;
  • 对于另外 10%10\% 的数据,mm 为偶数;
  • 对于全部数据,1T51\le T\le 51n50001\le n\le 50000m50000\le m\le 5000