/////////////////////////////////////////////////////////////////////////
// ------------------------------------------------------------------- //
// | Author: Fananhkhoi | Luong Van Chanh High School for the gifted | //
// ------------------------------------------------------------------- //
/////////////////////////////////////////////////////////////////////////
/* -------------------[ TALK LESS & DO MORE ]------------------- */
// #pragma GCC target("popcnt,lzcnt,bmi,bmi2,abm")
#include <bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define getBit(x, k) (((x) >> (k)) & 1)
#define MASK(i) (1LL << (i))
#define int long long
//#define ll long long
#define MOD 1000000007
#define el "\n"
#define vi vector<int>
#define pii pair<int,int>
#define vii vector<pii>
#define FOU(i, l, r) for (int i = l; i <= r; i ++)
#define FOD(i, r, l) for (int i = r; i >= l; i --)
#define trav(a, x) for (auto &a : x )
#define rep(i, a, b) for (int i = a; i < (b); i ++)
#define gcd __gcd
#define fi first
#define se second
#define MP make_pair
#define pb push_back
#define pf push_front
#define all(v) v.begin(), v.end()
#define rev(v) reverse(all(v))
#define srt(v) sort(all(v))
#define grtsrt(v) sort(all(v), greater<int>())
#define sz(x) (int) (x).size()
#define maxHeap priority_queue<int>
#define minHeap priority_queue<int, vi, greater<int>>
#define Fix(a, b) cout << fixed << setprecision((b)) << (a)
int dx[] = {};
int dy[] = {};
template<class KHOI, class ANH> bool maximize(KHOI &x, ANH y){
if(x < y){
x = y;
return true;
}
else return false;
}
template<class KHOI, class ANH> bool minimize(KHOI &x, ANH y){
if(x > y){
x = y;
return true;
}
else return false;
}
inline int max(int a, int b){
return (a > b) ? a : b;
}
inline int min(int a, int b){
return (a < b) ? a : b;
}
/* --------------------[ MAIN CODE ]--------------------- */
const int MaxN = 5e6 + 100;
const int oo = 2e18;
int n, x, p, q, m;
int a[MaxN];
int f[MaxN];
int v[MaxN];
void inp(){
cin >> n >> x;
cin >> p >> q >> m;
for (int i = 1; i <= n; i ++){
a[i] = ((p * i) % m) + q;
}
}
void sol(){
int k = -oo;
for (int i = 1; i <= n; i ++){
int tmp = a[i] + i * x;
maximize(k, tmp);
}
f[1] = k;
int res = f[1];
for (int i = 2; i <= n; i ++){
maximize(f[i], max({a[i] + x, a[i - 1] + n * x, f[i - 1] - x}));
minimize(res, f[i]);
}
cout << res;
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
// freopen("EXERCISE.INP", "r", stdin);
// freopen("EXERCISE.OUT", "w", stdout);
int t = 1;
bool multitest = 0;
if (multitest){
cin >> t;
}
while(t--){
inp();
sol();
}
return 0;
}
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCi8vIHwgQXV0aG9yOiBGYW5hbmhraG9pIHwgTHVvbmcgVmFuIENoYW5oIEhpZ2ggU2Nob29sIGZvciB0aGUgZ2lmdGVkIHwgLy8KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tWyBUQUxLIExFU1MgJiBETyBNT1JFIF0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgoKLy8gI3ByYWdtYSBHQ0MgdGFyZ2V0KCJwb3BjbnQsbHpjbnQsYm1pLGJtaTIsYWJtIikKCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZTxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGU8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CgojZGVmaW5lIGdldEJpdCh4LCBrKSAoKCh4KSA+PiAoaykpICYgMSkKI2RlZmluZSBNQVNLKGkpICgxTEwgPDwgKGkpKQojZGVmaW5lIGludCBsb25nIGxvbmcKLy8jZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSB2aWkgdmVjdG9yPHBpaT4KI2RlZmluZSBGT1UoaSwgbCwgcikgZm9yIChpbnQgaSA9IGw7IGkgPD0gcjsgaSArKykKI2RlZmluZSBGT0QoaSwgciwgbCkgZm9yIChpbnQgaSA9IHI7IGkgPj0gbDsgaSAtLSkKI2RlZmluZSB0cmF2KGEsIHgpIGZvciAoYXV0byAmYSA6IHggKQojZGVmaW5lIHJlcChpLCBhLCBiKSBmb3IgKGludCBpID0gYTsgaSA8IChiKTsgaSArKykKI2RlZmluZSBnY2QgX19nY2QKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIE1QIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBmIHB1c2hfZnJvbnQKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLCB2LmVuZCgpCiNkZWZpbmUgcmV2KHYpIHJldmVyc2UoYWxsKHYpKQojZGVmaW5lIHNydCh2KSBzb3J0KGFsbCh2KSkKI2RlZmluZSBncnRzcnQodikgc29ydChhbGwodiksIGdyZWF0ZXI8aW50PigpKQojZGVmaW5lIHN6KHgpIChpbnQpICh4KS5zaXplKCkKI2RlZmluZSBtYXhIZWFwIHByaW9yaXR5X3F1ZXVlPGludD4KI2RlZmluZSBtaW5IZWFwIHByaW9yaXR5X3F1ZXVlPGludCwgdmksIGdyZWF0ZXI8aW50Pj4KI2RlZmluZSBGaXgoYSwgYikgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oKGIpKSA8PCAoYSkKCmludCBkeFtdID0ge307CmludCBkeVtdID0ge307Cgp0ZW1wbGF0ZTxjbGFzcyBLSE9JLCBjbGFzcyBBTkg+IGJvb2wgbWF4aW1pemUoS0hPSSAmeCwgQU5IIHkpewogICAgaWYoeCA8IHkpewogICAgICAgIHggPSB5OwogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgZWxzZSByZXR1cm4gZmFsc2U7Cn0KCnRlbXBsYXRlPGNsYXNzIEtIT0ksIGNsYXNzIEFOSD4gYm9vbCBtaW5pbWl6ZShLSE9JICZ4LCBBTkggeSl7CiAgICBpZih4ID4geSl7CiAgICAgICAgeCA9IHk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBlbHNlIHJldHVybiBmYWxzZTsKfQoKaW5saW5lIGludCBtYXgoaW50IGEsIGludCBiKXsKICAgIHJldHVybiAoYSA+IGIpID8gYSA6IGI7Cn0KCmlubGluZSBpbnQgbWluKGludCBhLCBpbnQgYil7CiAgICByZXR1cm4gKGEgPCBiKSA/IGEgOiBiOwp9CgoKCgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1bIE1BSU4gQ09ERSBdLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgpjb25zdCBpbnQgTWF4TiA9IDVlNiAgKyAxMDA7CmNvbnN0IGludCBvbyA9IDJlMTg7CgppbnQgbiwgeCwgcCwgcSwgbTsKaW50IGFbTWF4Tl07CmludCBmW01heE5dOwppbnQgdltNYXhOXTsKCnZvaWQgaW5wKCl7CiAgICBjaW4gPj4gbiA+PiB4OwogICAgY2luID4+IHAgPj4gcSA+PiBtOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSArKyl7CiAgICAgICAgYVtpXSA9ICgocCAqIGkpICUgbSkgKyBxOwogICAgfQp9Cgp2b2lkIHNvbCgpewogICAgaW50IGsgPSAtb287CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpICsrKXsKICAgICAgICBpbnQgdG1wID0gYVtpXSArIGkgKiB4OwogICAgICAgIG1heGltaXplKGssIHRtcCk7CiAgICB9CiAgICBmWzFdID0gazsKICAgIGludCByZXMgPSBmWzFdOwogICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbjsgaSArKyl7CiAgICAgICAgbWF4aW1pemUoZltpXSwgbWF4KHthW2ldICsgeCwgYVtpIC0gMV0gKyBuICogeCwgZltpIC0gMV0gLSB4fSkpOwogICAgICAgIG1pbmltaXplKHJlcywgZltpXSk7CiAgICB9CiAgICBjb3V0IDw8IHJlczsKfQoKaW50MzJfdCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwoKICAgIC8vIGZyZW9wZW4oIkVYRVJDSVNFLklOUCIsICJyIiwgc3RkaW4pOwogICAgLy8gZnJlb3BlbigiRVhFUkNJU0UuT1VUIiwgInciLCBzdGRvdXQpOwoKICAgIGludCB0ID0gMTsKICAgIGJvb2wgbXVsdGl0ZXN0ID0gMDsKICAgIGlmIChtdWx0aXRlc3QpewogICAgICAgIGNpbiA+PiB0OwogICAgfQogICAgd2hpbGUodC0tKXsKICAgICAgICBpbnAoKTsKICAgICAgICBzb2woKTsKICAgIH0KICAgIHJldHVybiAwOwp9