Pagini recente » Cod sursa (job #1145860) | Cod sursa (job #1484067) | Cod sursa (job #127405) | Cod sursa (job #452744) | Cod sursa (job #1735455)
# include <fstream>
# define MOD 666013
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int n,c,d,e,x,y,z,nr,p;
long long a[3][3],b[3][3],k[3][3];
void copiere(long long a[3][3],long long b[3][3]){
for(int i=0;i<=2;i++)
for(int j=0;j<=2;j++)
a[i][j]=b[i][j];
}
void inmultire(long long a[3][3],long long b[3][3],long long c[3][3]){
for(int i=0;i<=2;i++)
for(int j=0;j<=2;j++){
c[i][j]=0;
for(int k=0;k<=2;k++){
c[i][j]+=a[i][k]*b[k][j];
c[i][j]%=MOD;
}
}
}
int main () {
fin>>nr;
for(p=1;p<=nr;p++){
fin>>x>>y>>z>>c>>d>>e>>n;
a[0][0]=c; a[0][1]=d; a[0][2]=e;
a[1][0]=1; a[1][1]=0; a[1][2]=0;
a[2][0]=0; a[2][1]=1; a[2][2]=0;
k[0][0]=1; k[0][1]=0; k[0][2]=0;
k[1][0]=0; k[1][1]=1; k[1][2]=0;
k[2][0]=0; k[2][1]=0; k[2][2]=1;
n-=2;
while(n){
if(n&1){
inmultire(k,a,b);
copiere(k,b);
}
inmultire(a,a,b);
copiere(a,b);
n/=2;
}
fout<<(k[0][0]*z+k[0][1]*y+k[0][2]*x)%MOD<<"\n";
}
return 0;
}