#R2025S0205. 异或OR同或 1

异或OR同或 1

异或OR同或 1

时间限制: 1s

空间限制:256MB

BackGround

有天 TannicAcidTannicAcid 在上数字逻辑电路的课程,课中提到了 异或 ((XOR)) 和一个运算符 同或 ((XNOR)),于是 TannicAcidTannicAcid 马上意识到可以对这个运算符 同或 出一道题。但是在此之前,我们先重新回顾一下关于 异或 的一些性质。

Description

对于一个长度为 nn 的非负整数序列, 如果有某个连续子序列的异或和为 00 , 则 TannicAcidTannicAcid 不喜欢这个序列,否则喜欢

现在 TannicAcidTannicAcid 给出两个整数 nnmm ,请你告诉他,由 00 ~ 2m12^m-1 组成的所有长度为 nn 的序列中,有多少个 TannicAcidTannicAcid 会喜欢的序列

Input Format

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

22 ~ T+1T+1行每行包含两个正整数 nn , mm

Output Format

对于每个测试用例,输出一个整数,表示 TannicAcidTannicAcid 会喜欢的序列的数量,结果对 1e9+71e9+7 取模

Input Example

3
3 2
4 3
5 4

Output Example

6
840
360360

Data Range

  • 1T1001\leq T \leq 100

  • 1n,m21041\leq n , m \leq 2*10^4