Pagini recente » Cod sursa (job #781034) | Cod sursa (job #2025652) | Cod sursa (job #355763) | Cod sursa (job #1346449) | Cod sursa (job #417725)
Cod sursa(job #417725)
#include<stdio.h>
int t0,t1,ti0,ti1,a,b,x,y,z,m,v1[7005],v2[7005];
long long n;
void next()
{
int x=(v1[t0]+v2[t1]+z)%m;
t0=t1;
t1=x;
}
void rez()
{
int i;
ti0=t0;
ti1=t1;
for(i=1,next();ti0!=t0 || ti1!=t1;i++,next());
n=n%i;
for(i=0;i<=n;i++)
next();
printf("%d\n",t0);
}
int main()
{
freopen("rsir.in","r",stdin);
freopen("rsir.out","w",stdout);
scanf("%d%d%d%d%d%d%d%d%lld",&t0,&t1,&a,&b,&x,&y,&z,&m,&n);
t0=t0%m;
t1=t1%m;
z=z%m;
int i;
for(i=0;i<m;i++)
{
v1[i]=((long long)a*i*i+x*i)%m;
v2[i]=((long long)b*i*i+y*i)%m;
}
for(i=1;i<=n && i<=m*m;i++)
next();
i--;
n-=i;
if(!n)
{
printf("%d\n",t0);
return 0;
}
rez();
return 0;
}