Llamamos a un arreglo de enteros $[b_1, b_2, \dots, b_m]$ bueno, si podemos particionar todos sus elementos en 2 grupos no vacíos, tales que el AND bit a bit de los elementos en el primer grupo sea igual al OR bit a bit de los elementos en el segundo grupo. Por ejemplo, el arreglo $[1, 7, 3, 11]$ es bueno, ya que podemos particionarlo en $[1, 3]$ y $[7, 11]$, donde $1 \text{ OR } 3 = 3$ y $7 \text{ AND } 11 = 3$.
Se le da un arreglo $[a_1, a_2, \dots, a_n]$ y debe responder $q$ consultas de la forma: ¿es el subarreglo $[a_{l_i}, a_{l_i+1}, \dots, a_{r_i}]$ bueno?
Entrada
La primera línea de la entrada contiene dos enteros $n, q$ ($1 \le n \le 10^5, 1 \le q \le 10^5$) — la longitud del arreglo y el número de consultas asociadas.
La segunda línea de la entrada contiene $n$ enteros $a_1, a_2, \dots, a_n$ ($0 \le a_i \le 2^{30} - 1$) — los elementos del arreglo.
La $i$-ésima de las siguientes $q$ líneas contiene 2 enteros $l_i, r_i$ ($1 \le l_i \le r_i \le n$) — que describen la $i$-ésima consulta.
Salida
Para cada consulta, imprima YES, si el subarreglo correspondiente es bueno, y NO, si no lo es.
Ejemplos
Entrada 1
5 15 0 1 1 3 2 1 1 1 2 1 3 1 4 1 5 2 2 2 3 2 4 2 5 3 3 3 4 3 5 4 4 4 5 5 5
Salida 1
NO NO YES YES YES NO YES YES YES NO NO YES NO NO NO