#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, oo = 1e9 + 7;
int n, a[N], b[N];
long long x[N];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = (1); i <= (n / 2); ++i) {
    int j = 2 * i;
    cin >> a[j];
    b[j] = oo;
    bool flag = 0;
    for (int u = (1); u <= (sqrt(a[j])); ++u) {
      if (a[j] % u) continue;
      int v = a[j] / u;
      if ((v - u) % 2) continue;
      int pre = (v - u) / 2, cur = (v + u) / 2;
      if (pre <= b[j - 2]) continue;
      flag = 1;
      if (cur < b[j]) {
        b[j] = cur;
        b[j - 1] = pre;
      }
    }
    if (!flag) {
      cout << "No\n";
      exit(0);
    }
  }
  for (int j = (1); j <= (n); ++j) {
    x[j] = (long long)b[j] * b[j] - (long long)b[j - 1] * b[j - 1];
    if (x[j] > 1e13 || x[j] < 1) {
      cout << "No";
      exit(0);
    }
  }
  cout << "Yes\n";
  for (int i = (1); i <= (n); ++i) cout << x[i] << ' ';
}
