#include <bits/stdc++.h>
using namespace std;
int n;
map<long long int, int> dp[62];
inline int dfs(int a, long long int b) {
  if (a == 0) {
    return 0;
  }
  if (dp[a].count(b)) {
    return dp[a][b];
  }
  vector<long long int> v;
  for (int i = 1; i <= a; i++) {
    if ((b >> i) & 1) {
    } else {
      v.push_back(dfs(a - i, b ^ (1LL << i)));
    }
  }
  sort(v.begin(), v.end());
  int mint = 0;
  for (int i = 0; i < v.size(); i++) {
    if (mint == v[i]) {
      mint++;
    }
  }
  dp[a][b] = mint;
  return mint;
}
int main() {
  cin >> n;
  long long int ans = 0;
  for (int i = 0; i < n; i++) {
    int s;
    scanf("%d", &s);
    ans ^= dfs(s, 0);
  }
  if (ans) {
    puts("NO");
  } else {
    puts("YES");
  }
  return 0;
}
