Масив цілих чисел [b_1, b_2, \dots, b_m] назвемо хорошим, якщо його можна розділити на дві непорожні групи так, що побітова операція для елементів першої групи дорівнює побітовій операції для елементів другої групи.
Наприклад, масив [1, 7, 3, 11] є хорошим, оскільки його можна розбити на групи і , де 1~OR~3 = 3 і 7~AND~11 = 3.
Задано масив [a_1, a_2, \dots, a_n]. Дайте відповідь на запитів типу: чи є підмасив [a_l, a_{l+1}, \dots, a_r] хорошим?
Перша стрічка містить два цілі числа і q~(1 \le n \le 10^5, 1 \le q \le 10^5) — довжину масиву та кількість запитів.
Друга стрічка містить цілих чисел a_1, a_2, \dots, a_n~(0 \le a_i \le 2^{30}-1) — елементи масиву.
Кожна з наступних стрічок містить два цілі числа l_i і r_i~(1 \le l_i \le r_i \le n) і описує -й запит.
Для кожного запиту виведіть "YES", якщо відповідний підмасив хороший, і "NO" якщо ні.
Приклад 1