#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 1e5 + 4;
int v[maxn];
queue<int> qu;
int main() {
int n, a, b, y;
cin >> n >> a >> b >> y;
for(int i = 0; i < n; i++) v[i] = -1;
v[a] = 0;
int res = -1;
qu.push(a);
while(!qu.empty()) {
int now = qu.front();
qu.pop();
if(now == b) {
res = v[now];
break;
}
if(v[(now + 1) % n] == -1) v[(now + 1) % n] = v[now] + 1, qu.push((now + 1) % n);
if(v[(now + y) % n] == -1) v[(now + y) % n] = v[now] + 1, qu.push((now + y) % n);
if(v[abs(now - y) % n] == -1) v[abs(now - y) % n] = v[now] + 1, qu.push(abs(now-y) % n);
}
cout << res << endl;
return 0;
}