#include #include #include #include using namespace std; typedef long long int ll; const ll zero=false; const int one=true; const int two=one<a={A},b={B};return inner_product(a.begin(),a.end(),b.begin(),zero);} ll add(ll A,ll B){vectorv={A,B};return accumulate(v.begin(),v.end(),zero);} #define FOR(i,l,r) for(ll i=l;i>one; if(product(m,mod)<=N)l=m; else r=m; } N=add(N,product(minu,product(l,mod))); while(N>=mod)N=add(N,product(minu,mod)); return N; } vector>P(vector>A,vector>B){ vector>res(two,vector(two)); REP(i,two)REP(j,two)REP(k,two)res[i][j]=remainder(add(res[i][j],product(A[i][k],B[k][j]))); return res; } int main(){ int T;cin>>T; REP(i,product(four,eight))minu=add(minu,one<>N; vector>A={{one,one},{one,zero}},E={{one,zero},{zero,one}}; while(N){ if(N&one)E=P(A,E); A=P(A,A); N>>=one; } cout<