#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios::sync_with_stdio(0);
  long long i, j, k, n;
  cin >> n;
  vector<long long> a(n);
  for (i = 1; i < n; i += 2) cin >> a[i];
  const long long N = 2e5;
  vector<vector<pair<long long, long long>>> dis(N + 10);
  for (i = 1; i <= N; ++i) {
    for (j = i + 1; j <= N; ++j) {
      if (j * j - i * i > N) break;
      dis[j * j - i * i].push_back({i * i, j * j});
    }
  }
  for (i = 1; i <= N; ++i) sort(dis[i].begin(), dis[i].end());
  long long pre = 0;
  for (i = 0; i < n; i += 2) {
    pair<long long, long long> x = {-1, -1};
    for (auto y : dis[a[i + 1]]) {
      if (y.first > pre) {
        x = y;
        break;
      }
    }
    if (x.first == -1) return cout << "No\n", 0;
    a[i] = x.first - pre;
    pre += a[i] + a[i + 1];
  }
  cout << "Yes\n";
  for (auto x : a) cout << x << " ";
  return 0;
}
