Pagini recente » Cod sursa (job #618300) | Cod sursa (job #3167394) | Cod sursa (job #684647) | Cod sursa (job #2770214) | Cod sursa (job #2786811)
#include <fstream>
#include<vector>
#include<cmath>
using namespace std;
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
vector<vector<long>> Power2(vector<vector<long>> m,vector<vector<long>> n){
vector<vector<long>> aux(3, vector<long>(3, 0));
for (long i = 0; i < 3;i++)
for (long j = 0; j < 3;j++)
aux[i][j] = (m[i][0] * n[0][j] + m[i][1] * n[1][j] + m[i][2] * n[2][j]) % 666013;
return aux;
}
void Power1(vector<vector<long>>& m,vector<vector<long>>& ans,long n){
if(!n)
return;
if(n & 1)
ans = Power2(ans, m),
m = Power2(m, m),
Power1(m, ans, n >> 1);
else
m = Power2(m, m),
Power1(m, ans, n >> 1);
}
void solve(){
long x, y, z, a, b, c, n;
vector<vector<long>> M(3, vector<long>(3, 0));
vector<vector<long>> Ans(3, vector<long>(3, 0));
cin >> x >> y >> z >> a >> b >> c >> n;
Ans[0][0] = Ans[1][1] = Ans[2][2] = 1;
//M[0][1] = M[1][2] = 1;
M[2][0] = c;
M[2][1] = b;
M[2][2] = a;
Power1(M, Ans, n - 2);
cout << (Ans[2][0] * x + Ans[2][1] * y + Ans[2][2] * z) % 666013 << '\n';
}
int main(){
short t;
cin >> t;
while(t--){
solve();
}
}