Pagini recente » Cod sursa (job #1393429) | Cod sursa (job #2939487) | Cod sursa (job #893109) | Cod sursa (job #3158260) | Cod sursa (job #3178078)
#include <fstream>
#include <vector>
#include <cmath>
#define modulo 666013
using namespace std;
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
int n, a, b, c, x, y, z, t;
struct matrice
{
long long v[3][3];
matrice()
{
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
v[i][j]=0;
}
};
matrice multiply(matrice a, matrice b)
{
matrice c;
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
for(int k=0; k<3; k++)
c.v[i][j]=(c.v[i][j] + a.v[i][k]*b.v[k][j])%modulo;
return c;
}
matrice power(matrice m, long long p)
{
matrice rez;
for(int i=0; i<3; i++)
rez.v[i][i]=1;
for(; p!=0; p/=2)
{
if(p%2==1)
{
rez=multiply(rez,m);
}
m=multiply(m,m);
}
return rez;
}
int main()
{
cin>>t;
while(t--)
{
cin>>x>>y>>z>>a>>b>>c>>n;
matrice mat;
mat.v[2][0]=c;
mat.v[2][1]=b;
mat.v[2][2]=a;
mat.v[0][1]=1;
mat.v[1][2]=1;
mat=power(mat,n-2);
int result = (x*mat.v[2][0]%modulo + y*mat.v[2][1]%modulo + z*mat.v[2][2]%modulo)%modulo;
cout<<result<<endl;
}
return 0;
}