Pagini recente » Cod sursa (job #812668) | Cod sursa (job #2049101) | Cod sursa (job #3170618) | Cod sursa (job #1325138) | Cod sursa (job #1395082)
#include <cstdio>
#include <algorithm>
#define nmax 6000009
using namespace std;
long long n,a,b,c;
int A[nmax],B[nmax],C[nmax];
int urm[nmax],cul[nmax];
int main(){
long long i,j,st,dr,g,s;
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
scanf("%d%d%d%d",&n,&a,&b,&c);
A[1]=min(a,b);B[1]=max(a,b);C[1]=c;
for(i=2;i<n;i++){
a=(a*i)%n;
b=(b*i)%n;
c=(c*i)%n;
A[i]=min(a,b);B[i]=max(a,b);C[i]=c;
}
for(i=n-1;i>0;i--){
st=A[i];
dr=B[i];
g=C[i];
for(j=st;j<=dr&&j<n;j++){
cul[j]=g;
if(urm[j] < n)j+=urm[j];
}
urm[st]=dr-st;
}
for(i=1;i<n;i++)
printf("%d\n",cul[i]);
return 0;
}