E. Замена
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
1024 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Вам дан массив целых чисел $$$a_1,\ldots, a_n$$$, где $$$1\le a_i \le n$$$ для всех $$$i$$$.

Так же есть функция «замены» $$$f$$$, которая принимает в качестве аргументов пару целых чисел $$$(l, r)$$$, где $$$l \le r$$$, и возвращает пару $$$$$$f\big( (l, r) \big)=\left(\min\{a_l,a_{l+1},\ldots,a_r\},\, \max\{a_l,a_{l+1},\ldots,a_r\}\right).$$$$$$

Рассмотрим повторные вызовы этой функции. То есть взяв начальную пару $$$(l, r)$$$ мы получаем $$$f\big((l, r)\big)$$$, затем $$$f\big(f\big((l, r)\big)\big)$$$, затем $$$f\big(f\big(f\big((l, r)\big)\big)\big)$$$ и так далее.

Вам нужно ответить на $$$q$$$ запросов. В $$$i$$$-м запросе вам даны два целых числа $$$l_i$$$ и $$$r_i$$$ ($$$1\le l_i\le r_i\le n$$$). Вы должны сказать, какое минимальное число раз вы должны применить функцию «замены» к паре $$$(l_i,r_i)$$$, чтобы получить $$$(1, n)$$$, или определить, что это невозможно.

Входные данные

Первая строка содержит два положительных целых числа $$$n$$$, $$$q$$$ ($$$1\le n,q\le 10^5$$$) — длина последовательности $$$a$$$ и количество запросов.

Вторая строка содержит $$$n$$$ положительных целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$1\le a_i\le n$$$) — последовательность $$$a$$$.

Каждая из следующих $$$q$$$ строк содержит два целых числа $$$l_i$$$, $$$r_i$$$ ($$$1\le l_i\le r_i\le n$$$) — запросы.

Выходные данные

Для каждого запроса выведите требуемое количество применений функции или $$$-1$$$, если достичь требуемого результата невозможно.

Примеры
Входные данные
5 6
2 5 4 1 3
4 4
1 5
1 4
3 5
4 5
2 3
Выходные данные
-1
0
1
2
3
4
Входные данные
6 3
2 3 4 6 1 2
5 6
2 5
2 3
Выходные данные
5
1
3
Входные данные
5 3
3 2 2 4 1
2 5
1 3
1 5
Выходные данные
-1
-1
0
Примечание

В первом примере $$$n=5$$$ и $$$a=[2,5,4,1,3]$$$.

В первом запросе: $$$(4,4)\to(1,1)\to(2,2)\to(5,5)\to(3,3)\to(4,4)\to\ldots$$$, поэтому невозможно получить $$$(1,5)$$$.

Во втором запросе у вас уже есть $$$(1,5)$$$.

В третьем запросе: $$$(1,4)\to(1,5)$$$.

В четвертом запросе: $$$(3,5)\to(1,4)\to(1,5)$$$.

В пятом запросе: $$$(4,5)\to(1,3)\to(2,5)\to(1,5)$$$.

В шестом запросе: $$$(2,3)\to(4,5)\to(1,3)\to(2,5)\to(1,5)$$$.