S(const V<int>& arr) : arr(arr) { auto& a = this->arr; N = a.size(); reverse(a.begin(), a.end()); a.push_back(0); reverse(a.begin(), a.end()); t.resize(N+1, V<V<int>>(N+1, V<int>(N+1, -1))); }
main(){ int t=1,T,r; for(;~scanf("%d",&r);){ int f=1-r%2; V x(n*n); V e(n*n); z.resize(n*n); x[0]=1,x[1]=3,x[2]=1,x[3]=1; e[0]=1,e[3]=1; //unit for(;r;r>>=1){ if(r&1)e=Me(e,x); x=Mx(x); } printf("%d\n",(int)(2*e[0]-f)%1000); } }
int main(){ int T,a,b,r; for(scanf("%d",&T);T--;){ scanf("%d%d%d",&a,&b,&r);r--; V x(n*n); V e(n*n); z.resize(n*n); x[0]=x[1]=x[2]=1; e[0]=1,e[3]=1; for(;r;r>>=1){ if(r&1)e=Me(e,x); x=Mx(x); } printf("%lld\n",(e[0]*b+e[1]*a)%m); } }
int main(){ int T; long long t,t0; //for(scanf("%d",&T);T--;){ cin>>t; V x(n*n); V e(n*n); z.resize(n*n); x[0]=x[3]=3; x[1]=x[2]=1; e[0]=e[3]=1; for(;t;t>>=1){ if(t&1)e=Me(e,x); x=Mx(x); } cout<<e[0]<<endl; //} }