Pagini recente » Cod sursa (job #293034) | Cod sursa (job #422642) | Cod sursa (job #2122483) | Cod sursa (job #2524760) | Cod sursa (job #2070264)
#include <bits/stdc++.h>
using namespace std;
int n;
int a[100001], b[100001], c[100001], urm[100001], cul[100001];
int main()
{
freopen("curcubeu.in", "r", stdin);
freopen("curcubeu.out", "w", stdout);
scanf("%d%d%d%d", &n, &a[1], &b[1], &c[1]);
if(a[1] > b[1]) swap(a[1], b[1]);
for(int i = 2; i < n; i++)
{
a[i] = (1LL * a[i - 1] * i) % n;
b[i] = (1LL * b[i - 1] * i) % n;
c[i] = (1LL * c[i - 1] * i) % n;
if(a[i] > b[i]) swap(a[i], b[i]);
}
for(int i = n - 1; i > 0; i--)
{
for(int j = a[i]; j <= b[i];)
if(cul[j] == 0)
{
cul[j] = c[i];
urm[j] = b[i] + 1;
j++;
}
else j = urm[j];
}
for(int i = 1; i < n; i++)
printf("%d\n", cul[i]);
return 0;
}