Pagini recente » Cod sursa (job #1778228) | Cod sursa (job #2100358) | Cod sursa (job #170635) | Cod sursa (job #709444) | Cod sursa (job #2863412)
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
ifstream fin ("iepuri.in");
ofstream fout ("iepuri.out");
int t, x, y, z, a, b, c, k;
int v[5][5], mat[5][5];
void prod(int n, int m, int a[5][5], int b[5][5]){
int c[5][5];
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++){
c[i][j]=0;
for(int l=1; l<=m; l++)
c[i][j] = (c[i][j] + 1LL * a[i][l] * b[l][j] % MOD) % MOD;
}
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
a[i][j]=c[i][j];
}
int main (){
fin>>t;
while(t--){
fin>>x>>y>>z>>a>>b>>c>>k;
v[1][1]=x; v[1][2]=y; v[1][3]=z;
mat[1][1]=0; mat[1][2]=0; mat[1][3]=c;
mat[2][1]=1; mat[2][2]=0; mat[2][3]=b;
mat[3][1]=0; mat[3][2]=1; mat[3][3]=a;
k -= 2;
while(k){
if(k&1)
prod(1, 3, v, mat);
prod(3, 3, mat, mat);
k >>= 1;
}
fout<<v[1][3]<<"\n";
}
return 0;
}
/**
(x, y, z) * (0, 0, c) = (y, z, a*z + b*y + c*x)
(1, 0, b)
(0, 1, a)
**/