Pagini recente » Cod sursa (job #467094) | Cod sursa (job #230042) | Cod sursa (job #3335647) | Cod sursa (job #3304253) | Cod sursa (job #3355677)
#include <fstream>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
#define cin fin
#define cout fout
const int mod=666013;
int X, Y, Z, A, B, C;
void mul(int a[][3], int b[][3])
{
long long c[3][3];
int i, j, k;
for (i=0; i<3; ++i)
for (j=0; j<3; j++)
{
c[i][j]=0;
for (k=0; k<3; k++)
c[i][j]+=(long long)a[i][k]*b[k][j];
}
for (i=0; i<3; ++i)
for (j=0; j<3; j++)
a[i][j]=c[i][j]%mod;
}
int putere(int n)
{
int m[3][3]=
{
{0, 0, C},
{1, 0, B},
{0, 1, A}
};
int v[3][3]=
{
{X, Y, Z},
{0, 0, 0},
{0, 0, 0}
};
while (n>0)
{
if (n%2==0)
{
mul(m, m);
n/=2;
}
else
{
mul(v, m);
n--;
}
}
return v[0][2];
}
int main()
{
int T, n;
cin>>T;
while (T--)
{
cin>>X>>Y>>Z>>A>>B>>C>>n;
cout<<putere(n-2)<<'\n';
}
return 0;
}