#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 100030;
int A[20][MAX_N];
int x[MAX_N];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> x[i];
  int L, Q;
  cin >> L >> Q;
  x[n] = x[n - 1] + L;
  n++;
  for (int i = 0; i < n; i++) A[0][i] = upper_bound(x, x + n, x[i] + L) - x - 1;
  for (int j = 1; j < 20; j++)
    for (int i = 0; i < n; i++) A[j][i] = A[j - 1][A[j - 1][i]];
  while (Q--) {
    int a, b;
    cin >> a >> b;
    a--;
    b--;
    if (a > b) swap(a, b);
    int ans = 0;
    for (int i = 19; i >= 0 && a < b; i--)
      if (A[i][a] <= b) {
        a = A[i][a];
        ans += (1 << i);
      }
    cout << ans << "\n";
  }
  return 0;
}
