100 atcoder#ABC248D. [ABC248D] Range Count Query

[ABC248D] Range Count Query

Score : 400400 points

Problem Statement

You are given a sequence of length NN: A=(A1,,AN)A=(A_1,\ldots,A_N).

Answer QQ queries given in the following format.

  • You are given integers LL, RR, and XX. Find the number of elements among AL,,ARA_L, \ldots, A_R whose values are equal to XX.

Constraints

  • 1N2×1051 \leq N \leq 2\times 10^5
  • 1AiN1 \leq A_i \leq N
  • 1Q2×1051 \leq Q \leq 2\times 10^5
  • 1LRN,1XN1\le L \leq R \leq N, 1 \leq X \leq N, for each query.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN

A1A_1 A2A_2 \ldots ANA_N

QQ

Query1\mathrm{Query}_1

Query2\mathrm{Query}_2

\vdots

QueryQ\mathrm{Query}_Q

Here, Queryi\mathrm{Query}_i represents the ii-th query.

Each query is in the following format:

LL RR XX

Output

Print QQ lines, the ii-th of which contains the answer to the ii-th query.

5
3 1 4 1 5
4
1 5 1
2 4 3
1 5 2
1 3 3
2
0
0
1

In the first query, two of (A1,A2,A3,A4,A5)=(3,1,4,1,5)(A_1,A_2,A_3,A_4,A_5) =(3,1,4,1,5) have values equal to 11.

In the second query, zero of (A2,A3,A4)=(1,4,1)(A_2,A_3,A_4) =(1,4,1) have values equal to 33.