Pagini recente » Cod sursa (job #711427) | Cod sursa (job #2668768) | Cod sursa (job #2601603) | Cod sursa (job #2940695) | Cod sursa (job #2370886)
#include<bits/stdc++.h>
#define mod 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
long long sol[4][4],mat[4][4];
int x,y,z,a,b,c,n;
void mult(long long a[4][4],long long b[4][4])
{
long long copie[4][4];
memset(copie,0,sizeof(copie));
for(int i=1;i<=3;++i)
for(int j=1;j<=3;++j)
for(int k=1;k<=3;++k)
copie[i][j]=(copie[i][j]+a[i][k]*b[k][j])%mod;
for(int i=1;i<=3;++i)
for(int j=1;j<=3;++j)
a[i][j]=copie[i][j];
}
void inm(int put)
{
memset(sol,0,sizeof(sol));
sol[1][1]=sol[2][2]=sol[3][3]=1;
while(put)
{
if(put&1)
{
mult(sol,mat);
}
mult(mat,mat);
put>>=1;
}
}
int main()
{
int t;
f>>t;
while(t--)
{
f>>x>>y>>z>>a>>b>>c>>n;
memset(mat,0,sizeof(mat));
mat[1][3]=c;
mat[2][1]=mat[3][2]=1;
mat[2][3]=b;
mat[3][3]=a;
inm(n-2);
g<<(x*sol[1][3]+y*sol[2][3]+z*sol[3][3])%mod<<'\n';
}
}