#aising2020f. [aising2020_f]Two Snuke

[aising2020_f]Two Snuke

题目描述

给定一个整数 NN。Snuke 会选择整数 s1s_1s2s_2n1n_1n2n_2u1u_1u2u_2k1k_1k2k_2e1e_1e2e_2,以满足以下六个条件:

  • 0leqs1<s20 \\leq s_1 < s_2
  • 0leqn1<n20 \\leq n_1 < n_2
  • 0lequ1<u20 \\leq u_1 < u_2
  • 0leqk1<k20 \\leq k_1 < k_2
  • 0leqe1<e20 \\leq e_1 < e_2
  • $s_1 + s_2 + n_1 + n_2 + u_1 + u_2 + k_1 + k_2 + e_1 + e_2 \\leq N$

对于每个可能的选择 (s1,s2,n1,n2,u1,u2,k1,k2,e1,e2)(s_1, s_2, n_1, n_2, u_1, u_2, k_1, k_2, e_1, e_2),计算 $(s_2 - s_1)(n_2 - n_1)(u_2 - u_1)(k_2 - k_1)(e_2 - e_1)$,并求所有计算值的和,结果取模 (109+7)(10^9 + 7)

解决给定的 TT 个测试用例中的每一个问题。

约束条件

  • 输入中的所有值都是整数。
  • 1leqTleq1001 \\leq T \\leq 100
  • 1leqNleq1091 \\leq N \\leq 10^9

输入

从标准输入读入输入数据,输入格式如下:

TT mathrmcase1\\mathrm{case}_1 vdots\\vdots mathrmcaseT\\mathrm{case}_T

每个测试用例的格式如下:

NN

输出

输出 TT 行。第 ii 行应包含第 ii 个测试用例的答案。


示例输入1

4
4
6
10
1000000000

示例输出1

0
11
4598
257255556
  • N=4N=4 时,没有可能的选择 (s1,s2,n1,n2,u1,u2,k1,k2,e1,e2)(s_1, s_2, n_1, n_2, u_1, u_2, k_1, k_2, e_1, e_2)。因此,答案为 00
  • N=6N=6 时,有六个可能的选择 (s1,s2,n1,n2,u1,u2,k1,k2,e1,e2)(s_1, s_2, n_1, n_2, u_1, u_2, k_1, k_2, e_1, e_2),如下所示:
    • (0,1,0,1,0,1,0,1,0,1)(0,1,0,1,0,1,0,1,0,1)
    • (0,2,0,1,0,1,0,1,0,1)(0,2,0,1,0,1,0,1,0,1)
    • (0,1,0,2,0,1,0,1,0,1)(0,1,0,2,0,1,0,1,0,1)
    • (0,1,0,1,0,2,0,1,0,1)(0,1,0,1,0,2,0,1,0,1)
    • (0,1,0,1,0,1,0,2,0,1)(0,1,0,1,0,1,0,2,0,1)
    • (0,1,0,1,0,1,0,1,0,2)(0,1,0,1,0,1,0,1,0,2)
  • 我们有一种选择,使得 $(s_2 - s_1)(n_2 - n_1)(u_2 - u_1)(k_2 - k_1)(e_2 - e_1)$ 为 11,有五种选择,使得 $(s_2 - s_1)(n_2 - n_1)(u_2 - u_1)(k_2 - k_1)(e_2 - e_1)$ 为 22,因此答案为 1111
  • 请务必对结果取模 (109+7)(10^9 + 7)