#include<fstream>
using namespace std;
int v[2000001],t[2000001];
void det(int i,int l,int X,int Y,int Z,int V,int c)
{
v[i]=( X * c + Y * ( i - 1 ) ) % ( l - 1 ) + 1 ;
t[i]=( Z * c + V * ( i - 1 ) ) % 2;
}
void sdo(int v[], int left, int right,int k)
{
int i = left, j = right;
int tmp;
int pivot = v[(left+right)/2];
while (i < j)
{
while (v[i] < pivot)
i++;
while (v[j] > pivot)
j--;
if (i <= j)
{
tmp = v[i];
v[i] = v[j];
v[j] = tmp;
i++;
j--;
}
}
if (left < j && k<=j)
sdo(v, left, j,k);
if (i < right && k>=i)
sdo(v, i, right,k);
}
int main()
{
ifstream fcin("toys.in");
ofstream fcout("toys.out");
int n,m,l,S,X,Y,Z,V,sol,i,nr=1,c;
fcin>>n>>l>>m>>S>>X>>Y>>Z>>V;
v[1]=S;
t[1]=1;
c=v[1];
for(i=2;i<=n;i++)
{
det(i,l,X,Y,Z,V,c);
c=v[i];
if(t[i]==1)nr++;
else
{
v[i]=l-v[i]+l;
t[i]=1;
}
}
sol=l*(m/n)*2;
sdo(v,1,n,nr);
sol+=v[nr];
sdo(v,1,n,m-m/n*n);
sol+=v[m-m/n*n];
fcout<<sol;
return 0;
}