Pagini recente » Cod sursa (job #1286146) | Cod sursa (job #871444) | Cod sursa (job #466919) | Cod sursa (job #2866869) | Cod sursa (job #2236271)
#include<cstdio>
#include<bitset>
#define DN 7000
#define x first
#define y second
using namespace std;
int r1,r2,l,t0,t1,a,b,c,d,e,M,t2,t3,nr;
long long n;
bitset<DN>r[DN];
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,&c,&d,&e,&M,&n);
/*if(n==0)
{
fout<<t0;
return 0;
}*/
t0=t0%M;
t1=t1%M;
while(1)
{
nr++;
r[t0][t1]=1;
if(nr==n)
{
// fout<<t1;
return 0;
}
t2=(1LL*a*((1LL*t0*t0)%M)+1LL*b*((1LL*t1*t1)%M)+1LL*c*t0+1LL*d*t1+e)%M;
t0=t1;
t1=t2;
if(r[t0][t1]==1)
{
r1=t0;
r2=t1;
break;
}
}
/* n-=r[t0][t1]-1;
n%=l;
if(n==0)
n=l;
for(int i=0;i<=M;i++)
for(int j=0;j<=M;j++)
r[i][j]=0;
nr=0;
while(1)
{
nr++;
if(nr==n)
{
fout<<t1;
return 0;
}
t2=(1LL*a*((1LL*t0*t0)%M)+1LL*b*((1LL*t1*t1)%M)+1LL*c*t0+1LL*d*t1+e)%M;
t0=t1;
t1=t2;
}*/
}