#include <bits/stdc++.h>
#define len(s) (int)s.size()
using namespace std;
using ll = int64_t;
using ld = long double;
using pll = pair<ll, ll>;
using pii = pair<int, int>;
const ll INF = 1e18;
const int MAXN = 2e5 + 11;
int n, q, a[MAXN], b[MAXN];
vector<int> st[MAXN * 2];
void build()
{
for (int i = 0; i < n; ++i)
{
st[n + i].push_back(a[i]);
}
for (int i = n - 1; i >= 1; --i)
{
merge(st[i * 2].begin(), st[i * 2].end(),
st[i * 2 + 1].begin(), st[i * 2 + 1].end(),
back_inserter(st[i]));
}
}
int query(int l, int r, int k)
{
l += n, r += n;
int res = 0;
while (l < r)
{
if (l & 1)
{
res += st[l].size() - (upper_bound(st[l].begin(), st[l].end(), k) - st[l].begin());
++l;
}
if (r & 1)
{
--r;
res += st[r].size() - (upper_bound(st[r].begin(), st[r].end(), k) - st[r].begin());
}
l >>= 1;
r >>= 1;
}
return res;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> a[i];
}
build();
cin >> q;
while (q--)
{
int l, r, k;
cin >> l >> r >> k;
cout << query(l - 1, r, k) << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxlbihzKSAoaW50KXMuc2l6ZSgpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBsbCA9IGludDY0X3Q7CnVzaW5nIGxkID0gbG9uZyBkb3VibGU7CnVzaW5nIHBsbCA9IHBhaXI8bGwsIGxsPjsKdXNpbmcgcGlpID0gcGFpcjxpbnQsIGludD47Cgpjb25zdCBsbCBJTkYgPSAxZTE4OwoKY29uc3QgaW50IE1BWE4gPSAyZTUgKyAxMTsKaW50IG4sIHEsIGFbTUFYTl0sIGJbTUFYTl07CnZlY3RvcjxpbnQ+IHN0W01BWE4gKiAyXTsKCnZvaWQgYnVpbGQoKQp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKICAgIHsKICAgICAgICBzdFtuICsgaV0ucHVzaF9iYWNrKGFbaV0pOwogICAgfQoKICAgIGZvciAoaW50IGkgPSBuIC0gMTsgaSA+PSAxOyAtLWkpCiAgICB7CiAgICAgICAgbWVyZ2Uoc3RbaSAqIDJdLmJlZ2luKCksIHN0W2kgKiAyXS5lbmQoKSwKICAgICAgICAgICAgICBzdFtpICogMiArIDFdLmJlZ2luKCksIHN0W2kgKiAyICsgMV0uZW5kKCksCiAgICAgICAgICAgICAgYmFja19pbnNlcnRlcihzdFtpXSkpOwogICAgfQp9CgppbnQgcXVlcnkoaW50IGwsIGludCByLCBpbnQgaykKewogICAgbCArPSBuLCByICs9IG47CgogICAgaW50IHJlcyA9IDA7CgogICAgd2hpbGUgKGwgPCByKQogICAgewogICAgICAgIGlmIChsICYgMSkKICAgICAgICB7CiAgICAgICAgICAgIHJlcyArPSBzdFtsXS5zaXplKCkgLSAodXBwZXJfYm91bmQoc3RbbF0uYmVnaW4oKSwgc3RbbF0uZW5kKCksIGspIC0gc3RbbF0uYmVnaW4oKSk7CiAgICAgICAgICAgICsrbDsKICAgICAgICB9CgogICAgICAgIGlmIChyICYgMSkKICAgICAgICB7CiAgICAgICAgICAgIC0tcjsKICAgICAgICAgICAgcmVzICs9IHN0W3JdLnNpemUoKSAtICh1cHBlcl9ib3VuZChzdFtyXS5iZWdpbigpLCBzdFtyXS5lbmQoKSwgaykgLSBzdFtyXS5iZWdpbigpKTsKICAgICAgICB9CgogICAgICAgIGwgPj49IDE7CiAgICAgICAgciA+Pj0gMTsKICAgIH0KCiAgICByZXR1cm4gcmVzOwp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwogICAgLy8gZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICAvLyBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwogICAgY2luID4+IG47CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CgogICAgYnVpbGQoKTsKCWNpbiA+PiBxOwogICAgd2hpbGUgKHEtLSkKICAgIHsKICAgICAgICBpbnQgbCwgciwgazsKICAgICAgICBjaW4gPj4gbCA+PiByID4+IGs7CiAgICAgICAgY291dCA8PCBxdWVyeShsIC0gMSwgciwgaykgPDwgIlxuIjsKICAgIH0KfQ==