Pagini recente » Cod sursa (job #2008682) | Cod sursa (job #80339) | Cod sursa (job #2824802) | Cod sursa (job #449272) | Cod sursa (job #3348985)
#include <bits/stdc++.h>
#define pii pair<int,int>
#define pb push_back
#define ll long long
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
typedef ll matrix[3][3];
const int mod = 666013;
matrix T, R;
void mult (matrix a, matrix b) {
matrix r;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++) {
r[i][j] = 0;
for (int k = 0; k < 3; k++)
r[i][j] += a[i][k] * b[k][j];
r[i][j] %= mod;
}
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
a[i][j] = r[i][j];
}
void power (int power) {
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
R[i][j] = (i == j);
while (power) {
if (power % 2)
mult (R, T);
mult (T, T);
power /= 2;
}
}
void solve() {
ll x, y, z, a, b, c, n;
fin >> x >> y >> z >> a >> b >> c >> n;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
T[i][j] = 0;
T[0][0] = a, T[0][1] = b, T[0][2] = c;
T[1][0] = T[2][1] = 1;
power (n-2);
fout << (R[0][0]*z + R[0][1]*y + R[0][2]*x) % mod << '\n';
}
int main() {
int t;
fin >> t;
while (t--)
solve();
return 0;
}