Pagini recente » Cod sursa (job #1565816) | Cod sursa (job #1948400) | Cod sursa (job #48400) | Cod sursa (job #1414233) | Cod sursa (job #2697182)
#include <bits/stdc++.h>
using namespace std;
ifstream r("rsir.in");
ofstream w("rsir.out");
int main()
{
long long t1, t2, a, b, x, y, z, mod, n;
long long f1, s1, cur1, f2, s2, cur2;
r>>t1>>t2>>a>>b>>x>>y>>z>>mod>>n;
f1=t1;
s1=t2;
cur1=a*f1*f1+b*s1*s1+x*f1+y*s1+z;
cur1%=mod;
f2=s1;
s2=cur1;
cur2=a*f2*f2+b*s2*s2+x*f2+y*s2+z;
cur2%=mod;
while(cur2!=cur1 || s2!=s1)
{
f1=s1;
s1=cur1;
cur1=a*f1*f1+b*s1*s1+x*f1+y*s1+z;
cur1%=mod;
f2=cur2;
s2=a*s2*s2+b*cur2*cur2+x*s2+y*cur2+z;
s2%=mod;
cur2=a*f2*f2+b*s2*s2+x*f2+y*s2+z;
cur2%=mod;
}
long long cnt=s1, ans=cur1, dim=1;
f1=s1;
s1=cur1;
cur1=a*f1*f1+b*s1*s1+x*f1+y*s1+z;
cur1%=mod;
while(cnt!=s1 || ans!=cur1)
{
f1=s1;
s1=cur1;
cur1=a*f1*f1+b*s1*s1+x*f1+y*s1+z;
cur1%=mod;
dim++;
}
n%=dim;
f1=cnt;
s1=ans;
cur1=a*f1*f1+b*s1*s1+x*f1+y*s1+z;
cur1%=mod;
for(int i=1; i<n; i++)
{
f1=s1;
s1=cur1;
cur1=a*f1*f1+b*s1*s1+x*f1+y*s1+z;
cur1%=mod;
}
w<<s1;
return 0;
}