Pagini recente » Cod sursa (job #3179705) | Cod sursa (job #2024847) | Cod sursa (job #432673) | Cod sursa (job #2676100) | Cod sursa (job #2555381)
#include <fstream>
using namespace std;
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
const long long mod=666013;
struct matrix
{
long long a[4][4];
}baza,prod,rez;
matrix p1(matrix v,matrix f)
{
matrix c;
for(long long i=1;i<=3;++i)
for(long long j=1;j<=3;++j)
{
c.a[i][j]=0;
for(long long k=1;k<=3;++k)
c.a[i][j]=(c.a[i][j]+(v.a[i][k]*f.a[k][j])%mod)%mod;
}
return c;
}
matrix power(matrix baza,long long exp)
{
if(exp==1)
return baza;
matrix x=power(baza,exp/2);
if(exp%2==0)
return p1(x,x);
return p1(baza,p1(x,x));
}
matrix p2(matrix v,matrix f)
{
matrix c;
for(long long i=1;i<=3;++i)
{
c.a[i][1]=0;
for(long long k=1;k<=3;++k)
c.a[i][1]=(c.a[i][1]+(v.a[i][k]*f.a[k][1])%mod)%mod;
}
return c;
}
int main()
{
long long n,x,y,z,aa,bb,cc,tst;
cin>>tst;
for(long long w=1;w<=tst;++w)
{
cin>>x>>y>>z>>aa>>bb>>cc>>n;
baza.a[1][1]=0;baza.a[1][2]=1;baza.a[1][3]=0;
baza.a[2][1]=0;baza.a[2][2]=0;baza.a[2][3]=1;
baza.a[3][1]=cc;baza.a[3][2]=bb;baza.a[3][3]=aa;
prod.a[1][1]=x;prod.a[2][1]=y;prod.a[3][1]=z;
rez=p2(power(baza,n-2),prod);
cout<<rez.a[3][1]<<'\n';
}
return 0;
}