Pagini recente » Cod sursa (job #1886203) | Cod sursa (job #2259458) | Cod sursa (job #1957307) | Cod sursa (job #122475) | Cod sursa (job #2698908)
#include <bits/stdc++.h>
#define ll long long
#define mod 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
ll a[3][3];
ll c[3][3];
ll sol[3][3]={{1,0},{0,1}};
int N,t,A,B,C,X,Y,Z;
void inmult(ll a[3][3],ll b[3][3])
{
ll c[3][3];
int i,j,k;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
c[i][j]=0;
for(k=0;k<=2;k++)
{
c[i][j]+=a[i][k]*b[k][j];
c[i][j]%=mod;
}
}
}
for(i=0;i<=2;i++)
for(j=0;j<=2;j++) a[i][j]=c[i][j];
}
void putere(ll sol[3][3],int k)
{
while(k)
{
if(k%2==1)
{
inmult(sol,c);
k--;
}
else
{
inmult(c,c);
k/=2;
}
}
}
int main()
{
f>>t;
while(t)
{
f>>X>>Y>>Z>>A>>B>>C>>N;
memset(sol,0,sizeof(sol));
memset(a,0,sizeof(a));
sol[0][0]=sol[1][1]=sol[2][2]=1;
c[0][0]=c[0][1]=0;
c[0][2]=C;
c[1][0]=1;
c[1][1]=0;
c[1][2]=B;
c[2][0]=0;
c[2][1]=1;
c[2][2]=A;
a[0][0]=X;
a[0][1]=Y;
a[0][2]=Z;
putere(sol,N);
inmult(a,sol);
cout<<a[0][0]<<'\n';
t--;
}
return 0;
}