#include <bits/stdc++.h>
#define FOR(i, a, b) for (int i = a; i <= b; ++i)
#define FORD(i, a, b) for (int i = a; i >= b; --i)
#define ll long long
using namespace std;
const int N = 2e7 + 5;
int n, d, p, q, m;
ll a[N];
void nhap() {
cin >> n >> d;
cin >> p >> q >> m;
}
void giai() {
FOR(i, 1, n) a[i] = (1ll * p % m * (i % m) % m) % m + q;
FOR(i, n + 1, n + n) a[i] = a[i - n];
FOR(i, 1, n + n) a[i] += i * 1ll * d;
deque <int> dq;
ll ans = 9e18;
FOR(i, 1, n + n) {
while (!dq.empty() && a[i] >= a[dq.back()]) dq.pop_back();
while (!dq.empty() && dq.front() <= i - n) dq.pop_front();
dq.push_back(i);
if (i > n) ans = min(ans, a[dq.front()] - 1ll * (i - n) * d);
}
cout << ans;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#define name "bubbletea"
if (fopen(name".inp", "r")) {
freopen(name".inp", "r", stdin);
freopen(name".out", "w", stdout);
}
nhap();
giai();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gYTsgaSA8PSBiOyArK2kpCiNkZWZpbmUgRk9SRChpLCBhLCBiKSBmb3IgKGludCBpID0gYTsgaSA+PSBiOyAtLWkpCiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE4gPSAyZTcgKyA1OwppbnQgbiwgZCwgcCwgcSwgbTsKbGwgYVtOXTsKCnZvaWQgbmhhcCgpIHsKICAgIGNpbiA+PiBuID4+IGQ7CiAgICBjaW4gPj4gcCA+PiBxID4+IG07Cn0KCnZvaWQgZ2lhaSgpIHsKICAgIEZPUihpLCAxLCBuKSBhW2ldID0gKDFsbCAqIHAgJSBtICogKGkgJSBtKSAlIG0pICUgbSArIHE7CiAgICBGT1IoaSwgbiArIDEsIG4gKyBuKSBhW2ldID0gYVtpIC0gbl07CiAgICBGT1IoaSwgMSwgbiArIG4pIGFbaV0gKz0gaSAqIDFsbCAqIGQ7CgogICAgZGVxdWUgPGludD4gZHE7CiAgICBsbCBhbnMgPSA5ZTE4OwoKICAgIEZPUihpLCAxLCBuICsgbikgewogICAgICAgIHdoaWxlICghZHEuZW1wdHkoKSAmJiBhW2ldID49IGFbZHEuYmFjaygpXSkgZHEucG9wX2JhY2soKTsKICAgICAgICB3aGlsZSAoIWRxLmVtcHR5KCkgJiYgZHEuZnJvbnQoKSA8PSBpIC0gbikgZHEucG9wX2Zyb250KCk7CiAgICAgICAgZHEucHVzaF9iYWNrKGkpOwogICAgICAgIGlmIChpID4gbikgYW5zID0gbWluKGFucywgYVtkcS5mcm9udCgpXSAtIDFsbCAqIChpIC0gbikgKiBkKTsKICAgIH0KCiAgICBjb3V0IDw8IGFuczsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CgogICAgI2RlZmluZSBuYW1lICJidWJibGV0ZWEiCgogICAgaWYgKGZvcGVuKG5hbWUiLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKG5hbWUiLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4obmFtZSIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIG5oYXAoKTsKICAgIGdpYWkoKTsKCiAgICByZXR1cm4gMDsKfQo=