Pagini recente » Cod sursa (job #2176646) | Cod sursa (job #2807727) | Cod sursa (job #1787997) | Cod sursa (job #1280902) | Cod sursa (job #1195417)
#include<fstream>
#define MOD 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
int a1,b,c,x,y,z,n,t,i,j,a[3][3],m[3][3];
void inmulteste(int a[][3],int m[][3]){
int i,j,k;
int aux[3][3] = {{0,0,0} , {0,0,0} , {0,0,0}};
for(i = 0 ; i <= 2 ; ++ i)
for(j = 0 ; j <= 2 ; ++ j)
for(k = 0 ; k <= 2 ; ++ k)
aux[i][j] = (aux[i][j] + 1ll * a[i][k] * m[k][j]) % MOD;
for(i = 0 ; i <= 2 ; ++ i)
for(j = 0 ; j <= 2 ; ++ j)
a[i][j] = aux[i][j];
}
inline void putere(int a[3][3],int p)
{
while(p > 0)
{
if(p & 1)
{
-- p;
inmulteste(a,m);
}
else
{
p >>= 1;
inmulteste(m,m);
}
}
}
int main()
{
f >> t;
while(t)
{
f >> x >> y >> z >> a1 >> b >> c >> n;
-- t;
m[0][0] = a1;
m[0][1] = b;
m[0][2] = c;
m[1][0] = 1;
m[1][1] = 0;
m[1][2] = 0;
m[2][0] = 0;
m[2][1] = 1;
m[2][2] = 0;
for(i = 0 ; i <= 2 ; ++ i)
for(j = 0 ; j <= 2 ; ++ j)
if(i == j)
a[i][j] = 1;
else
a[i][j] = 0;
putere(a , n - 2);
g << ((1ll * a[0][0] * z ) % MOD + (1ll * a[0][1] * y ) % MOD + (1ll * a[0][2] * x) % MOD) % MOD << '\n';
}
return 0;
}