Pagini recente » Cod sursa (job #1890048) | Cod sursa (job #601584) | Cod sursa (job #1101905) | Cod sursa (job #667888) | Cod sursa (job #3324276)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
const int ms=5,MOD=666013,mod=100003;
long long int ans[ms][ms],inm[ms][ms],aux[ms][ms],rez[ms][ms];
void prod(long long int a[ms][ms],long long int b[ms][ms],long long int r[ms][ms],int n,int m,int p){
for(int i=1;i<=m;i++){
for(int j=1;j<=m;j++){
aux[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
for(int k=1;k<=p;k++){
aux[i][j]=(aux[i][j]+a[i][k]*b[k][j])%mod;
}
}
}
for(int i=1;i<=m;i++){
for(int j=1;j<=m;j++){
r[i][j]=aux[i][j];
}
}
}
long long int power(long long int a,long long int n){
long long int p=1;
while(n){
if(n%2==1){
p*=a;
p%=mod;
}
a*=a;
a%=mod;
n/=2;
}
return p;
}
void lgput(long long int m[ms][ms],int n,int e){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
rez[i][j]=0;
}
}
for(int i=1;i<=n;i++) rez[i][i]=1;
while(e!=0){
if(e%2==1){
prod(rez,m,rez,n,n,n);
}
prod(m,m,m,n,n,n);
e/=2;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
m[i][j]=rez[i][j];
}
}
}
void solve(){
int x,y,z,a,b,c,n;
fin>>x>>y>>z>>a>>b>>c>>n;
inm[1][1]=a;
inm[1][2]=1;
inm[1][3]=0;
inm[2][1]=b;
inm[2][2]=0;
inm[2][3]=1;
inm[3][1]=c;
inm[3][2]=0;
inm[3][3]=0;
ans[1][1]=z;
ans[1][2]=y;
ans[1][3]=x;
ans[2][1]=b;
ans[2][2]=0;
ans[2][3]=1;
ans[3][1]=c;
ans[3][2]=0;
ans[3][3]=0;
lgput(inm,3,n-2);
prod(ans,inm,ans,3,3,3);
fout<<ans[1][1]<<'\n';
}
int main(){
int tt;
fin>>tt;
while(tt--){
solve();
}
return 0;
}