#include <bits/stdc++.h>
using namespace std;
void optimizeIO() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
int main() {
  optimizeIO();
  int n;
  cin >> n;
  vector<int> v(n);
  for (int i = 0; i < n; i++) cin >> v[i];
  sort((v).begin(), (v).end());
  if (n == 3) {
    int x, a = v[0], b = v[1], c = v[2];
    if (((3 * c - b - a) % 5 == 0) && ((2 * c - b - a) % 2 == 0) &&
        ((3 * c - b - a) / 5 == (2 * c - b - a) / 2)) {
      cout << "YES\n";
      x = (2 * c - b - a) / 2;
      cout << x << endl;
      return 0;
    }
    if ((3 * c - 5 * a - b) == (2 * c - 2 * a - b)) {
      cout << "YES\n";
      x = 3 * c - 5 * a - b;
      cout << x << endl;
      return 0;
    }
    if (((5 * a + b + c) % 3 == 0) && ((2 * a + b + c) % 2 == 0) &&
        ((5 * a + b + c) / 3 == (2 * a + b + c) / 2)) {
      cout << "YES\n";
      x = (2 * a + b + c) / 2;
      cout << x << endl;
      return 0;
    }
    cout << "NO\n";
  }
  if (n == 4) {
    if (((v[0] + v[1] + v[2] + v[3]) == (4 * v[3] - 4 * v[0])) &&
        ((v[2] + v[1]) == (2 * v[3] - 2 * v[0]))) {
      cout << "YES\n";
    } else
      cout << "NO\n";
  }
  if (n == 0) {
    cout << "YES" << endl
         << "1\n"
         << "1\n"
         << "3\n"
         << "3\n";
  }
  if (n == 2) {
    if (v[1] > 3 * v[0]) {
      cout << "NO\n";
      return 0;
    }
    cout << "YES\n";
    cout << 4 * v[0] - v[1] << endl << 3 * v[0] << endl;
  }
  if (n == 1) {
    cout << "YES\n";
    cout << 2 * v[0] << endl << 2 * v[0] << endl << 3 * v[0] << endl;
  }
  return 0;
}
