Pagini recente » Cod sursa (job #2016715) | Cod sursa (job #2078512) | Cod sursa (job #2334693) | Cod sursa (job #1736584) | Cod sursa (job #996448)
Cod sursa(job #996448)
#include<stdio.h>
#include<algorithm>
#define maxn 1000005
using namespace std;
int n;
int a[maxn],b[maxn],c[maxn];
int sol[maxn],nxt[maxn];
void read()
{
scanf("%d%d%d%d",&n,&a[1],&b[1],&c[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;
}
}
void solve()
{
for(int i=n-1;i;i--)
{
if(a[i]>b[i]) swap(a[i],b[i]);
for(int j=a[i];j<=b[i];j++)
if(sol[j]) j=nxt[j];
else
sol[j]=c[i],nxt[j]=b[i];
}
}
void print()
{
for(int i=1;i<n;i++) printf("%d\n",sol[i]);
}
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
read();
solve();
print();
fclose(stdin);
fclose(stdout);
return 0;
}