Pagini recente » Cod sursa (job #3179852) | Cod sursa (job #1824880) | Cod sursa (job #1044533) | Cod sursa (job #1557992) | Cod sursa (job #2262364)
#include <fstream>
#include <queue>
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int n, a[1000000], b[1000000], c[1000000];
int urm[1000000], x[1000000], s, d;
int main() {
fin >> n >> a[1] >> b[1] >> c[1];
urm[1] = 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;
}
for (int i = n - 1; i; --i) {
s = min(a[i], b[i]);
d = max(a[i], b[i]);
while (s <= d) {
if (x[s] == 0) {
urm[s] = d + 1;
x[s] = c[i];
++s;
} else
s = urm[s];
}
}
for (int i = 1; i < n; ++i)
fout << x[i] << '\n';
}