#include <fstream>
#include <vector>
using namespace std;
ifstream f("radix.in");
ofstream g("radix.out");
int N,A,B,C;
int V[10000005];
int mask=255;
void Read()
{
f>>N>>A>>B>>C;
V[1]=B;
for(int i=2;i<=N;i++)
V[i]=(V[i-1]*A+B)%C;
}
void Solve(int Shift)
{
vector <int> X[257];
for(int i=1;i<=N;i++)
X[(V[i]<<Shift) & mask].push_back(V[i]);
int poz=0;
for(int i=0;i<=mask;i++)
for(int j=0;j<X[i].size();j++)
V[++poz]=X[i][j];
}
int main()
{
Read();
for(int i=0;i<=3;i++)
Solve(i*8);
for(int i=1;i<=N;i+=10)
g<<V[i]<<" ";
g<<"\n";
return 0;
}