编程题
### 问题描述
卓儿的钱包里有几枚硬币。她想知道,在给定范围内,她能够组成多少不同的面值。
### 输入格式
第一行包含两个整数 $N$ 和 $Q$,分别表示硬币的数量和查询的次数。
接下来一行包含 $N$ 个整数 $A_i$,表示卓儿的钱包中硬币的面值。
随后是 $Q$ 行,每行包含两个整数 $B$ 和 $E$,表示卓儿想要知道答案的范围的起始和结束。
### 输出格式
对于每个查询,输出一行一个整数,表示卓儿能够在给定范围内生成的不同面值的数量。
### 样例输入
```
10 10
1 2 2 3 5 30 31 90 100 100
1 1
1 5
3 6
2 9
30 100
1 10000
30 32
5 12
9 29
190 220
```
### 样例输出
```
1
5
4
8
40
231
3
8
5
25
```
### 评测数据规模
$1 \leq N \leq 10^4$,$1 \leq Q \leq 10^5$,$1 \leq A_i \leq 10^5$,$1 \leq B \leq E \leq 10^5$。