Pagini recente » Cod sursa (job #1402525) | Cod sursa (job #990831) | Cod sursa (job #2202001) | Cod sursa (job #1979182) | Cod sursa (job #2681486)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("curcubeu.in");
ofstream fo("curcubeu.out");
typedef long long ll;
ll n, A[1000005], B[1000005], C[1000005], S[2000005], O[2000005];
int main()
{
fi >> n >> A[1] >> B[1] >> C[1];
for(ll i = 2; i <= n - 1; i++)
{
A[i] = (A[i-1] * i) % n;
B[i] = (B[i-1] * i) % n;
C[i] = (C[i-1] * i) % n;
}
ll st, maAB;
for (ll i = n - 1; i >= 1; i--)
{
maAB = max(A[i], B[i]);
st = min(A[i],B[i]);
while(st <= maAB)
if(S[st])st = S[st]+1;
else {
O[st] = C[i];
S[st++] = maAB;
}
}
for (ll i = 1; i < n; ++i )
fo << O[i] << "\n";
return 0;
}