#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long binExp(long long x, long long n) {
  long long r = 1;
  while (n > 0) {
    if (n % 2 == 1) r = r * x;
    x = x * x;
    n = n / 2;
  }
  return r;
}
long long modbinExp(long long x, long long n, long long M) {
  long long r = 1;
  while (n > 0) {
    if (n % 2 == 1) r = (r * x) % M;
    x = (x * x) % M;
    n = n / 2;
  }
  return r;
}
vector<int> sam;
bool ck() {
  sort((sam).begin(), (sam).end());
  if (sam[3] == 3 * sam[0] && sam[1] + sam[2] == sam[0] + sam[3]) return true;
  return false;
}
void solve() {
  long long n;
  cin >> n;
  vector<int> v;
  for (long long i = 0, x; i < n; i++) cin >> x, v.push_back(x);
  sort((v).begin(), (v).end());
  if (n == 0) {
    cout << "YES\n";
    cout << 1 << "\n" << 2 << "\n" << 2 << "\n" << 3;
    return;
  }
  if (n == 1) {
    cout << "YES\n";
    cout << 2 * v[0] << "\n" << 2 * v[0] << "\n" << 3 * v[0];
    return;
  }
  if (n == 2 && (3 * v[0] >= v[1])) {
    cout << "YES\n";
    cout << 4 * v[0] - v[1] << "\n" << 3 * v[0];
    return;
  }
  if (n == 3)
    for (long long i = 1; i < 1505; i++) {
      sam = v, sam.push_back(i);
      if (ck()) {
        cout << "YES\n" << i;
        return;
      }
    }
  if (n == 4) {
    sam = v;
    if (ck()) {
      cout << "YES";
      return;
    }
  }
  cout << "NO";
}
int main() {
  ios_base::sync_with_stdio(false);
  long long t;
  t = 1;
  while (t--) {
    solve();
  }
}
