#include <bits/stdc++.h>
using namespace std;
int n, l, q, x[100005], p[100005][18];
int main(void) {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", x + i);
  }
  scanf("%d", &l);
  for (int i = 0; i < n; i++) {
    p[i][0] = upper_bound(x, x + n, x[i] + l) - x - 1;
  }
  p[n - 1][0] = n;
  for (int i = 0; i + 1 < 18; i++) {
    for (int j = 0; j < n; j++) {
      p[j][i + 1] = p[p[j][i]][i];
    }
  }
  scanf("%d", &q);
  while (q--) {
    int a, b;
    scanf("%d%d", &a, &b);
    a--, b--;
    if (b < a) swap(a, b);
    int ans = 0;
    while (a < b) {
      for (int i = 0; 1; i++) {
        if (p[a][i + 1] > b) {
          ans += (1LL << i);
          a = p[a][i];
          break;
        }
      }
    }
    printf("%d\n", ans);
  }
}
