Pagini recente » Cod sursa (job #814529) | Autentificare | Cod sursa (job #521004) | Cod sursa (job #2121874) | Cod sursa (job #2005758)
#include<fstream>
#include<iostream>
#include<vector>
#include<set>
#define DN 10000100
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int st[DN];
int dr[DN];
int v[DN];
int r[DN];
int ne[DN],t;
int n,a,b,c;
int nex(int x)
{
while(ne[x])
x=nex(ne[x]);
return x;
}
int main()
{
fin>>n>>a>>b>>c;
for(int i=1;i<n;i++)
{
a=(1LL*a*i)%n;
b=(1LL*b*i)%n;
c=(1LL*c*i)%n;
st[i]=min(a,b);
dr[i]=max(a,b);
v[i]=c;
}
for(int i=n-1;i>0;i--)
{
int poz=st[i];
while(poz<=dr[i])
{
poz=nex(poz);
if(poz<=dr[i])
{
r[poz]=v[i];
ne[poz]=dr[i]+1;
poz++;
}
}
}
for(int i=1;i<n;i++)
if(r[i]==-1)
fout<<0<<'\n';
else
fout<<r[i]<<'\n';
}