Pagini recente » Cod sursa (job #2954288) | Cod sursa (job #1947848) | Cod sursa (job #551360) | Cod sursa (job #2300071) | Cod sursa (job #3309587)
#include <bits/stdc++.h>
using namespace std;
ifstream in("iepuri.in");
ofstream out("iepuri.out");
const int MOD=666013;
int n,a,b,c,x,y,z,s[3][3],m[3][3];
void imlt(int a[3][3], int b[3][3])
{
int c[3][3]= {};
for (int i=0; i<3; i++)
for (int j=0; j<3; j++)
for (int k=0; k<3; k++) {
c[i][j]+=(1ll*a[i][k]*b[k][j])%MOD;
c[i][j]%=MOD;
}
for (int i=0; i<3; i++)
for (int j=0; j<3; j++)
a[i][j]=c[i][j];
}
int main()
{
int t;
in>>t;
while(t--)
{
in>>x>>y>>z>>a>>b>>c>>n;
m[0][0]=0;
m[0][1]=0;
m[1][1]=0;
m[2][0]=0;
m[1][0]=1;
m[2][1]=1;
m[0][2]=c;
m[1][2]=b;
m[2][2]=a;
s[0][0]=x;
s[0][1]=y;
s[0][2]=z;
while(n)
{
if(n&1)
imlt(s,m);
imlt(m,m);
n/=2;
}
out<<s[0][0]<<"\n";
}
}