小学一年级地理
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

张三和李四正在学习地理知识,他们了解到,大多数连续地形区间 [l, r] 可以根据海拔高度变化规律拆分为以下四种类型:


  • 平地: 海拔高度在区间内保持不变;


  • 坡地: 海拔高度严格单调递增,或者严格单调递减。即对于所有的 i \in [l, r-1],有 a_i < a_{i+1} 或者 a_i > a_{i+1}


  • 山地: 海拔高度先严格递增,达到一个峰值后再严格递减。即存在一个峰值位置 k (l < k < r),使得对于所有的 i \in [l, k-1],有 a_i < a_{i+1},且对于所有的 j \in [k, r-1],有 a_j > a_{j+1}


  • 谷地: 海拔高度先严格递减,达到一个低谷后再严格递增。即存在一个谷底位置 k (l < k < r),使得对于所有的 i \in [l, k-1],有 a_i > a_{i+1},且对于所有的 j \in [k, r-1],有 a_j < a_{j+1}


张三对平坦地形兴致缺缺,但对所有起伏地形的类别独有情钟。李四得知后,决定考考他。他将给张三一张由 n 个地块组成的地图,每个地块有一个整数高度,并向张三询问 q 次,每次询问一个区间 l_ir_i,请张三判断该区间的地形类型。

输入描述:

第一行输入两个整数 n,q \ (2 \leq n \leq 2 \times 10^5,1 \leq q \leq 2 \times 10^5),表示有地块的数量和询问的数量。


第二行输入 n 个整数 a_i \ (-10^9 \leq a_i \leq 10^9),表示第 i 个地块的高度。保证没有两个相邻地块的地块是等高的,即 a_i \neq a_{i+1} \ (1 \leq i < n)


接下来 q 行,每行输入两个整数 l_i,r_i \ (1 \leq l_i < r_i \leq n) ,表示询问区间的左右端点。

输出描述:

对于每组测试数据,输出 q 行,每行一个字符,表示对应查询区间的地形类型。具体地形类型的描述如下:


  • "u":严格递增的坡地;


  • "d":严格递减的坡地;


  • "t":山地;


  • "v":谷地;


  • "?":其他类型。

示例1

输入

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

输出

复制
d
d
示例2

输入

复制
7 4
3 1 4 1 5 9 2
2 4
3 6
4 6
1 7

输出

复制
t
v
u
?