#include <bits/stdc++.h>
using namespace std;
long long n, val = 1, x[100100], s, ans, squ1, squ2;
bool ch(long long s, long long b, long long val) {
  long long a = val * val - s;
  ans = a;
  if (a <= 0) return 0;
  long long sq = sqrt(a + s), sq2 = sqrt(a + s + b);
  squ1 = sq, squ2 = sq2;
  return sq * sq == a + s && sq2 * sq2 == a + s + b;
}
int main() {
  cin >> n;
  int cnt = 10;
  for (int i = 0; i < n; i += 2) {
    scanf("%lld", x + i + 1);
    while (!ch(s, x[i + 1], val)) {
      if (ans > 0 && squ1 * squ1 == ans + s) {
        if ((val + 1) * (val + 1) - val * val > x[i + 1])
          return cout << "No", 0;
      }
      val++;
    }
    x[i] = ans;
    s += ans + x[i + 1];
  }
  cout << "Yes\n";
  for (int i = 0; i < n; ++i) printf("%lld ", x[i]);
}
