#include <bits/stdc++.h>

using namespace std;
int N,L,Q;
int x[100001];
int dp[100001][18];
int main() {
  cin >> N;

  for(int i = 0; i < N; i++) cin >> x[i];

  cin >> L;

  for(int i = 0; i < N; i++) {
    dp[i][0] = (upper_bound(x,x+N,x[i]+L) - x) - 1;
  }

  for(int j = 1; j < 18; j++) {
    for(int i = 0; i < N; i++) {
      dp[i][j] = dp[dp[i][j-1]][j-1];
    }
  }

  cin >> Q;

  for(int i = 0; i < Q; i++) {
   
    int a,b;
    int ans = 0;
    cin >> a >> b;
    a--;b--;
    if(a > b) swap(a,b);

    for(int i = 17; i >= 0; i--) {
      if(dp[a][i] < b) {
	a = dp[a][i];
	ans += (1 << i);
      }
    }
    cout << ans + 1 <<endl;
  }
}
    
  
