#CF220B. [模板]Little Elephant and Array

[模板]Little Elephant and Array

markdown

B. 小象与数组

时间限制:每个测试点 44
内存限制:每个测试点 256256 MB
输入:标准输入
输出:标准输出

小象喜欢玩数组。他有一个由 nn 个正整数组成的数组 aa,下标从 11nn。记下标为 ii 的数为 aia_i

此外,小象有 mm 个关于该数组的查询,每个查询由两个整数 ljl_jrjr_j1ljrjn1 \le l_j \le r_j \le n)描述。对于每个查询 lj,rjl_j, r_j,小象需要统计:有多少个数 xx 满足在 alj,alj+1,,arja_{l_j}, a_{l_j+1}, \dots, a_{r_j} 中,xx 恰好出现了 xx 次。

请帮助小象计算所有查询的答案。

输入

第一行包含两个空格分隔的整数 nnmm1n,m1051 \le n, m \le 10^5)—— 数组 aa 的大小和查询的数量。
第二行包含 nn 个空格分隔的正整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)。
接下来 mm 行每行描述一个查询,第 jj 行包含两个空格分隔的整数 ljl_jrjr_j1ljrjn1 \le l_j \le r_j \le n)。

输出

输出 mm 行,每行一个整数 —— 对应查询的答案。第 jj 行应输出第 jj 个查询的答案。

示例

输入

7 2
3 1 2 2 3 3 7
1 7
3 4

输出

3
1