Pagini recente » Cod sursa (job #2010981) | Cod sursa (job #79895) | Cod sursa (job #1108055) | Cod sursa (job #2665433) | Cod sursa (job #1598360)
#include <bits/stdc++.h>
#define ll long long int
using namespace std;
string s="iepuri.";
ifstream f(s+"in");
ofstream g(s+"out");
ll i,j,k,x,y,z,a,b,c,n,t,v[3]={0,1,2};
struct mat
{
ll m[3][3];
mat()
{
memset(m,0,sizeof(m));
}
void operator *= (const mat &a)
{
mat c;
for(int i:v)
for(int j:v)
for(int k:v)
c.m[i][j]+=m[i][k]*a.m[k][j];
for(int i:v)for(int j:v)
m[i][j]=c.m[i][j]%666013;
}
};
int main()
{
f>>t;
while(t--)
{
f>>x>>y>>z>>a>>b>>c>>n;n-=2;
mat d,e;
d.m[0][0]=x;
d.m[0][1]=y;
d.m[0][2]=z;
e.m[0][2]=c;
e.m[1][2]=b;
e.m[2][2]=a;
e.m[1][0]=1;
e.m[2][1]=1;
for (i=1;i<=n;i<<=1)
{
if (i&n) d*=e;
e*=e;
}
g<<d.m[0][2]<<'\n';
}
}