#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int tc,i,j,k,x;
long long int n;
scanf("%d",&tc);
x=n-2;
while(tc--)
{
long long int m1[3][3]={{3,2,1},{1,0,0},{0,0,1}};
long long int mult[3][1]={{0},{0},{0}},m2[3][1]={{1},{0},{5}};
scanf("%lld",&n);
if(n==1)
printf("0\n");
else if(n==2)
printf("1\n");
else
{
while((x)--)
{
for(i=0;i<3;i++)
{
for(j=0;j<1;j++)
{
mult[i][j]=0;
for(k=0;k<3;k++)
mult[i][j]=mult[i][j]+(m1[i][k]*m2[k][j])%1000000007;
}
}
}
for(i=0;i<3;i++)
for(k=0;k<1;k++)
m2[i][k]=mult[i][k];
}
cout<<m1[0][0]<<endl;
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRpbz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CiAgIGludCB0YyxpLGosayx4OwogICAKICAgbG9uZyBsb25nIGludCBuOwogICBzY2FuZigiJWQiLCZ0Yyk7CiAgIHg9bi0yOwogICB3aGlsZSh0Yy0tKQogICB7CiAgICAgICBsb25nIGxvbmcgaW50IG0xWzNdWzNdPXt7MywyLDF9LHsxLDAsMH0sezAsMCwxfX07CiAgICAgICBsb25nIGxvbmcgaW50IG11bHRbM11bMV09e3swfSx7MH0sezB9fSxtMlszXVsxXT17ezF9LHswfSx7NX19OwogICAgICAgc2NhbmYoIiVsbGQiLCZuKTsKICAgICAgIGlmKG49PTEpCiAgICAgICAgICAgcHJpbnRmKCIwXG4iKTsKICAgICAgIGVsc2UgaWYobj09MikKICAgICAgICAgICBwcmludGYoIjFcbiIpOwogICAgICAgZWxzZQp7CgoKd2hpbGUoKHgpLS0pCnsKZm9yKGk9MDtpPDM7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGo9MDtqPDE7aisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBtdWx0W2ldW2pdPTA7CiAgICAgICAgICAgICAgICBmb3Ioaz0wO2s8MztrKyspCiAgICAgICAgICAgICAgICAgICAgbXVsdFtpXVtqXT1tdWx0W2ldW2pdKyhtMVtpXVtrXSptMltrXVtqXSklMTAwMDAwMDAwNzsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KZm9yKGk9MDtpPDM7aSsrKQpmb3Ioaz0wO2s8MTtrKyspCm0yW2ldW2tdPW11bHRbaV1ba107Cn0KY291dDw8bTFbMF1bMF08PGVuZGw7Cn0KfQ==