Pagini recente » Cod sursa (job #2874623) | Cod sursa (job #318051) | Cod sursa (job #49205) | Cod sursa (job #3038280) | Cod sursa (job #2593678)
#include <iostream>
#include <fstream>
#define mod 666013
using namespace std;
ifstream in ("iepuri.in");
ofstream out ("iepuri.out");
long long m[4][4],p[4][4];
void produs (long long d[4][4],long long a[4][4],long long b[4][4])
{
int aux[4][4];
for (int i=1;i<=3;i++)
for (int j=1;j<=3;j++)
{
aux[i][j]=0;
for (int k=1;k<=3;k++)
aux[i][j]+=1LL*a[i][k]*b[k][j]%mod;
aux[i][j]%=mod;
}
for (int i=1;i<=3;i++)
for (int j=1;j<=3;j++)
d[i][j]=aux[i][j]%mod;
}
void putere (int n)
{
while (n!=0)
{
if (n%2==1)
{
produs (p,p,m);
}
produs (m,m,m);
n/=2;
}
}
int main()
{
int a,b,c,x,y,z,n,t;
in>>t;
while (t--)
{
in>>x>>y>>z>>a>>b>>c>>n;
for (int i=1;i<=3;i++)
for (int j=1;j<=3;j++)
m[i][j]=p[i][j]=0;
p[1][1]=p[2][2]=p[3][3]=1;
m[1][3] = c;
m[2][1] = 1;
m[2][3] = b;
m[3][2] = 1;
m[3][3] = a;
putere (n-2);
out<<(p[1][3]*x%mod+p[2][3]*y%mod+p[3][3]*z%mod)%mod<<'\n';
}
return 0;
}