/* *********************************************** Author :kuangbin Created Time :2016/3/12 19:06:21 File Name :F:\ACM\2016ACM\BestCoder\BC75\C.cpp ************************************************ */ #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int MAXN = 2010; const int MOD = 1e9+7; void Add(int &a,int b) { a += b; if (a >= MOD)a -= MOD; } int dp[MAXN][27][4]; int main() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); memset(dp,0,sizeof(dp)); dp[0][26][0] = 1; for(int i = 0;i < 2000;i++) for(int j = 0;j <= 26;j++) for(int k = 0;k <= 3;k++) { if(dp[i][j][k] == 0)continue; for(int x = 0;x < 26;x++) { if(x == j && k == 3)continue; if (x == j)Add(dp[i+1][x][k+1],dp[i][j][k]); else Add(dp[i+1][x][1],dp[i][j][k]); } } int T; int n; scanf("%d",&T); while(T--) { scanf("%d",&n); int ans = 0; for(int j = 0;j < 26;j++) for(int k = 1;k <= 3;k++) Add(ans,dp[n][j][k]); printf("%d\n",ans); } return 0; }