const fi='kquery.inp';
fo='kquery.out';
type mang=array[0..30000]of longint;
manglon=array[0..200000]of longint;
mangit=array[0..300000]of longint;
var a,csa:mang;
x,y,z,cstv,res:manglon;
it:mangit;
n,q:longint;
procedure mo;
begin
assign(input,fi);reseT(input);
assign(output,fo);rewrite(output);
end;
procedure dong;
begin
close(input);closE(output);
end;
procedure nhap;
var i:longint;
begin
readln(n);
for i:=1 to n do
begin
read(a[i]);
csa[i]:=i;
end;
readln(q);
for i:=1 to q do
begin
readln(x[i],y[i],z[i]);
cstv[i]:=i;
end;
end;
procedure swap(Var i,j:longint);
var t:longint;
begin
t:=i;
i:=j;
j:=t;
end;
procedure qsa(l,r:longint);
var i,j,m,xx:longint;
begin
i:=l;
j:=r;
m:=random(r-l)+1+l;
xx:=a[m];
repeat
while (a[i]<xx) do inc(i);
while (xx<a[j]) do dec(j);
if i<=j then
begin
swap(a[i],a[j]);
swap(csa[i],csa[j]);
inc(i);
dec(j);
end;
until i>j;
if i<r then qsa(i,r);
if l<j then qsa(l,j);
end;
procedure qstv(l,r:longint);
var i,j,m,xx:longint;
begin
i:=l;
j:=r;
m:=random(r-l)+1+l;
xx:=z[m];
repeat
while (z[i]<xx) do inc(i);
while (xx<z[j]) do dec(j);
if i<=j then
begin
swap(x[i],x[j]);
swap(y[i],y[j]);
swap(z[i],z[j]);
swap(cstv[i],cstv[j]);
inc(i);
dec(j);
end;
until i>j;
if i<r then qstv(i,r);
if l<j then qstv(l,j);
end;
procedure update(u,w,l,r,i:longint);
var mid:longint;
begin
if (r<u) or (u<l) then exit;
if (u=l) and (u=r) then
begin
it[i]:=w;
exit;
end;
mid:=(l+r) div 2;
update(u,w,l,mid,i*2);
update(u,w,mid+1,r,i*2+1);
it[i]:=it[i*2]+it[i*2+1];
end;
function find(u,v,l,r,i:longint):longint;
var mid:longint;
begin
if u>v then exit(0);
if (r<u) or (v<l) then exit(0);
if (u<=l) and (r<=v) then
exit(it[i]);
mid:=(l+r) div 2;
exit(find(u,v,l,mid,i*2)+find(u,v,mid+1,r,i*2+1));
end;
procedure xuli;
var i,j:longint;
begin
qsa(1,n);
qstv(1,q);
for i:=1 to n do update(i,1,1,n,1);
j:=1;
for i:=1 to q do
begin
while (j<=n) and (a[j]<=z[i]) do
begin
update(csa[j],0,1,n,1);
inc(j);
end;
res[cstv[i]]:=(find(1,y[i],1,n,1)-find(1,x[i]-1,1,n,1));
end;
for i:=1 to q do writeln(res[i]);
end;
begin
mo;
nhap;
xuli;
dong;
end.
Y29uc3QgZmk9J2txdWVyeS5pbnAnOwogICAgICBmbz0na3F1ZXJ5Lm91dCc7CnR5cGUgbWFuZz1hcnJheVswLi4zMDAwMF1vZiBsb25naW50OwogICAgbWFuZ2xvbj1hcnJheVswLi4yMDAwMDBdb2YgbG9uZ2ludDsKICAgIG1hbmdpdD1hcnJheVswLi4zMDAwMDBdb2YgbG9uZ2ludDsKdmFyIGEsY3NhOm1hbmc7CiAgICB4LHkseixjc3R2LHJlczptYW5nbG9uOwogICAgaXQ6bWFuZ2l0OwogICAgbixxOmxvbmdpbnQ7CnByb2NlZHVyZSBtbzsKICAgIGJlZ2luCiAgICAgICAgYXNzaWduKGlucHV0LGZpKTtyZXNlVChpbnB1dCk7CiAgICAgICAgYXNzaWduKG91dHB1dCxmbyk7cmV3cml0ZShvdXRwdXQpOwogICAgZW5kOwpwcm9jZWR1cmUgZG9uZzsKICAgIGJlZ2luCiAgICAgICAgY2xvc2UoaW5wdXQpO2Nsb3NFKG91dHB1dCk7CiAgICBlbmQ7CnByb2NlZHVyZSBuaGFwOwogICAgdmFyIGk6bG9uZ2ludDsKICAgICAgICBiZWdpbgogICAgICAgICAgICByZWFkbG4obik7CiAgICAgICAgICAgIGZvciBpOj0xIHRvIG4gZG8KICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgcmVhZChhW2ldKTsKICAgICAgICAgICAgICAgICAgICBjc2FbaV06PWk7CiAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgIHJlYWRsbihxKTsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gcSBkbwogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICByZWFkbG4oeFtpXSx5W2ldLHpbaV0pOwogICAgICAgICAgICAgICAgICAgIGNzdHZbaV06PWk7CiAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgZW5kOwpwcm9jZWR1cmUgc3dhcChWYXIgaSxqOmxvbmdpbnQpOwogICAgdmFyIHQ6bG9uZ2ludDsKICAgICAgICBiZWdpbgogICAgICAgICAgICB0Oj1pOwogICAgICAgICAgICBpOj1qOwogICAgICAgICAgICBqOj10OwogICAgICAgIGVuZDsKcHJvY2VkdXJlIHFzYShsLHI6bG9uZ2ludCk7CiAgICB2YXIgaSxqLG0seHg6bG9uZ2ludDsKICAgICAgICBiZWdpbgogICAgICAgICAgICBpOj1sOwogICAgICAgICAgICBqOj1yOwogICAgICAgICAgICBtOj1yYW5kb20oci1sKSsxK2w7CiAgICAgICAgICAgIHh4Oj1hW21dOwogICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgIHdoaWxlIChhW2ldPHh4KSBkbyBpbmMoaSk7CiAgICAgICAgICAgICAgICB3aGlsZSAoeHg8YVtqXSkgZG8gZGVjKGopOwogICAgICAgICAgICAgICAgaWYgaTw9aiB0aGVuCiAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgc3dhcChhW2ldLGFbal0pOwogICAgICAgICAgICAgICAgICAgICAgICBzd2FwKGNzYVtpXSxjc2Fbal0pOwogICAgICAgICAgICAgICAgICAgICAgICBpbmMoaSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlYyhqKTsKICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgIHVudGlsIGk+ajsKICAgICAgICAgICAgaWYgaTxyIHRoZW4gcXNhKGkscik7CiAgICAgICAgICAgIGlmIGw8aiB0aGVuIHFzYShsLGopOwogICAgICAgIGVuZDsKcHJvY2VkdXJlIHFzdHYobCxyOmxvbmdpbnQpOwogICAgdmFyIGksaixtLHh4OmxvbmdpbnQ7CiAgICAgICAgYmVnaW4KICAgICAgICAgICAgaTo9bDsKICAgICAgICAgICAgajo9cjsKICAgICAgICAgICAgbTo9cmFuZG9tKHItbCkrMStsOwogICAgICAgICAgICB4eDo9elttXTsKICAgICAgICAgICAgcmVwZWF0CiAgICAgICAgICAgICAgICB3aGlsZSAoeltpXTx4eCkgZG8gaW5jKGkpOwogICAgICAgICAgICAgICAgd2hpbGUgKHh4PHpbal0pIGRvIGRlYyhqKTsKICAgICAgICAgICAgICAgIGlmIGk8PWogdGhlbgogICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIHN3YXAoeFtpXSx4W2pdKTsKICAgICAgICAgICAgICAgICAgICAgICAgc3dhcCh5W2ldLHlbal0pOwogICAgICAgICAgICAgICAgICAgICAgICBzd2FwKHpbaV0seltqXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHN3YXAoY3N0dltpXSxjc3R2W2pdKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5jKGkpOwogICAgICAgICAgICAgICAgICAgICAgICBkZWMoaik7CiAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICB1bnRpbCBpPmo7CiAgICAgICAgICAgIGlmIGk8ciB0aGVuIHFzdHYoaSxyKTsKICAgICAgICAgICAgaWYgbDxqIHRoZW4gcXN0dihsLGopOwogICAgICAgIGVuZDsKcHJvY2VkdXJlIHVwZGF0ZSh1LHcsbCxyLGk6bG9uZ2ludCk7CiAgICB2YXIgbWlkOmxvbmdpbnQ7CiAgICAgICAgYmVnaW4KICAgICAgICAgICAgaWYgKHI8dSkgb3IgKHU8bCkgdGhlbiBleGl0OwogICAgICAgICAgICBpZiAodT1sKSBhbmQgKHU9cikgdGhlbgogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICBpdFtpXTo9dzsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICBtaWQ6PShsK3IpIGRpdiAyOwogICAgICAgICAgICB1cGRhdGUodSx3LGwsbWlkLGkqMik7CiAgICAgICAgICAgIHVwZGF0ZSh1LHcsbWlkKzEscixpKjIrMSk7CiAgICAgICAgICAgIGl0W2ldOj1pdFtpKjJdK2l0W2kqMisxXTsKICAgICAgICBlbmQ7CmZ1bmN0aW9uIGZpbmQodSx2LGwscixpOmxvbmdpbnQpOmxvbmdpbnQ7CiAgICB2YXIgbWlkOmxvbmdpbnQ7CiAgICAgICAgYmVnaW4KICAgICAgICAgICAgaWYgdT52IHRoZW4gZXhpdCgwKTsKICAgICAgICAgICAgaWYgKHI8dSkgb3IgKHY8bCkgdGhlbiBleGl0KDApOwogICAgICAgICAgICBpZiAodTw9bCkgYW5kIChyPD12KSB0aGVuCiAgICAgICAgICAgICAgICBleGl0KGl0W2ldKTsKICAgICAgICAgICAgbWlkOj0obCtyKSBkaXYgMjsKICAgICAgICAgICAgZXhpdChmaW5kKHUsdixsLG1pZCxpKjIpK2ZpbmQodSx2LG1pZCsxLHIsaSoyKzEpKTsKICAgICAgICBlbmQ7CnByb2NlZHVyZSB4dWxpOwogICAgdmFyIGksajpsb25naW50OwogICAgICAgIGJlZ2luCiAgICAgICAgICAgIHFzYSgxLG4pOwogICAgICAgICAgICBxc3R2KDEscSk7CiAgICAgICAgICAgIGZvciBpOj0xIHRvIG4gZG8gdXBkYXRlKGksMSwxLG4sMSk7CiAgICAgICAgICAgIGo6PTE7CiAgICAgICAgICAgIGZvciBpOj0xIHRvIHEgZG8KICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGo8PW4pIGFuZCAoYVtqXTw9eltpXSkgZG8KICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZShjc2Fbal0sMCwxLG4sMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmMoaik7CiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICAgICByZXNbY3N0dltpXV06PShmaW5kKDEseVtpXSwxLG4sMSktZmluZCgxLHhbaV0tMSwxLG4sMSkpOwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICBmb3IgaTo9MSB0byBxIGRvIHdyaXRlbG4ocmVzW2ldKTsKICAgICAgICBlbmQ7CmJlZ2luCiAgICBtbzsKICAgIG5oYXA7CiAgICB4dWxpOwogICAgZG9uZzsKZW5kLgoK