#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define N 30005
vector<int> v[N];
typedef pair<pair<int, int>,pair<int,int>> pi;
vector<pi> pr;
int tree[4*N]={0};

void update(int node,int st,int end,int x)
{
    if(st==end)
    {
        tree[node]=1;
        return;
    }
    int m=(st+end)/2;
    if(st<=x && x<=m)
        update(2*node,st,m,x);
    else
        update(2*node+1,m+1,end,x);
    tree[node]=tree[2*node]+tree[2*node+1];
}

int query(int node,int st,int end,int l,int r)
{
    if(st>r || end<l)
        return 0;
    if(st>=l && end<=r)
        return tree[node];

    int m=(st+end)/2;
    int p1=query(2*node,st,m,l,r);
    int p2=query(2*node+1,m+1,end,l,r);
    return p1+p2;
}

bool comp(pi a,pi b)
{
    return a.first.first<b.first.first;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
   
    int n;
    cin>>n;

    vector<int> arr,a;
    for(int i=0;i<n;i++)
    {
        int x;
        cin>>x;
        arr.push_back(x);
    }

    set<int> s;
    for(int i=0;i<n;i++)
        s.insert(arr[i]);
    
    for(auto it=s.begin();it!=s.end();it++)
    {
        a.push_back(*it);
    }

    for(int i=0;i<n;i++)
    {
        int ind=lower_bound(a.begin(),a.end(),arr[i])-a.begin();
        v[ind].push_back(i+1);
    }

    int q;
    cin>>q;

    for(int c=0;c<q;c++)
    {
        int i,j,k;
        cin>>i>>j>>k;

        pr.push_back(make_pair(make_pair(k,c),make_pair(i,j)));
    }
    sort(pr.begin(),pr.end(),comp);

    int ans[q];
    int mx=-1;
    for(int i=0;i<q;i++)
    {
        int l=pr[i].second.first;
        int r=pr[i].second.second;
        int k=lower_bound(a.begin(),a.end(),pr[i].first.first)-a.begin();
        int ind=pr[i].first.second;
        if(a[k]>pr[i].first.first)
            k--;

        while(mx<=k)
        {
            if(mx>=0)
            {
                for(auto num:v[mx])
                {
                    update(1,1,n,num);
                }
            }
            mx++;
        }
        ans[ind]=r-l+1-query(1,1,n,l,r);
    }

    for(int i=0;i<q;i++)
        cout<<ans[i]<<endl;
}