Pagini recente » Cod sursa (job #523266) | Cod sursa (job #1095047) | Cod sursa (job #3264674) | Cod sursa (job #661088) | Cod sursa (job #2351080)
#include <iostream>
#include <fstream>
#define ll long long
#define MOD 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
ll m[4][4], i3[4][4], d[4][4];
ll t, x, y, z, a, b, c;
ll n;
void mult(ll a[4][4], ll b[4][4])
{
ll c[4][4];
for (ll i = 1; i <= 3; i++)
for (ll j = 1; j <= 3; j++) c[i][j]=0;
for (ll i = 1; i <= 3; i++)
for (ll j = 1; j <= 3; j++)
for (ll k = 1; k <= 3; k++)
c[i][j] = (c[i][j] + a[i][k] * b[k][j]) % MOD;
for (ll i = 1; i <= 3; i++)
for (ll j = 1; j <= 3; j++) a[i][j]=c[i][j];
}
int main()
{
f >> t;
while(t--)
{
f >> x >> y >> z;
f >> a >> b >> c;
f >> n;
m[1][1]=0;m[1][2]=0;m[1][3]=c;
m[2][1]=1;m[2][2]=0;m[2][3]=b;
m[3][1]=0;m[3][2]=1;m[3][3]=a;
i3[1][1]=x;i3[1][2]=y;i3[1][3]=z;
n-=2;
while(n)
{
if(n&1) mult(i3, m);
mult(m, m);
n>>=1;
}
g << i3[1][3] << '\n';
}
return 0;
}