Appelons un tableau d'entiers $[b_1, b_2, \dots, b_m]$ « bon » si nous pouvons partitionner tous ses éléments en 2 groupes non vides, tels que le ET bit à bit des éléments du premier groupe soit égal au OU bit à bit des éléments du second groupe. Par exemple, le tableau $[1, 7, 3, 11]$ est bon, car nous pouvons le partitionner en $[1, 3]$ et $[7, 11]$, où $1 \text{ OR } 3 = 3$ et $7 \text{ AND } 11 = 3$.
Vous disposez d'un tableau $[a_1, a_2, \dots, a_n]$ et vous devez répondre à $q$ requêtes de la forme : le sous-tableau $[a_{l_i}, a_{l_i+1}, \dots, a_{r_i}]$ est-il bon ?
Entrée
La première ligne de l'entrée contient deux entiers $n, q$ ($1 \le n \le 10^5$, $1 \le q \le 10^5$) — la longueur du tableau et le nombre de requêtes associées.
La deuxième ligne de l'entrée contient $n$ entiers $a_1, a_2, \dots, a_n$ ($0 \le a_i \le 2^{30} - 1$) — les éléments du tableau.
La $i$-ième des $q$ lignes suivantes contient 2 entiers $l_i, r_i$ ($1 \le l_i \le r_i \le n$) — décrivant la $i$-ième requête.
Sortie
Pour chaque requête, affichez YES si le sous-tableau correspondant est bon, et NO s'il ne l'est pas.
Exemples
Entrée 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
Sortie 1
NO NO YES YES YES NO YES YES YES NO NO YES NO NO NO