Pagini recente » Cod sursa (job #1853061) | Cod sursa (job #2552122) | Cod sursa (job #1897256) | Cod sursa (job #688281) | Cod sursa (job #2903922)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
long long n,a,b,c,x,y,z;
long long ans[3][3];
long long baza[3][3];
int mod=666013;
void af(long long x[3][3])
{
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
{
cout << x[i][j] <<" ";
}
cout <<"\n";
}
cout <<"\n";
}
void matrici(long long a[3][3],long long b[3][3])
{
long long aux[3][3];
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
{aux[i][j]=0;
for (int k=0;k<3;k++)
{
aux[i][j]+=(a[i][k]*b[k][j])%mod;
}
}
}
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
{
a[i][j]=aux[i][j];
}
}
}
void p(long long y)
{
while (y)
{
if (y%2==0)
{
matrici(baza,baza);
y/=2;
}
else
{
y--;
matrici(ans,baza);
}
}
}
int main()
{
long long t;
fin >>t;
for (long long i=1;i<=t;i++)
{
fin >>x>>y>>z>>a>>b>>c>>n;
baza[0][0]=0;
baza[0][1]=1;
baza[0][2]=0;
baza[1][0]=0;
baza[1][1]=0;
baza[1][2]=1;
baza[2][0]=c;
baza[2][1]=b;
baza[2][2]=a;
for (int k=0;k<3;k++) for (int l=0;l<3;l++) {ans[k][l]=baza[k][l];}
p(n-3);
fout <<((ans[2][0]*x+y*ans[2][1])%mod+ans[2][2]*z)%mod<<"\n";
for (int k=0;k<3;k++) for (int l=0;l<3;l++) {baza[k][l]=0;ans[k][l]=0;}
}
}