#include <bits/stdc++.h>
using namespace std;
long long ceil(long long x, long long y) {
  if (x % y)
    return (x / y) + 1;
  else
    return (x / y);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  long long t, n, x, y, d, temp;
  cin >> t;
  long long ans = LONG_MAX;
  long long flag = 0;
  while (t--) {
    cin >> n >> x >> y >> d;
    ans = LONG_MAX;
    flag = 0;
    temp = ceil(x - 1, d);
    if (!((y - 1) % d)) {
      temp += (y - 1) / d;
      ans = min(temp, ans);
      flag = 1;
    }
    if (!(abs(y - x) % d)) {
      ans = min(ans, abs(y - x) / d);
      flag = 1;
    }
    temp = ceil(n - x, d);
    if (!((n - y) % d)) {
      temp += (n - y) / d;
      ans = min(temp, ans);
      flag = 1;
    }
    if (flag == 0)
      cout << -1 << endl;
    else
      cout << ans << endl;
  }
}
