#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 2;
const int MOD = 1e9 + 7;
const int bm = 1;
int n, m;
long long d[N];
void sinh() {
  freopen(".inp", "w", stdout);
  srand(time(0));
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n;
  for (int i = 1; i <= n / 2; i++) {
    int first, kt = 1;
    cin >> first, d[i * 2] = MOD;
    for (int j = sqrt(first); j > 0; j--)
      if (first % j == 0 && j % 2 == (first / j) % 2) {
        int u = (j + first / j) / 2, v = (first / j - j) / 2;
        if (u > v) swap(u, v);
        if (d[i * 2 - 2] < u && d[i * 2] > v)
          d[i * 2 - 1] = u, d[i * 2] = v, kt = 0;
      }
    if (kt) cout << "No", exit(0);
  }
  cout << "Yes" << endl;
  for (int i = 1; i <= n; i++) cout << d[i] * d[i] - d[i - 1] * d[i - 1] << " ";
}
