Transmission Door
Test Instructions:
#include <bits/stdc++.h> using namespace std;
typedef long Long LL;
const int N = 3;
const int MOD = 1E9+7;
ll Quickpow (ll m,ll N) {ll b=1;
M%=mod;
while (n>0) {if (n&1) b= (b*m)%mod;
n=n>>1;
M= (m*m)%mod;
}return b;
} struct Matrix {LL m[n][n];};
Matrix I = {//i The main diagonal is 1 1,0,0, 0,1,0, 0,0,1,};
Matrix multi (Matrix A,matrix B)//matrices multiplication {matrix C;
for (int i=0;i<n;i++) {for (int j=0;j<n;j++) {C.m[i][j] = 0;
for (int k=0;k<n;k++) c.m[i][j] + = a.m[i][k] * b.m[k][j]% MOD;
C.M[I][J]%= MOD;
}} return C;
} Matrix Power (Matrix A,LL K)//K power of matrix A (fast power) {Matrix ans = i,p = A;
while (k) {if (k&1) {ans = multi (ans,p);
k--;
} k >>= 1;
p = multi (p,p);
} return ans; } Matrix A = {4,17,-12, 1,0,0, 0, 1, 0,};
int main () {int t;
LL N,h2;
scanf ("%d", &t);
while (t--) {scanf ("%lld", &n);
if (n==3) {printf ("197\n"); continue;
} if (n==2) {printf ("31\n"); continue;
} Matrix ans = power (a,n-4);
H2= (((ans.m[0][0]*1255)%mod+ (ans.m[0][1]*197)%mod)%mod+ (ans.m[0][2]*31)%mod)%mod;
H2= (h2+mod)%mod;
printf ("%lld\n", H2);
} return 0;
}