#CSP201312D. 有趣的数

有趣的数

为保证数据强度,我们对原题的输入输出进行了微调,将一组输入改为多组输入。

时间限制: 1.0 秒

空间限制: 256 MB

题目描述

我们把一个数称为有趣的,当且仅当:

  1. 它的数字只包含 0,1,2,30,1,2,3,且这四个数字都出现过至少一次。
  2. 所有的 00 都出现在所有的 11 之前,而所有的 22 都出现在所有的 33 之前。
  3. 最高位数字不为 00

因此,符合我们定义的最小的有趣的数是 20132013。除此之外,44 位的有趣的数还有两个:2031203123012301

请计算恰好有 nn 位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以 109+710^9+7 的余数。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 TT,表示共有 TT 组数据。

接下来 TT 行,每组数据占一行,分别包含一个正整数 nn

输出格式

输出到标准输出。

共输出 TT 行,每行一个整数,对应询问所求的答案,为恰好 nn 位整数中有趣的数的个数除以 109+710^9+7 的余数。

1
4
3

数据范围

对于所有数据,1T100, 1n10001\le T\le 100,~1\le n\le 1000