// author : anphung
#include<bits/stdc++.h>
using namespace std;
#define con_meo_dua_leo int32_t main
#define int64 long long
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
#define f0(i, a, b) for(int i = (a); i <=(b); ++i)
#define fd(i, a, b) for(int i = (a); i >=(b); --i)
#define file ""
//mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());
//int64 Rand(int64 l, int64 r){
// return l+rng()%(r-l+1);
//}
#define maxn 1
#define lg 20
#define inf (int64)4e18
#define mod (int64)(1e9+7)
long long n, p, a, b, r;
inline long long gcd(long long a, long long b){
if(b == 0)return a;
return gcd(b, a%b);
}
inline long long add(long long a, long long b, long long p){
return (a%p + b%p)%p;
}
con_meo_dua_leo(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
// freopen(file".inp", "r", stdin);
// freopen(file".out", "w", stdout);
cin>>n>>p>>a>>b>>r;
long long s = (r - (n%p)+p)%p;
long long g = gcd(gcd(a, b), p);
if(s%g != 0){
return cout<<-1, 0;
}
long long p2 = p/g;
long long a2 = a/g;
long long b2 = b/g;
long long s2 = s/g;
vector<int> d(p2, -1);
queue<int> q;
d[0] = 0; q.push(0);
while(!q.empty()){
int u = q.front(); q.pop();
int v1 = (u + a2) % p2;
int v2 = (u + b2) % p2;
int v3 = (u + a2 + b2) % p2;
if(d[v1] == -1){
d[v1] = d[u] + 1;
q.push(v1);
}
if(d[v2] == -1){
d[v2] = d[u] + 1;
q.push(v2);
}
if(d[v3] == -1){
d[v3] = d[u] + 1;
q.push(v3);
}
}
cout<<d[s2];
cerr << "\ntime elapsed: "<<TIME <<"s.\n";
}
Ly8gYXV0aG9yIDogYW5waHVuZwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGNvbl9tZW9fZHVhX2xlbyBpbnQzMl90IG1haW4KI2RlZmluZSBpbnQ2NCBsb25nIGxvbmcKI2RlZmluZSBUSU1FICgxLjAgKiBjbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMpCiNkZWZpbmUgZjAoaSwgYSwgYikgZm9yKGludCBpID0gKGEpOyBpIDw9KGIpOyArK2kpCiNkZWZpbmUgZmQoaSwgYSwgYikgZm9yKGludCBpID0gKGEpOyBpID49KGIpOyAtLWkpCiNkZWZpbmUgZmlsZSAiIgoKLy9tdDE5OTM3XzY0IHJuZyhjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCkudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwoKLy9pbnQ2NCBSYW5kKGludDY0IGwsIGludDY0IHIpewovLyAgICByZXR1cm4gbCtybmcoKSUoci1sKzEpOwovL30KCiNkZWZpbmUgbWF4biAxCiNkZWZpbmUgbGcgMjAKI2RlZmluZSBpbmYgKGludDY0KTRlMTgKI2RlZmluZSBtb2QgKGludDY0KSgxZTkrNykKCgpsb25nIGxvbmcgbiwgcCwgYSwgYiwgcjsKCmlubGluZSBsb25nIGxvbmcgZ2NkKGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYil7CiAgICBpZihiID09IDApcmV0dXJuIGE7CiAgICByZXR1cm4gZ2NkKGIsIGElYik7Cn0KCmlubGluZSBsb25nIGxvbmcgYWRkKGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYiwgbG9uZyBsb25nIHApewogICAgcmV0dXJuIChhJXAgKyBiJXApJXA7Cn0KCmNvbl9tZW9fZHVhX2xlbygpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAvLyBmcmVvcGVuKGZpbGUiLmlucCIsICJyIiwgc3RkaW4pOwogICAgLy8gZnJlb3BlbihmaWxlIi5vdXQiLCAidyIsIHN0ZG91dCk7CgogICAgY2luPj5uPj5wPj5hPj5iPj5yOwogICAgbG9uZyBsb25nIHMgPSAociAtIChuJXApK3ApJXA7CgogICAgbG9uZyBsb25nIGcgPSBnY2QoZ2NkKGEsIGIpLCBwKTsKICAgIGlmKHMlZyAhPSAwKXsKICAgICAgICByZXR1cm4gY291dDw8LTEsIDA7CiAgICB9CgogICAgbG9uZyBsb25nIHAyID0gcC9nOwogICAgbG9uZyBsb25nIGEyID0gYS9nOwogICAgbG9uZyBsb25nIGIyID0gYi9nOwogICAgbG9uZyBsb25nIHMyID0gcy9nOyAKCiAgICB2ZWN0b3I8aW50PiBkKHAyLCAtMSk7CiAgICBxdWV1ZTxpbnQ+IHE7CgogICAgZFswXSA9IDA7IHEucHVzaCgwKTsKCiAgICB3aGlsZSghcS5lbXB0eSgpKXsKICAgICAgICBpbnQgdSA9IHEuZnJvbnQoKTsgcS5wb3AoKTsKCiAgICAgICAgaW50IHYxID0gKHUgKyBhMikgJSBwMjsKICAgICAgICBpbnQgdjIgPSAodSArIGIyKSAlIHAyOwogICAgICAgIGludCB2MyA9ICh1ICsgYTIgKyBiMikgJSBwMjsKCiAgICAgICAgaWYoZFt2MV0gPT0gLTEpewogICAgICAgICAgICBkW3YxXSA9IGRbdV0gKyAxOwogICAgICAgICAgICBxLnB1c2godjEpOwogICAgICAgIH0KICAgICAgICBpZihkW3YyXSA9PSAtMSl7CiAgICAgICAgICAgIGRbdjJdID0gZFt1XSArIDE7CiAgICAgICAgICAgIHEucHVzaCh2Mik7CiAgICAgICAgfQogICAgICAgIGlmKGRbdjNdID09IC0xKXsKICAgICAgICAgICAgZFt2M10gPSBkW3VdICsgMTsKICAgICAgICAgICAgcS5wdXNoKHYzKTsKICAgICAgICB9CiAgICB9CgoKICAgIGNvdXQ8PGRbczJdOwoKICAgIGNlcnIgPDwgIlxudGltZSBlbGFwc2VkOiAiPDxUSU1FIDw8InMuXG4iOwp9Cg==