Galahad
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述


魔女要测试骑士的能力,要求他维护一个长度为 的序列,每次要询问一个区间的和。

但是魔女觉得太简单了,骑士能轻松记住 个数作为前缀和。

于是,魔女要求他回答一个区间的和,但如果某一个数在这个区间出现了多次,这个数只能被计算一次。


输入描述:

第一行两个整数 ,表示数列长度和询问个数。

第二行 个整数,第i个整数为,表示序列中的第i项。

接下来 行,每行两个整数  ,表示询问的区间。

输出描述:

输出 行,每行一个整数表示这次询问的答案。
示例1

输入

复制
5 3
1 3 3 2 1
1 5
1 3
2 4

输出

复制
6
4
5