Pagini recente » Cod sursa (job #1429389) | Cod sursa (job #1044611) | Cod sursa (job #2507420) | Cod sursa (job #399328) | Cod sursa (job #1404301)
#include <fstream>
#define MOD 666013
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int T,X,Y,Z,A,B,C,N;
void Pow(int a[][3],int b[][3],int c[][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]=(c[i][j]+1LL*a[i][k]*b[k][j])%MOD;
}
}
void Copy(int a[][3],int b[][3]){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
a[i][j]=b[i][j];
}
int main(){
fin>>T;
while(T--){
fin>>X>>Y>>Z>>A>>B>>C>>N;
int a[3][3]={{A,B,C},{1,0,0},{0,1,0}};
int r[3][3]={{1,0,0},{0,1,0},{0,0,1}};
int b[3][3];
N-=2;
while(N){
if(N&1){
Pow(r,a,b);
Copy(r,b);
}
Pow(a,a,b);
Copy(a,b);
N/=2;
}
fout<<(1LL*Z*r[0][0]+1LL*Y*r[0][1]+1LL*X*r[0][2])%MOD<<"\n";
}
}