哲学家的沉思
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

非正常人类研究中心的哲学家牛拉底鲁曾有一句名言:“人一次也不能踏进同一条河流”,除此之外他还喜欢将连续的一段划分为若干片段。你作为中心的一名员工,为了照顾牛拉底鲁的生活起居,不得不陪他玩这样的一个游戏。

这个游戏的过程如下:牛拉底鲁会给你个数字,第个数字为。接下来他会进行次询问,每次询问将给出两个数字,要你把区间划分为若干个片段。要求对于任意一个片段为这个片段中的最大值。

牛拉底鲁想要最小化片段的数量,因此对于每次询问,请你回答出的最小值。

输入描述:

第一行两个正整数,,其中,

第二行个正整数

接下来行,每行两个正整数,其中

输出描述:

对每次询问输出的最小值。

示例1

输入

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

输出

复制
2
2

说明

对于询问1,可以把[3,5]划分为[3,4],[5,5]。

对于询问2,可以把[1,2]划分为[1,1],[2,2]。

示例2

输入

复制
3 2
2 2 3
1 2
1 3

输出

复制
1
2

说明

对于询问1,可以把[1,2]划分为[1,2]。

对于询问2,可以把[1,3]划分为[1,2],[3,3]。