#include <cstdio>
#include <algorithm>

int next[20][100005];
int xs[100005];

int main(){
  int N,L,Q;
  scanf("%d",&N);
  for(int i=0;i<N;i++){
    scanf("%d",&xs[i]);
  }
  scanf("%d %d",&L,&Q);
  int j=N-1;
  for(int i=N-1;i>=0;i--){
    while(xs[j]-xs[i]>L){
      j--;
    }
    next[0][i]=j;
    for(int k=1;k<20;k++){
      next[k][i]=next[k-1][next[k-1][i]];
    }
  }
  
  for(int i=0;i<Q;i++){
    int A,B;
    scanf("%d %d",&A,&B);
    A--,B--;
    if(A>B) std::swap(A,B);
    int res=1;
    for(int k=20-1;k>=0;k--){
      if(next[k][A]<B){
	A=next[k][A];
	res+=(1<<k);
      }
    }
    printf("%d\n",res);
  }
  return 0;
}
