#P17341. 【MX-X30-T7】言而无信者的救赎

【MX-X30-T7】言而无信者的救赎

背景

就算自身将浸于

无边无际的悲叹

也要回归空白

空白的未来

题目描述

对于一个长度为 2n2n 的排列 pp,定义 f(p)f(p) 为满足以下条件的整数数对 (i,j)(i,j) 的个数:

  • 1≤i,j≤n1\le i,j\le n。
  • p2i=2jp_{2i}=2j。
  • p2i−1=2j−1p_{2i-1}=2j-1。

定义 c(p)c(p) 为排列 pp 的置换环个数。

对于 i=0∼ni=0\sim n,j=1∼2nj=1\sim 2n,请你求出满足 f(p)=if(p)=i 且 c(p)=jc(p)=j 的排列 pp 的个数对 109+710^9+7 取模的结果,记为 H(i,j)H(i,j)。

请你求出 $\displaystyle \bigoplus_{i=0}^n\bigoplus_{j=1}^{2n} \left(d+H(i,j)\right)$。

输入格式

本题含有多组测试。

第一行,包含一个整数 TT。

接下来共 TT 行,每行包含两个整数 n,dn,d。

输出格式

共 TT 行,对于每组测试,请你输出一行一个整数,表示 $\displaystyle \bigoplus_{i=0}^n\bigoplus_{j=1}^{2n} \left(d+H(i,j)\right)$。

3
2 0
10 0
100 0
10
836833797
850061004
3
1000 1
2000 2
4000 45
300382194
871761782
343429692

提示

对于所有数据,保证 1≤T≤31\le T\le 3,1≤n≤40001\le n\le 4000,0≤d≤1000\le d\le 100。

::cute-table{tuack}

子任务编号 分数 n≤n\le
11 55
22 1010 1515
33 1515 5050
44 2020 250250
55 20002000
66 30003000
77 1010 40004000