#include <bits/stdc++.h>
using namespace std;
long long getVal(long long sum, long long val) {
  long long x = sqrt(sum);
  long long sq;
  while (true) {
    sq = sqrt(x * x + val);
    if (sq * sq == x * x + val && x * x - sum != 0) break;
    x++;
    if (x * x > 10000000000000) return -1;
  }
  return (x * x - sum);
}
int main() {
  std::ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, a;
  cin >> n;
  vector<int> ar;
  n /= 2;
  for (int i = 0; i < n; i++) {
    cin >> a;
    ar.push_back(a);
  }
  vector<long long> ar2;
  long long sum{}, x;
  for (auto i : ar) {
    x = getVal(sum, i);
    if (x == -1) {
      cout << "No\n";
      return 0;
    }
    sum += x + i;
    ar2.push_back(x);
  }
  cout << "Yes\n";
  for (int i = 0; i < n; i++) {
    cout << ar2.at(i) << " " << ar.at(i) << " ";
  }
  cout << endl;
  return 0;
}
