#include<stdio.h>
#define maxn 1024*1024
long val[maxn*4+4],v[maxn],n;
void add(long a,long b,long c,long poz,long l,long r)
{
if( a>r || b <l) return ;
if( a<=l && b>=r)
{
val[poz] = c;
return ;
}
if( (l+r)/2 <a)
val[poz*2] = val[poz];
else add(a,b,c,poz*2,l,(l+r)/2);
if( (l+r)/2+1 > b)
val[poz*2+1] = val[poz];
else add(a,b,c,poz*2+1,(l+r)/2+1,r);
val[poz] = -1;
}
void col(long a,long b,long c)
{
if(a>b)
add(b,a,c,1,1,n-1);
else add(a,b,c,1,1,n-1);
}
void coloreaza(long poz,long l,long r)
{
if(val[poz]!=-1)
{
for(long i =l;i <= r; i++)
v[i] = val[poz];
return ;
}
coloreaza(poz*2,l,(l+r)/2);
coloreaza(poz*2+1,(l+r)/2+1,r);
}
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
long a,b,c,i;
scanf("%ld %ld %ld %ld",&n,&a,&b,&c);
for(i=1;i<=maxn*2+2;i++)
val[i] = -1;
for( long i = 1; i <= n-1; i++)
{
col(a,b,c);
a = ((long long )a*(i+1))%n;
b = ((long long )b*(i+1))%n;
c = ((long long )c*(i+1))%n;
}
coloreaza(1,1,n-1);
for(i=1;i<n;i++)
printf("%ld\n",v[i]);
return 0;
}