#include<bits/stdc++.h>
#define int long long
using namespace std;
int m=1000000007;
vector<vector<int> > mul(vector<vector<int> > a,vector<vector<int> > b){
vector<vector<int> > c(a.size(),vector<int>(b[0].size()));
for(int i=0;i<a.size();i++){
for(int j=0;j<b[0].size();j++){
for(int k=0;k<a[0].size();k++){
c[i][j]+=a[i][k]*b[k][j];
c[i][j]%=m;
}
}
}
return c;
}
vector<vector<int> > qp(vector<vector<int> > a,int n){
vector<vector<int> > b(a[0].size(),vector<int>(a.size()));
for(int i=0;i<b.size();i++){
b[i][i]=1;
}
while(n){
if(n%2)b=mul(a,b);
a=mul(a,a);
n/=2;
}
return b;
}
signed main(){
freopen("1.out","w",stdout);
cout.tie(0);
int x=1,y=1,z=2,sum=23;
cout<<1<<endl<<5<<endl<<23<<endl;
for(int i=4;i<=10000000;i++){
x=y;
y=z;
z=(x+y)%m;
sum+=i*i%m*z%m;
sum%=m;
cout<<sum<<endl;
}
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
int m=1000000007;
vector<vector<int> > mul(vector<vector<int> > a,vector<vector<int> > b){
vector<vector<int> > c(a.size(),vector<int>(b[0].size()));
for(int i=0;i<a.size();i++){
for(int j=0;j<b[0].size();j++){
for(int k=0;k<a[0].size();k++){
c[i][j]+=a[i][k]*b[k][j];
c[i][j]%=m;
}
}
}
return c;
}
vector<vector<int> > qp(vector<vector<int> > a,int n){
vector<vector<int> > b(a[0].size(),vector<int>(a.size()));
for(int i=0;i<b.size();i++){
b[i][i]=1;
}
while(n){
if(n%2)b=mul(a,b);
a=mul(a,a);
n/=2;
}
return b;
}
signed main(){
freopen(".in","r",stdin);
freopen(".ans","w",stdout);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
vector<vector<int> > a(2,vector<int>(2));
a[0][0]=1;
a[0][1]=1;
a[1][0]=1;
for(int i=1;i<=n;i++){
int x;
cin>>x;
vector<vector<int> > b=qp(a,x+2),c=qp(a,x+3),d=qp(a,x+4);
cout<<((x%m*x%m*b[1][0]%m-(2*x-1)%m*c[1][0]%m+2*d[1][0]-8)%m+m)%m<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen(".in","w",stdout);
srand(time(0));
cout<<1000000<<endl;
for(int i=1;i<=1000000;i++){
cout<<1ll*rand()*rand()*rand()*rand()%900000000000000000+100000000000000000<<endl;
}
}
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen(".in","w",stdout);
cout<<10000000<<endl;
for(int i=1;i<=100000000;i++){
cout<<i<<endl;
}
}