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