#include <bits/stdc++.h>
#define MOD 1000000007
using namespace std;
typedef long long ll;
typedef pair<ll, ll> ii;
ll n, q, tp = 1;
ii mang[30004];
struct dl
{
ll x;
ll y;
ll z;
ll id;
ll ans;
};
dl ques[30004];
ll bit[30004];
void update(ll i)
{
for (; i <= n; i += i & -i)
bit[i]++;
}
ll get(ll i)
{
ll s = 0;
for (; i > 0; i -= i & -i)
s += bit[i];
return s;
}
bool cmp1(ii s1, ii s2)
{
return s1.first > s2.first;
}
bool cmp2(dl s1, dl s2)
{
return s1.id < s2.id;
}
bool cmp3(dl s1, dl s2)
{
return s1.z > s2.z;
}
int main()
{
ios_base::sync_with_stdio(NULL);
cin.tie(0);
cout.tie(0);
cin >> n;
for (ll i = 1; i <= n; i++)
{
cin >> mang[i].first;
mang[i].second = i;
}
sort(mang + 1, mang + 1 + n, cmp1);
cin >> q;
for (ll i = 1; i <= q; i++)
{
cin >> ques[i].x >> ques[i].y >> ques[i].z;
ques[i].id = i;
}
sort(ques + 1, ques + 1 + q, cmp3);
for (ll i = 1; i <= q; i++)
{
// cout << ques[i].z;
while (tp <= n && mang[tp].first > ques[i].z)
{
update(mang[tp].second);
tp++;
// cout << tp;
}
ques[i].ans = get(ques[i].y) - get(ques[i].x - 1);
}
sort(ques + 1, ques + 1 + q, cmp2);
for (ll i = 1; i <= q; i++)
cout << ques[i].ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IGlpOwpsbCBuLCBxLCB0cCA9IDE7CmlpIG1hbmdbMzAwMDRdOwpzdHJ1Y3QgZGwKewogICAgbGwgeDsKICAgIGxsIHk7CiAgICBsbCB6OwogICAgbGwgaWQ7CiAgICBsbCBhbnM7Cn07CmRsIHF1ZXNbMzAwMDRdOwpsbCBiaXRbMzAwMDRdOwp2b2lkIHVwZGF0ZShsbCBpKQp7CiAgICBmb3IgKDsgaSA8PSBuOyBpICs9IGkgJiAtaSkKICAgICAgICBiaXRbaV0rKzsKfQpsbCBnZXQobGwgaSkKewogICAgbGwgcyA9IDA7CiAgICBmb3IgKDsgaSA+IDA7IGkgLT0gaSAmIC1pKQogICAgICAgIHMgKz0gYml0W2ldOwogICAgcmV0dXJuIHM7Cn0KYm9vbCBjbXAxKGlpIHMxLCBpaSBzMikKewogICAgcmV0dXJuIHMxLmZpcnN0ID4gczIuZmlyc3Q7Cn0KYm9vbCBjbXAyKGRsIHMxLCBkbCBzMikKewogICAgcmV0dXJuIHMxLmlkIDwgczIuaWQ7Cn0KYm9vbCBjbXAzKGRsIHMxLCBkbCBzMikKewogICAgcmV0dXJuIHMxLnogPiBzMi56Owp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhOVUxMKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGNpbiA+PiBuOwogICAgZm9yIChsbCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IG1hbmdbaV0uZmlyc3Q7CiAgICAgICAgbWFuZ1tpXS5zZWNvbmQgPSBpOwogICAgfQogICAgc29ydChtYW5nICsgMSwgbWFuZyArIDEgKyBuLCBjbXAxKTsKICAgIGNpbiA+PiBxOwogICAgZm9yIChsbCBpID0gMTsgaSA8PSBxOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IHF1ZXNbaV0ueCA+PiBxdWVzW2ldLnkgPj4gcXVlc1tpXS56OwogICAgICAgIHF1ZXNbaV0uaWQgPSBpOwogICAgfQogICAgc29ydChxdWVzICsgMSwgcXVlcyArIDEgKyBxLCBjbXAzKTsKICAgIGZvciAobGwgaSA9IDE7IGkgPD0gcTsgaSsrKQogICAgewogICAgICAgIC8vIGNvdXQgPDwgcXVlc1tpXS56OwogICAgICAgIHdoaWxlICh0cCA8PSBuICYmIG1hbmdbdHBdLmZpcnN0ID4gcXVlc1tpXS56KQogICAgICAgIHsKICAgICAgICAgICAgdXBkYXRlKG1hbmdbdHBdLnNlY29uZCk7CiAgICAgICAgICAgIHRwKys7CiAgICAgICAgICAgIC8vIGNvdXQgPDwgdHA7CiAgICAgICAgfQogICAgICAgIHF1ZXNbaV0uYW5zID0gZ2V0KHF1ZXNbaV0ueSkgLSBnZXQocXVlc1tpXS54IC0gMSk7CiAgICB9CiAgICBzb3J0KHF1ZXMgKyAxLCBxdWVzICsgMSArIHEsIGNtcDIpOwogICAgZm9yIChsbCBpID0gMTsgaSA8PSBxOyBpKyspCiAgICAgICAgY291dCA8PCBxdWVzW2ldLmFucyA8PCAnXG4nOwp9Cg==