Pagini recente » Cod sursa (job #2243867) | Cod sursa (job #104991) | Cod sursa (job #2422183) | Cod sursa (job #2530741) | Cod sursa (job #2262117)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int a,b,c,x,y,z,n,t,i,j,k,e,mod=666013;
long long M[4][4],R[4][4],A[4][4],B[4][4];
int main () {
fin>>t;
while(t--)
{
fin>>x>>y>>z>>a>>b>>c>>n;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
R[i][j]=M[i][j]=0;
M[1][1]=a; M[1][2]=b; M[1][3]=c;
M[2][1]=1; M[3][2]=1;
for(i=1;i<=3;i++)
R[i][i]=1;
e=n-2;
while(e>0)
{
if(e&1)
{
e^=1;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
A[i][j]=R[i][j], R[i][j]=0;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
{
for(k=1;k<=3;k++)
R[i][j]+=A[i][k]*M[k][j];
R[i][j]%=mod;
}
}
else
{
e>>=1;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
A[i][j]=B[i][j]=M[i][j], M[i][j]=0;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
{
for(k=1;k<=3;k++)
M[i][j]+=A[i][k]*B[k][j];
M[i][j]%=mod;
}
}
}
long long rez=1LL*R[1][1]*z+1LL*R[1][2]*y+1LL*R[1][3]*x;
fout<<rez%mod<<"\n";
}
}