Давайте назовем массив \(x_1,\dots,x_m\) интересным, если возможно разделить массив на \(k>1\) частей так, чтобы побитовое исключающее ИЛИ(XOR) значений из каждой части было равно.
Формально, вам нужно разделить массив \(x\) на \(k\) последовательных отрезков, причем каждый элемент \(x\) должен принадлежать ровно \(1\) отрезку. Пусть XOR элементов из каждой части равны \(y_1,\dots,y_k\), соответственно. Тогда должно выполняться условие \(y_1=y_2=\dots=y_k\).
Например, если \(x = [1, 1, 2, 3, 0]\), вы можете разделить его следующим образом: \([\color{blue}1], [\color{green}1], [\color{red}2, \color{red}3, \color{red}0]\). Действительно, \(\color{blue}1=\color{green}1=\color{red}2 \oplus \color{red}3\oplus \color{red}0\).
Вам дан массив \(a_1,\dots,a_n\). Ваша задача — ответить на \(q\) запросов:
- Для фиксированных \(l\), \(r\) определить, является ли подмассив \(a_l,a_{l+1},\dots,a_r\) интересным.
Выходные данные
Для каждого запроса выведите «YES», если подмассив интересный, и «NO» в противном случае.
Вы можете выводить «Yes» и «No» в любом регистре (например, строки «yES», «yes» и «Yes» будут распознаны как правильные ответы).
Примечание
Объяснение для первого примера:
Первый запрос описан в условии.
Во втором запросе мы должны разделить \([1,2,3]\). Возможное разделение — \([1,2],[3]\), так как \(1\oplus 2=3\).
Можно показать, что для запросов \(3,4,5\) подмассивы не интересны.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 5 5 1 1 2 3 0 1 5 2 4 3 5 1 3 3 4 5 5 1 2 3 4 5 1 5 2 4 3 5 1 3 2 3 7 4 12 9 10 9 10 11 9 1 5 1 7 2 6 2 7 11 4 0 0 1 0 0 1 0 1 1 0 1 1 2 2 5 6 9 7 11
|
YES
YES
NO
NO
NO
YES
NO
NO
YES
NO
NO
NO
NO
NO
YES
NO
YES
YES
|