#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<stack>
#include<vector>
using namespace std;
const int N=1e5+50;
const int INF=0x3f3f3f;
long long num[N];
int main()
{
    long long n;
    long long l;
    int q,a,b;
    scanf("%lld",&n);
    for(long long i=1;i<=n;i++)
        scanf("%lld",&num[i]);
    num[n+1]=INF;
    scanf("%lld%d",&l,&q);
    while(q--)
    {
        long long sum=0;
        scanf("%d%d",&a,&b);
        long long x=min(a,b);
        int endd=max(a,b);
        long long cnt=num[x]+l;
        while(ber<endd)
        {
        int ber=upper_bound(num,num+n+1,cnt)-num-1;
            sum++;
            cnt=num[ber]+l;
        }
        sum++;
        printf("%lld\n",sum);
    }
    return 0;
}