Pagini recente » Cod sursa (job #1644666) | Cod sursa (job #914963) | Cod sursa (job #2691333) | Cod sursa (job #1607181) | Cod sursa (job #2413377)
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int m[5][5],cop[5][5];
int x,y,z,a,b,c,n;
int t;
void inm(int a[5][5],int b[5][5],int c[5][5]);
void put(int k, int rez[5][5]);
void solve();
int main()
{fin>>t;
while(t)
{
t--;
solve();
}
return 0;
}
void solve()
{int i,j;
fin>>x>>y>>z>>a>>b>>c>>n;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
m[i][j]=0;
m[1][1]=a;
m[1][2]=b;
m[1][3]=c;
for(i=2;i<=n;i++)
m[i][i-1]=1;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
cop[i][j]=m[i][j];
///intial
///determin puterea
put(n-2,m);
int rez=0;
rez=(rez+ m[1][1]*z)%MOD;
rez=(rez+ m[1][2]*y)%MOD;
rez=(rez+ m[1][3]*x)%MOD;
fout<<rez<<'\n';
}
void put(int k, int rez[5][5])
{int i,j;
int r1[5][5],r2[5][5];
if(k==1)
{for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
rez[i][j]=m[i][j];
return;
}
put(k/2,r1);
put(k/2,r2);
if(k%2)
{//inm(rez,cop,rez);
inm(r2,r1,rez);
inm(cop,rez,rez);
}
else
{
inm(r2,r1,rez);
}
}
void inm(int a[5][5],int b[5][5], int c[5][5])
{int i,j,suma=0,ct;
for(i=1;i<=3;i++)///fiecare lin
for(j=1;j<=3;j++)///fiecare col
{
suma=0;
for( ct=1;ct<=3;ct++)
suma=(suma+a[i][ct]*b[ct][j])%MOD;
c[i][j]=suma;
}
}