Pagini recente » Cod sursa (job #1817299) | Cod sursa (job #1620851) | Cod sursa (job #361534) | Cod sursa (job #22473) | Cod sursa (job #2240689)
#include <iostream>
#include <fstream>
#define ll long long
#define mod 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
ll x,y,z,a,b,c,n,t;
void inm(ll tbi1[3][3],ll tbi2[3][3])
{
ll tbi3[3][3];
for(ll i=0; i<=2; ++i)
for(ll j=0; j<=2; ++j)
{
tbi3[i][j]=0;
for(ll k=0; k<=2; ++k)
tbi3[i][j]=(1LL * tbi3[i][j] % mod + 1LL * tbi1[i][k] * tbi2[k][j] % mod) % mod;
}
for(ll i=0; i<=2; ++i)
for(ll j=0; j<=2; ++j)
tbi1[i][j] = tbi3[i][j];
}
void rez(ll mat[3][3],ll p)
{
ll aux[3][3];
for(ll i=0; i<=2; ++i)
for(ll j=0; j<=1; ++j)
aux[i][j]=0;
aux[1][0]=aux[2][1]=1;
aux[0][2]=c;
aux[1][2]=b;
aux[2][2]=a;
for(ll i=0; i<=2; ++i)
for(ll j=0; j<=2; ++j)
mat[i][j]=0;
mat[0][0]=mat[1][1]=mat[2][2]=1;
while(p)
{
if(p%2)
inm(mat,aux);
inm(aux,aux);
p/=2;
}
}
int main()
{
f>>t;
while(t--)
{
f>>x>>y>>z>>a>>b>>c>>n;
ll aux[3][3];
rez(aux,n-2);
g<<(1LL*aux[0][2]*x%mod+1LL*aux[1][2]*y%mod+1LL*aux[2][2]*z%mod)%mod<<"\n";
}
return 0;
}