B. Неподстрочные подпоследовательности
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Hr0d1y есть $$$q$$$ запросов на бинарной строке $$$s$$$ длины $$$n$$$. Бинарная строка это строка, содержащая только символы «0» и «1».

Запрос задается парой целых чисел $$$l_i$$$, $$$r_i$$$ $$$(1 \leq l_i \lt r_i \leq n)$$$.

Для каждого запроса ему необходимо определить, есть ли хорошая подпоследовательность в строке $$$s$$$, которая равна подстроке $$$s[l_i\ldots r_i]$$$.

  • Подстрока $$$s[i\ldots j]$$$ строки $$$s$$$ — это строка из символов $$$s_i s_{i+1} \ldots s_j$$$.
  • Строка $$$a$$$ называются подпоследовательностью строки $$$b$$$, если $$$a$$$ может быть получена из $$$b$$$ удалением некоторых символов, не меняя порядка оставшихся.
  • Подпоследовательность называется хорошей, если она не последовательная и имеет длину $$$\ge 2$$$. Например, если $$$s$$$ равна «1100110», то подпоследовательности $$$s_1s_2s_4$$$ («1100110») и $$$s_1s_5s_7$$$ («1100110») являются хорошими, а $$$s_1s_2s_3$$$ («1100110») не является.

Можете ли вы помочь Hr0d1y ответить на каждый запрос?

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

В первой строке записано одно целое число $$$t$$$ ($$$1\leq t \leq 100$$$) — количество наборов входных данных.

Далее идут описания наборов входных данных.

В первой строке записаны два целых числа $$$n$$$ ($$$2 \leq n \leq 100$$$) и $$$q$$$ ($$$1\leq q \leq 100$$$) — длина строки и число запросов.

Во второй строке записана строка $$$s$$$.

В $$$i$$$-й из следующих $$$q$$$ строк записаны два целых числа $$$l_i$$$ и $$$r_i$$$ ($$$1 \leq l_i \lt r_i \leq n$$$).

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

Для каждого набора входных данных выведите $$$q$$$ строк. В $$$i$$$-й строке ответа на каждый набор входных данных должно быть записано «YES», если есть хорошая подпоследовательность, равная подстроке $$$s[l_i...r_i]$$$, и «NO» иначе.

Вы можете выводить каждый символ в любом регистре (верхнем или нижнем).

Пример
Входные данные
2
6 3
001000
2 4
1 3
3 5
4 2
1111
1 4
2 3
Выходные данные
YES
NO
YES
NO
YES
Примечание

В первом наборе входных данных:

  • $$$s[2\ldots 4] = $$$ «010». В этом случае $$$s_1s_3s_5$$$ («001000») и $$$s_2s_3s_6$$$ («001000») являются подходящими хорошими подпоследовательностями, а $$$s_2s_3s_4$$$ («001000») — нет.
  • $$$s[1\ldots 3] = $$$ «001». Нет подходящей хорошей подпоследовательности.
  • $$$s[3\ldots 5] = $$$ «100». В этом случае $$$s_3s_5s_6$$$ («001000») — это подходящая хорошая подпоследовательность.