#include<stdio.h>
struct sp
{
long long a,b,c;
}v[1000005];
int l[1000005],e[1000005];
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
long long n,a,b,c,d,i,j;
scanf("%lld%lld%lld%lld",&n,&a,&b,&c);
for(i=1;i<n;i++)
{
a=(a*i)%n;
b=(b*i)%n;
c=(c*i)%n;
if(a>b)
{
d=a;
a=b;
b=d;
}
v[i].a=a;
v[i].b=b;
v[i].c=c;
e[i]=i;
}
for(i=n-1;i>=1;i--)
{
for(j=v[i].a;j<=v[i].b;j++)
if(l[j]==0)
{
l[j]=v[i].c;
e[j]=v[i].b+1;
}
else
j=e[j]-1;
}
for(i=1;i<n;i++)
printf("%d\n",l[i]);
return 0;
}