Pagini recente » Cod sursa (job #30160) | Cod sursa (job #1568574) | Cod sursa (job #2472419) | Cod sursa (job #2368248) | Cod sursa (job #2786718)
#include <fstream>
#include<vector>
#include<cmath>
using namespace std;
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
vector<vector<int>> Power2(vector<vector<int>> m,vector<vector<int>> n){
vector<vector<int>> aux(3, vector<int>(3, 0));
for (int i = 0; i < 3;i++)
for (int 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<int>>& m,vector<vector<int>>& ans,int 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(){
int x, y, z, a, b, c, n;
vector<vector<int>> M(3, vector<int>(3, 0));
vector<vector<int>> Ans(3, vector<int>(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(){
int t;
cin >> t;
while(t--){
solve();
}
}