#include <bits/stdc++.h>
using namespace std;
inline void read(long long &num) {
  num = 0;
  long long f = 1;
  char c = getchar();
  while (!isdigit(c)) {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (isdigit(c)) {
    num = num * 10 + c - 48;
    c = getchar();
  }
  num *= f;
}
const long long maxn = 1e5 + 7;
long long n, a[maxn], al, t;
signed main() {
  read(n);
  al = 0;
  for (long long i = 1; i <= n; ++i) read(a[i]), al ^= a[i];
  if (!(n & 1) && al) {
    puts("NO");
    return 0;
  }
  if (!(n & 1)) --n;
  puts("YES");
  cout << n - 1 << endl;
  for (long long i = 1; i <= n - 2; i += 2)
    cout << i << " " << i + 1 << " " << i + 2 << endl;
  for (long long i = 1; i <= n - 2; i += 2)
    cout << i << " " << i + 1 << " " << n << endl;
  return 0;
}
