Pagini recente » Cod sursa (job #2062087) | Cod sursa (job #1097269) | Cod sursa (job #3159187) | Cod sursa (job #675181) | Cod sursa (job #3318056)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
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;
fin>>T;
while(T--){
fin >> X >> Y >> Z
>> A >> B >> C
>> N;
fout<<putere(N-2)<<'\n';
}
return 0;
}