Pagini recente » Cod sursa (job #365727) | Cod sursa (job #628285) | Cod sursa (job #393020) | Cod sursa (job #2586752) | Cod sursa (job #2445537)
#include <bits/stdc++.h>
#define mod 666013
using namespace std;
void mult(int a[5][5], int b[5][5])
{
int c[5][5] = {0};
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 3; ++j)
for (int k = 0; k < 3; ++k)
c[i][j] = (1ll * c[i][j] + 1ll * a[i][k] * b[k][j]) % mod;
}
for (int i = 0; i < 5; ++i)
for (int j = 0; j < 5; ++j)
a[i][j] = c[i][j];
}
int main()
{
ifstream fin ("iepuri.in");
ofstream fout("iepuri.out");
int q;
fin>>q;
while (q--)
{
int_fast64_t temp[5][5];
int_fast64_t x,y,z,a,b,c,zile;
fin>>x>>y>>z;
fin>>a>>b>>c;
fin>>zile;
int_fast64_t mat[5][5]={{a,1,0},{b,0,1},{c,0,0}};
for (int i=0;i<3;++i)
{
for (int j=0;j<3;++j)
{
temp[i][j]=mat[i][j];
}
}
zile-=3;
while (zile)
{
if (zile%2==1)
{mult(temp, mat);
}mult(mat, mat);
zile/=2;
}
fout<<(z*temp[0][0]+y*temp[1][0]+x*temp[2][0])%mod<<"\n";
}
return 0;
}