编程题
区间第k小
### 题目描述
给定一个长度为 $N$ 的数组 $a$,其初值分别为 $a_1,a_2,...,a_N$。
现有 $Q$ 个查询,查询格式形如:`l r k`。
对于每个查询要求你回答 $a_l,a_{l+1},...,a_r$ 区间内第 $k$ 小的元素为多少。
### 输入描述
输入第 $1$ 行包含两个正整数 $N,Q$,分别表示数组 $a$ 的长度和查询的个数。
第 $2$ 行包含 $N$ 个非负整数 $a_1,a_2,...,a_N$,表示数组 $a$ 元素的初值。
第 $3\sim Q-2$ 行每行包含三个正整数 $l,r,k$,表示查询$a_l,a_{l+1},...,a_r$ 区间内的第 $k$ 小值。
$1\leq N,Q \leq 2\times10^5$,$1\leq l \leq r \leq N$,$1\leq k \leq r-l+1$,$-10^9\leq a_i\leq 10^9$。
### 输出描述
输出共 $Q$ 行,每行包含一个整数,表示相应查询的答案。
### 输入输出样例
#### 示例 1
>输入
```txt
5 5
1 2 3 4 5
1 2 1
1 3 2
2 5 3
3 4 1
1 5 5
```
>输出
```txt
1
2
4
3
5
```