#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 50;
const int INF = 0x3f3f3f;
long long num[N];
int main() {
  long long n;
  long long l;
  int q, a, b;
  scanf("%lld", &n);
  for (long long i = 1; i <= n; i++) scanf("%lld", &num[i]);
  num[n + 1] = INF;
  scanf("%lld%d", &l, &q);
  while (q--) {
    long long sum = 0;
    scanf("%d%d", &a, &b);
    long long x = min(a, b);
    int endd = max(a, b);
    long long cnt = num[x] + l;
    while (1) {
      int ber = upper_bound(num, num + n, cnt) - num - 1;
      if (ber >= endd)
        break;
      else {
        sum++;
        cnt = num[ber] + l;
      }
    }
    sum++;
    printf("%lld\n", sum);
  }
  return 0;
}
