Pagini recente » Cod sursa (job #177076) | Cod sursa (job #2024054) | Cod sursa (job #1539225) | Cod sursa (job #275089) | Cod sursa (job #1799641)
#include<fstream>
using namespace std;
ifstream f("rsir.in");
ofstream g("rsir.out");
int m,i,j,x,y,u,v,p,q,z,a[1<<13],b[1<<13];
long long n;
int main()
{
f>>p>>q>>u>>v>>x>>y>>z>>m>>n;
for(i=0;i<m;++i)
a[i]=1LL*i*(u*i+x)%m,
b[i]=1LL*i*(i*v+y)%m;
z%=m;
for(i=1;i<=min(1LL*m*m,n);++i)
{
int aux=a[p]+b[q]+z;
if(aux>=m)
{
aux-=m;
if(aux>=m) aux-=m;
}
p=q;
q=aux;
}
x=p;
y=q;
if(i==n+1)
{
g<<x;
return 0;
}
n-=m*m;
for(i=1;i<=n;++i)
{
int aux=a[p]+b[q]+z;
if(aux>=m)
{
aux-=m;
if(aux>=m) aux-=m;
}
p=q;
q=aux;
if(p==x&&q==y) break;
}
n=(n-i)%i;
for(i=1;i<=n;++i)
{
int aux=a[p]+b[q]+z;
if(aux>=m)
{
aux-=m;
if(aux>=m) aux-=m;
}
p=q;
q=aux;
}
g<<p;
}