Pagini recente » Cod sursa (job #2568877) | Cod sursa (job #1473204) | Cod sursa (job #507294) | Cod sursa (job #845377) | Cod sursa (job #2288139)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
void caca(long long a[][5], long long b[][5])
{
long long c[5][5];
for (int i = 1; i <= 3; i++)
for (int j = 1; j <= 3; j++)
c[i][j] = 0;
for (int i = 1; i <= 3; i++)
for (int j = 1; j <= 3; j++)
for (int k = 1; k <= 3; k++)
c[i][j] = (c[i][j] + a[i][k] * b[k][j]) % 666013;
for (int i = 1; i <= 3; i++)
for (int j = 1; j <= 3; j++)
a[i][j] = c[i][j];
}
long long aa[5][5], bb[5][5];
int main()
{
int t;
fin >> t;
while (t--)
{
int x, y, z, a, b, c, n;
fin >> x >> y >> z >> a >> b >> c >> n;
bb[1][1] = x;
bb[1][2] = y;
bb[1][3] = z;
aa[1][1] = 0; aa[1][2] = 0; aa[1][3] = c;
aa[2][1] = 1; aa[2][2] = 0; aa[2][3] = b;
aa[3][1] = 0; aa[3][2] = 1; aa[3][3] = a;
n = n - 2;
while (n)
{
if (n % 2 == 1)
caca(bb, aa);
caca(aa, aa);
n = n / 2;
}
fout << bb[1][3] << '\n';
}
return 0;
}