#include <bits/stdc++.h>
using namespace std;
long long a[100000];
long long dp[17][100000];
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  long long l;
  cin >> l;
  for (int i = 0; i < n; i++) {
    int k = upper_bound(a, a + n, a[i] + l) - a;
    k--;
    dp[0][i] = k;
  }
  for (int i = 1; i < 17; i++) {
    for (int j = 0; j < n; j++) {
      dp[i][j] = dp[i - 1][dp[i - 1][j]];
    }
  }
  int q;
  cin >> q;
  for (int aaa = 0; aaa < q; aaa++) {
    int s, t;
    cin >> s >> t;
    s--;
    t--;
    if (s > t) swap(s, t);
    int out = 0;
    while (s < t) {
      for (int j = 0; j < 17; j++) {
        if (dp[j][s] >= t) {
          if (j > 0) {
            out += 1 << (j - 1);
            s = dp[j - 1][s];
          } else {
            out++;
            s = t;
          }
          break;
        }
      }
    }
    cout << out << endl;
  }
  return 0;
}
