Pagini recente » Cod sursa (job #779715) | Schumi | Profil mouriss | Rating Negrisan Mihai (bufnita1) | Cod sursa (job #430967)
Cod sursa(job #430967)
#include<fstream>
#define mod 666013
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
long long t,x,y,z,a,b,c,n;
long long q[3][3],sol[3][3];
void inm(long long x[3][3],long long y[3][3])
{ long long s[3][3];
int i,j,k;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
s[i][j]=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
s[i][j]=(s[i][j]+x[i][k]*y[k][j])%mod;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
x[i][j]=s[i][j];
}
int main()
{ int i;
fin>>t;
for(i=1;i<=t;i++)
{ fin>>x>>y>>z>>a>>b>>c>>n;
for(int k=0;k<3;k++)
for(int j=0;j<3;j++)
{ sol[k][j]=0;
q[k][j]=0;
}
q[0][1]=q[1][2]=1;
q[2][0]=c;
q[2][1]=b;
q[2][2]=a;
sol[0][0]=sol[1][1]=sol[2][2]=1;
while(n)
{ if(n&1)
inm(sol,q);
inm(q,q);
n/=2;
}
fout<<((sol[0][0]*x)%mod+(sol[0][1]*y)%mod+(sol[0][2]*z)%mod)%mod<<"\n";
}
fin.close();
fout.close();
return 0;
}