Pagini recente » Cod sursa (job #3284635) | Cod sursa (job #1817341) | Cod sursa (job #237942) | Cod sursa (job #854289) | Cod sursa (job #3269625)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
const int MOD=666013;
int N,p,X,Y,Z,A,B,C,t;
void inmultire(int A[][3],int B[][3]) {
long long C[3][3];
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
C[i][j]=0;
for(int k=0; k<3; k++) {
C[i][j]+=(long long)A[i][k]*B[k][j];
}
}
}
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
A[i][j]=C[i][j]%MOD;
}
}
}
void putere(int N) {
int I[3][3]= {
{Z,Y,X},
{0,0,0},
{0,0,0}
};
int V[3][3]= {
{A,1,0},
{B,0,1},
{C,0,0}
};
while(N) {
if(N&1) {
inmultire(I,V);
}
inmultire(V,V);
N/=2;
}
g<<I[0][0]<<"\n";
}
int main() {
f>>t;
while(t--) {
f>>X>>Y>>Z>>A>>B>>C>>N;
putere(N-2);
}
f.close();
g.close();
return 0;
}