Pagini recente » Cod sursa (job #1049817) | Cod sursa (job #1116108) | Cod sursa (job #291677) | Cod sursa (job #1807825) | Cod sursa (job #479206)
Cod sursa(job #479206)
#include <cstdio>
#define file_in "rsir.in"
#define file_out "rsir.out"
int t0,t1,m,z,x,y,a,b;
long long a1[100100];
long long a2[100100];
long long n;
void citire()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d %d %d %d %d %d %d %lld", &t0,&t1,&a, &b,&x,&y,&z,&m,&n);
}
void baga()
{
int t2;
t2=a1[t0]+a2[t1]+z;
while(t2>=m)
t2-=m;
t0=t1;
t1=t2;
}
void solve()
{
int i,t00,t11,nr=0;
t0%=m;
t1%=m;
x%=m;
y%=m;
z%=m;
a%=m;
b%=m;
for (i=0;i<m;++i)
{
a1[i]=(1LL*i*i*a+1LL*i*x)%m;
a2[i]=(1LL*i*i*b+1LL*i*y)%m;
}
for (i=1;i<=n && i<=m*m;++i) baga();
n-=m*m;
t00=t0;
t11=t1;
baga();
while(t00!=t0 || t11!=t1)
{
baga();
nr++;
}
n%=nr;
for (i=1;i<=n;++i) baga();
printf("%d\n", t0);
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}