Pagini recente » Cod sursa (job #310211) | Cod sursa (job #2286900) | Cod sursa (job #445244) | Cod sursa (job #1222219) | Cod sursa (job #2392672)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
const ll MOD = 666013;
ll t, x, y, z, A, B, C, n, i, j;
ll a[3][3], c[3][3], sol[3][3];
void inm(ll a[3][3],ll b[3][3])
{
ll c[3][3];
int i,j,k;
for(i=0; i<=2; i++)
{
for(j=0; j<=2; j++)
{
c[i][j]=0;
for(k=0; k<=2; k++)
c[i][j]+=a[i][k]*b[k][j];
c[i][j]=c[i][j]%MOD;
}
}
for(i=0; i<=2; i++)
for(j=0; j<=2; j++)
a[i][j]=c[i][j];
}
void put(ll a[3][3], int k)
{
while(k)
{
if(k%2)
inm(a, c);
k/=2;
inm(c, c);
}
}
int main()
{
fin >> t;
while(t--)
{
fin >> x >> y >> z >> A >> B >> C >> n;
for(i=0; i<3; i++)
for(j=0; j<3; j++)
sol[i][j] = a[i][j] = c[i][j] = 0;
sol[0][0] = sol[1][1] = sol[2][2] = 1;
a[0][0] = x; a[0][1] = y; a[0][2] = z;
c[1][0] = 1; c[2][1] = 1; c[2][2] = A; c[1][2] = B; c[0][2] = C;
put(sol, n);
inm(a, sol);
fout << a[0][0] << '\n';
}
return 0;
}