#include <bits/stdc++.h>
using namespace std;
long long arr[3162278];
bool check(long long n) {
  if (n <= 0) {
    return false;
  }
  long long x = sqrt(n);
  if (n == (x * x)) {
    return true;
  } else {
    return false;
  }
}
int main() {
  for (long long i = 1; i < 3162278; i++) {
    arr[i] = i * i;
  }
  long long n;
  cin >> n;
  long long b[n / 2];
  for (long long i = 0; i < (n / 2); i++) {
    cin >> b[i];
  }
  long long ans[n];
  long long i = 0;
  long long k = 1;
  long long j = 0;
  long long sum = 0;
  while (k < 3162278 && i < n) {
    if (check(arr[k] - b[j])) {
      long long x;
      x = arr[k] - b[j] - sum;
      if (x <= 0) {
        k++;
      } else {
        ans[i] = arr[k] - b[j] - sum;
        sum += b[j] + ans[i];
        j++;
        i += 2;
        k++;
      }
    } else {
      k++;
    }
  }
  if (k == 3162278) {
    cout << "No";
    return 0;
  }
  for (i = 0; i < n; i++) {
    if (i % 2 != 0) {
      ans[i] = b[i / 2];
    }
  }
  cout << "Yes\n";
  for (i = 0; i < n; i++) {
    cout << ans[i] << " ";
  }
  return 0;
}
