#include <bits/stdc++.h>
using namespace std;
int n, l, q, x[1001];
long long d[1001];
long long calc(int i, int j) {
  if (i == j) return 0;
  long long &ret = d[i];
  if (~ret) return ret;
  ret = 1 << 30;
  for (int k = i; k <= j; k++) {
    if (x[k] - x[i] > l) break;
    ret = min(ret, calc(k, j) + 1);
  }
  return ret;
}
long long go(int a, int b) {
  if (a > b) swap(a, b);
  memset(d, -1, sizeof d);
  return calc(a, b);
}
int main() {
  scanf("%d", &n);
  if (n > 1000 || q > 1000) return 0;
  for (int i = 1; i <= n; i++) scanf("%d", x + i);
  scanf("%d%d", &l, &q);
  for (int i = 1; i <= q; i++) {
    int u, v;
    scanf("%d%d", &u, &v);
    printf("%lld\n", go(u, v));
  }
  return 0;
}
