#include <bits/stdc++.h>
using namespace std;
int power(int a, int b, int m, int ans = 1) {
  for (; b; b >>= 1, a = 1LL * a * a % m)
    if (b & 1) ans = 1LL * ans * a % m;
  return ans;
}
const int NN = 100011;
const long long INF = 0x3f3f3f3f3f3f3f3fLL;
int n;
long long first[NN];
int solve() {
  cin >> n;
  long long a = 0;
  long long k, p, A, B;
  for (int i = 1; i <= n / 2; i++) {
    int c;
    scanf("%d", &c);
    long long mn = INF;
    first[i * 2] = c;
    for (int j = 1; j * j <= c; j++)
      if (c % j == 0) {
        A = j;
        B = c / j;
        if (A + B & 1) continue;
        k = B - A >> 1;
        p = B + A >> 1;
        if (k > a and p > k) {
          if (mn > p) mn = p;
        }
      }
    if (mn == INF) return puts("No");
    first[i * 2 - 1] = mn * mn - a * a - c;
    a = mn;
  }
  for (int i = 1; i <= n; i++) {
    if (first[i] > 10000000000000LL) return puts("No");
  }
  puts("Yes");
  for (int i = 1; i <= n; i++) printf("%I64d ", first[i]);
}
int main() {
  solve();
  return 0;
}
