Pagini recente » Cod sursa (job #2498586) | Cod sursa (job #500225) | Cod sursa (job #2518774) | Cod sursa (job #975978) | Cod sursa (job #2608211)
#include <fstream>
using namespace std;
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
int t,x,y,z,a,b,c,n,f[4][4],mat[4][4];
const int mod=666013;
void prod(int a[4][4],int b[4][4]){
int c[4][4];
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
c[i][j]=0;
for(int k=1;k<=3;k++){
c[i][j]+=((a[i][k]%mod)*(b[k][j]%mod))%mod;
c[i][j]%=mod;
}
}
}
for(int i=1;i<=3;i++){
for(int j=1;j<=n;j++){
a[i][j]=c[i][j];
}
}
}
void pow(int n){
while(n!=0){
if(n%2!=0){
prod(mat,f);
}
prod(f,f);
n/=2;
}
}
int main()
{
cin>>t;
while(t--){
cin>>x>>y>>z>>a>>b>>c>>n;
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
f[i][j]=mat[i][j]=0;
}
}
f[1][3]=c;
f[2][1]=1;
f[2][3]=b;
f[3][2]=1;
f[3][3]=a;
mat[1][1]=mat[2][2]=mat[3][3]=1;
pow(n-2);
cout<<(x*mat[1][3]%mod+y*mat[2][3]%mod+z*mat[3][3]%mod)%mod<<'\n';
}
return 0;
}