Pagini recente » Cod sursa (job #447972) | Istoria paginii runda/mnmxmnmxmnmx_what | Cod sursa (job #768460) | Cod sursa (job #391157) | Cod sursa (job #1817597)
#include<iostream>
#include<fstream>
#include<cstring>
#define MOD 666013
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int T;
int A,B,C,X,Y,Z,N;
int V[5][5],Sol[5][5];
void Multiply(int A[5][5],int B[5][5])
{
int C[5][5];
for(int i = 1 ; i <= 3 ; ++i)
for(int j = 1 ; j <= 3 ; ++j)
{
long long S = 0;
for(int k = 1 ; k <= 3 ; ++k)
S += 1LL * A[i][k] * B[k][j];
C[i][j] = S % MOD;
}
memcpy(A,C,sizeof(C));
}
int main()
{
fin>>T;
while(T--)
{
memset(Sol,0,sizeof(Sol));
memset(V,0,sizeof(V));
fin>>X>>Y>>Z;
fin>>A>>B>>C;
fin>>N;
Sol[1][1] = X;
Sol[1][2] = Y;
Sol[1][3] = Z;
V[2][1] = V[3][2] = 1;
V[1][3] = C;
V[2][3] = B;
V[3][3] = A;
while(N)
{
if(N&1)
{
Multiply(Sol,V);
}
Multiply(V,V);
N >>= 1;
}
fout<<Sol[1][1]<<"\n";
}
fin.close();
fout.close();
return 0;
}