AND = OR
Масив цілих чисел [b[1]
, b[2]
, ..., b[m]
] називається хорошим, якщо його елементи можна розділити на 2 непорожні групи так, що побітове AND елементів першої групи дорівнює побітовому OR елементів другої групи. Наприклад, масив [1, 7, 3, 11] є хорошим, оскільки його можна розділити на [1, 3] і [7, 11], де 1 OR 3 = 3 і 7 AND 11 = 3.
Вам надано масив [a[1]
, a[2]
, ..., a[n]
], і ви повинні відповісти на q запитів, чи є підмасив [a[l]
, a[l+1]
, ..., a[r]
] хорошим.
Вхідні дані
Перший рядок містить два цілих числа n і q (1 ≤ n ≤ 10^5
, 1 ≤ q ≤ 10^5
) — довжину масиву та кількість запитів.
Другий рядок містить n цілих чисел a[1]
, a[2]
, ..., a[n]
(0 ≤ a[i]
≤ 2^30
- 1) — елементи масиву.
i-ий з наступних q рядків містить 2 цілі числа l[i]
і r[i]
(1 ≤ l[i]
≤ r[i]
≤ n) і описує i-ий запит.
Вихідні дані
Для кожного запиту виведіть YES, якщо відповідний підмасив є хорошим, і NO, якщо ні.