#include <bits/stdc++.h>
using namespace std;
struct two {
  long long int f, s;
};
bool ps(long long int n) {
  if (n < 0) return false;
  if ((long long int)sqrt(n) * (long long int)sqrt(n) == n)
    return true;
  else
    return false;
}
signed main() {
  std::ios::sync_with_stdio(false);
  long long int n;
  cin >> n;
  vector<long long int> v(n, 0);
  long long int sum = 0;
  long long int s = 1;
  for (long long int i = 1; i < n; i += 2) cin >> v[i];
  for (long long int i = 0; i < n; i++)
    if (i % 2 == 0) {
      while (!ps(s * s - v[i + 1]) || (s * s - v[i + 1] - sum) < 1) {
        if ((2 * s + 1 <= v[i + 1])) {
          s++;
          continue;
        } else
          cout << "No", exit(0);
      }
      v[i] = s * s - sum - v[i + 1];
      sum += v[i];
    } else
      sum += v[i];
  cout << "Yes"
       << "\n";
  for (long long int i = 0; i < n; i++) cout << v[i] << " ";
}
