Pagini recente » Cod sursa (job #3317798) | Cod sursa (job #3348408) | Cod sursa (job #959796) | Cod sursa (job #2434375) | Cod sursa (job #3344116)
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
const int mod=666013;
ll A[3][3],O[3][3],I[3][3],r[3][3];
void copy_mat(ll v[][3],ll source[][3]){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
v[i][j]=source[i][j];
}
void multiply(ll v1[][3],ll v2[][3]){
ll r[3][3];
copy_mat(r,O);
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
for(int k=0;k<3;k++)
r[i][j]=(r[i][j]+v1[i][k]*v2[k][j]%mod)%mod;
copy_mat(v1,r);
}
void lg_pow(int power){
ll base[3][3];
copy_mat(r,I);
copy_mat(base,A);
while(power){
if(power%2)
multiply(r,base);
multiply(base,base);
power/=2;
}
}
void init_mat(int a,int b,int c){
I[0][0]=I[1][1]=I[2][2]=1;
A[0][0]=a,A[0][1]=b,A[0][2]=c;
A[1][0]=1;
A[2][1]=1;
}
void solve(){
ll x,y,z,a,b,c,n;
cin>>x>>y>>z>>a>>b>>c>>n;
init_mat(a,b,c);
lg_pow(n-2);
cout<<(r[0][0]*z%mod+r[0][1]*y%mod+r[0][2]*x%mod)%mod<<'\n';
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin>>t;
while(t--)
solve();
return 0;
}