У Ксении есть массив \(a\), состоящий из \(n\) положительных целых чисел \(a_1, a_2, \ldots, a_n\).
За одну операцию она может сделать следующее:
- выбрать три различных индекса \(i\), \(j\), \(k\), а затем
- одновременно изменить каждое из \(a_i, a_j, a_k\) на \(a_i \oplus a_j \oplus a_k\), где \(\oplus\) обозначает операцию побитового исключающего ИЛИ.
Ксения хочет сделать все \(a_i\) равными за не более чем \(n\) операций или определить, что это невозможно. Она не стала бы просить вас о помощи, но, пожалуйста, помогите ей!
Выходные данные
В первой строке выведите YES или NO в зависимости от того, можно ли сделать все элементы равными за не более чем \(n\) операций.
Если это возможно, выведите целое число \(m\) (\(0 \leq m \leq n\)), которое обозначает количество выполняемых операций.
В каждой из следующих \(m\) строк выведите три различных целых числа \(i, j, k\), представляющих собой одну операцию.
Если таких последовательностей операций много, то выведите любую. Обратите внимание, что вы не должны минимизировать количество операций.
Примечание
В первом примере массив становится равным \([4 \oplus 1 \oplus 7, 2, 4 \oplus 1 \oplus 7, 4 \oplus 1 \oplus 7, 2] = [2, 2, 2, 2, 2]\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 4 2 1 7 2
|
YES
1
1 3 4
|
|
2
|
4 10 4 49 22
|
NO
|