编程题
### 问题描述
小明是一名资深的旅行家,他喜欢在旅途中思考数学问题。这一次,他来到了一座神秘的古城,发现城中有一道神奇的门,门后藏有一道特殊的数学难题。
门口的守卫告诉小明,门后面是一个长为 $n$ 的序列 $a$,以及一个常数 $k$。门后有 $m$ 个询问,每个询问都给出一个区间 $[l,r]$,要求将这个区间内的数分成尽可能少的连续段,且每个连续段中所有数的和都不大于 $k$。小明被这个问题吸引,决定尝试解决这个难题。
但是,小明发现这个问题非常困难,他需要你的帮助来解决它。如果某个询问无解,输出 `NO ANSWER`。
### 输入格式
第一行包含三个整数 $n$($1\leq n \leq 10^4$),$m$($1\leq m \leq 10^5$)和 $k$($1 \leq k \leq 10^9$),分别表示序列长度、询问次数和限制值。
第二行包含 $n$ 个整数,表示序列 $a$ 的每个元素 $(1 \leq a_i \leq 10^9)$。
接下来 $m$ 行,每行包含两个整数 $l$ 和 $r$,表示询问区间 $[l,r]$ $(1 \leq l \leq r \leq n)$。
### 输出格式
输出 $m$ 行,每行一个整数,表示对应询问区间内所有数最少可以分成的连续段数。如果某个询问无解,输出 `NO ANSWER`。
### 样例输入
```txt
8 3 5
1 2 3 2 1 4 5 2
1 4
2 6
5 8
```
### 样例输出
```txt
2
3
3
```