Pagini recente » Cod sursa (job #2186365) | Cod sursa (job #1678985) | Cod sursa (job #2342044) | Cod sursa (job #1085365) | Cod sursa (job #1510139)
#include <cstdio>
using namespace std;
int mod=666013,a[3][3],v[3][3],n;
void inm_matrici(int a[3][3],int b[3][3],int rez[3][3])
{
int aux[3][3];
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
aux[i][j]=0;
for(int k=0;k<3;k++)
aux[i][j]=(aux[i][j]+1LL*a[i][k]*b[k][j])%mod;
}
for(int i=0;i<3;i++)
for(int j=0;j<3;j++) rez[i][j]=aux[i][j];
}
void rid_put(int a[3][3],int n,int rez[3][3])
{
for(int i=0;i<3;i++)
for(int j=0;j<3;j++) rez[i][j]=i==j;
for(long long i=1;i<=n;i<<=1)
{
if(n&i) inm_matrici(rez,a,rez);
inm_matrici(a,a,a);
}
}
int main()
{
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
int t,r,x,y,z,A,B,C;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
scanf("%d%d%d%d%d%d%d",&x,&y,&z,&A,&B,&C,&n);
a[0][0]=a[0][1]=a[1][1]=a[2][0]=0;
a[1][0]=a[2][1]=1;
a[0][2]=C;a[1][2]=B;a[2][2]=A;
rid_put(a,n,v);
r=(1LL*v[0][0]*x+1LL*v[1][0]*y+1LL*v[2][0]*z)%mod;
printf("%d\n",r);
}
return 0;
}