Cod sursa(job #549558)
#include <cstdio>
using namespace std;
int n, a1, b1, c1, a[1000003];
inline int min (int x, int y)
{
return (x<y)?x:y;
}
inline int max (int x, int y)
{
return (x>y)?x:y;
}
int main ()
{
freopen ("curcubeu.in", "r", stdin);
scanf ("%d %d %d %d", &n, &a1, &b1, &c1);
int j, k;
for (j=min (a1, b1), k=max (a1, b1); j<=k; j++)
a[j]=c1;
int i;
for (i=2; i<n; i++)
{
a1=(a1*i)%n;
b1=(b1*i)%n;
c1=(c1*i)%n;
for (j=min (a1, b1), k=max (a1, b1); j<=k; j++)
a[j]=c1;
}
freopen ("curcubeu.out", "w", stdout);
for (i=1; i<n; i++)
printf ("%d\n", a[i]);
return 0;
}