DZY Loves Sorting

Accepts: 6
Submissions: 8
Time Limit: 12000/6000 MS (Java/Others)
Memory Limit: 262144/262144 K (Java/Others)
问题描述
DZY有一个数列$a[1..n]$,它是$1\sim n$这$n$个正整数的一个排列。

现在他想支持两种操作:

$0\,\, l\,\, r$: 将$a[l..r]$原地升序排序。

$1 \,\,l \,\,r$: 将$a[l..r]$原地降序排序。

操作完后,他会给你指定一个位置$k$,请你告诉他$a[k]$的值。
输入描述
第一行$t$,表示有$t$组数据。

接下来$t$组数据。 每组数据中:

第一行有两个整数$n,m$,其中$m$表示操作数目。

第二行是空格隔开的$n$个正整数$a[1],a[2],\cdots,a[n]$,表示数组的初始值,保证它是$1\sim n$的一个排列。

接下来$m$行,每行有三个整数$opt,l,r$,表示一次操作。

最后一行为整数$k$。

($1\le t \le 50,1\le n,m \le 100000,1\le k \le n, 1\le l\le r\le n, opt \in \{0,1\}$,所有数据的$n$之和不超过$150000$,所有数据的$m$之和不超过$150000$)
输出描述
每组数据输出一行答案,表示操作完后$a[k]$的值。
输入样例
1
6 3
1 6 2 5 3 4
0 1 4
1 3 6
0 2 4
3
输出样例
5
Hint
1 6 2 5 3 4 -> [1 2 5 6] 3 4 -> 1 2 [6 5 4 3] -> 1 [2 5 6] 4 3,最终$a[3]=5$。