#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (int i = a; i <= b; ++i)
#define drep(i, a, b) for (int i = a; i >= b; --i)
const int N = 30005, S = 200;
int n, a[N], m, d[N], L[S], R[S], num, s, bl[N], l, r, k;
signed main()
{
ios::sync_with_stdio(0);
cin >> n, s = (int)sqrt(n);
int num = n / s + !!(n % s);
rep(i, 1, n) cin >> a[i], bl[i] = (i - 1) / s + 1;
memcpy(d, a, sizeof a);
rep(i, 1, num) L[i] = (i - 1) * s + 1, R[i] = i * s;
R[num] = n;
rep(i, 1, num) sort(d + L[i], d + R[i] + 1);
cin >> m;
while (m--)
{
int cnt = 0;
cin >> l >> r >> k;
rep(i, l, min(r, R[bl[l]])) if (a[i] > k) cnt++;
if (bl[l] ^ bl[r])
rep(i, L[bl[r]], r) if (a[i] > k) cnt++;
rep(i, bl[l] + 1, bl[r] - 1)
cnt += (R[i] + d - upper_bound(d + L[i], d + R[i], k) + 1);
cout << cnt << '\n';
}
return 0;
}