#include<bits/stdc++.h>
using namespace std;
struct node{
int x,next;
}arr[100100];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i].x;
}
int L;
cin>>L;
int id=2;
for(int i=1;i<n;i++){
for(;id<n,arr[id].x-arr[i].x<=L;id++);
id--;
arr[i].next=id;
}
arr[n].next=n;
int q;
cin>>q;
while(q--){
int a,b,ans=0;
cin>>a>>b;
if(a>b) swap(a,b);
while(a<b){
a=arr[a].next;
ans++;
}
cout<<ans<<"\n";
}
}