Pagini recente » Cod sursa (job #1032550) | Cod sursa (job #1443900) | Cod sursa (job #489261) | Cod sursa (job #1127150) | Cod sursa (job #1135944)
#include<fstream>
#define MOD 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
long long int a[5][5],b[5][5];
long long int x,y,z,A,B,C,N,T,s;
void inmultire(long long int a[5][5],long long int b[5][5]){
long long int c[5][5];
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
long long int sum=0;
for(int k=1;k<=3;k++)
sum+=((a[i][k] % MOD) * (b[k][j] % MOD) % MOD );
c[i][j]=sum % MOD;
}
}
for(int i=1;i<=3;i++)
for(int j=1;j<=3;j++){
a[i][j]=c[i][j];
}
}
void solve(int N){
for(;N; N >>=1){
if(N & 1)
inmultire(a,b);
inmultire(b,b);
}
s=(a[1][1]*z)%MOD + (a[1][2]*y)%MOD + (a[1][3]*x)%MOD;
g<<s%MOD<<'\n';
}
int main (){
f>>T;
for(int i=1;i<=T;i++){
for(int i=1;i<=3;i++)
for(int j=1;j<=3;j++)
a[i][j]=b[i][j]=0;
f>>x>>y>>z>>A>>B>>C>>N;
a[1][1]=1,a[2][2]=1,a[3][3]=1;
b[1][1]=A,b[1][2]=B,b[1][3]=C;
b[2][1]=1,b[3][2]=1;
solve(N-2);
}
return 0;
}