Pagini recente » Cod sursa (job #2312013) | Cod sursa (job #357623) | Cod sursa (job #2467473) | Cod sursa (job #652202) | Cod sursa (job #2581673)
#include <iostream>
#include <fstream>
int mod= 666013;
using namespace std;
void inmultire(int a[3][3],int b[3][3])
{
int 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]=(int)((c[i][j]+1LL*a[i][k]*b[k][j])%mod);
}
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
a[i][j]=c[i][j];
}
void putere(int a[3][3],int n)
{
int r[3][3]= {{1,0,0},{0,1,0},{0,0,1}};
while(n)
{
if(n%2==1)
inmultire(r,a);
inmultire(a,a);
n/=2;
}
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
a[i][j]=r[i][j];
}
int main()
{
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
int t;
cin>>t;
for(int i=1; i<=t; i++)
{
int x,y,z,A,B,C,n;
cin>>x>>y>>z>>A>>B>>C>>n;
int a[3][3]= {{0,0,C},{1,0,B},{0,1,A}};
putere(a,n);
cout<<(int)((1LL*x*a[0][0]+1LL*y*a[1][0]+1LL*z*a[2][0])%mod)<<"\n";
}
return 0;
}