测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A13956. Powerful Ksenia

编程题 普及/提高-

题目描述

Ksenia has an array $a$ consisting of $n$ positive integers $a_1, a_2, \ldots, a_n$ .

In one operation she can do the following:

- choose three distinct indices $i$ , $j$ , $k$ , and then
- change all of $a_i, a_j, a_k$ to $a_i \oplus a_j \oplus a_k$ simultaneously, where $\oplus$ denotes the [bitwise XOR operation](https://en.wikipedia.org/wiki/Bitwise_operation#XOR).

She wants to make all $a_i$ equal in at most $n$ operations, or to determine that it is impossible to do so. She wouldn't ask for your help, but please, help her!

输入格式

The first line contains one integer $n$ ( $3 \leq n \leq 10^5$ ) — the length of $a$ .

The second line contains $n$ integers, $a_1, a_2, \ldots, a_n$ ( $1 \leq a_i \leq 10^9$ ) — elements of $a$ .

输出格式

Print YES or NO in the first line depending on whether it is possible to make all elements equal in at most $n$ operations.

If it is possible, print an integer $m$ ( $0 \leq m \leq n$ ), which denotes the number of operations you do.

In each of the next $m$ lines, print three distinct integers $i, j, k$ , representing one operation.

If there are many such operation sequences possible, print any. Note that you do not have to minimize the number of operations.

输入输出样例

输入 #1
5
4 2 1 7 2
输出 #1
YES
1
1 3 4
输入 #2
4
10 4 49 22
输出 #2
NO

说明/提示

In the first example, the array becomes $[4 \oplus 1 \oplus 7, 2, 4 \oplus 1 \oplus 7, 4 \oplus 1 \oplus 7, 2] = [2, 2, 2, 2, 2]$ .
上一题 去做题 下一题