#include <bits/stdc++.h>
using namespace std;
int main() {
  int t, n, x, y, i, d, min1 = 1000000000, min2 = 1000000000;
  int mas[10000];
  cin >> t;
  for (i = 0; i < t; i++) {
    min1 = 1000000000;
    min2 = 1000000000;
    cin >> n >> x >> y >> d;
    if ((abs(y - x)) % d == 0)
      mas[i] = (abs(y - x)) / d;
    else {
      if (((n - y) % d == 0 || (y - 1) % d == 0) && n - y != 0 && y - 1 != 0) {
        if ((n - y) % d == 0 && n - y != 0) {
          min1 = ceil((n - x) / (d * 1.0)) + (n - y) / d;
        }
        if ((y - 1) % d == 0 && y - 1 != 0) {
          min2 = ceil((x - 1) / (d * 1.0)) + (y - 1) / d;
        }
        mas[i] = min(min1, min2);
      } else {
        mas[i] = -1;
      }
    }
    if (y == n || y == 1) {
      mas[i] = ceil(abs(y - x) / (d * 1.0));
    }
  }
  for (i = 0; i < t; i++) {
    cout << mas[i] << "\n";
  }
}
