Pagini recente » Cod sursa (job #2494356) | Cod sursa (job #560532) | Cod sursa (job #2356558) | Cod sursa (job #2766719) | Cod sursa (job #2138703)
#include <bits/stdc++.h>
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
long long t,x,y,z,a,b,c,n,k;
const long long MOD =666013;
long long A[4][4],sol[4][4];
void multi(long long A[][4],long long b[][4])
{
long long c[4][4];
for(long long i=1;i<=3;++i)
{
for(long long j=1;j<=3;++j)
{
c[i][j]=0;
for(long long k=1;k<=3;++k)
c[i][j]+=(A[i][k]*b[k][j])%MOD;
}
}
for(long long i=1;i<=3;++i)
for(long long j=1;j<=3;++j)
A[i][j]=c[i][j];
}
int main()
{
f>>t;
for(long long i=1;i<=t;++i)
{
f>>x>>y>>z>>a>>b>>c>>n;
sol[1][1]=0;
sol[1][2]=1;
sol[1][3]=0;
sol[2][1]=0;
sol[2][2]=0;
sol[2][3]=1;
sol[3][1]=c;
sol[3][2]=b;
sol[3][3]=a;
n-=2;
memset(A,0,sizeof(A));
A[1][1]=1;
A[2][2]=1;
A[3][3]=1;
while(n)
{
if(n%2)
{
multi(A,sol);
n--;
}
n/=2;
multi(sol,sol);
}
g<<(A[3][1]*x%MOD +A[3][2]*y%MOD+A[3][3]*z%MOD)%MOD<<'\n';
}
return 0;
}