#include <bits/stdc++.h>
using namespace std;
bool correct(int a, int b, int c, int d) {
  int arr[4];
  arr[0] = a;
  arr[1] = b;
  arr[2] = c;
  arr[3] = d;
  sort(arr, arr + 4);
  return arr[3] <= 1000000 && a + b + c + d == 2 * b + 2 * c &&
         2 * b + 2 * c == 4 * d - 4 * a;
}
const int INF = 10000000;
int main() {
  int in[4];
  int N;
  cin >> N;
  for (int i = 0; i < N; ++i) cin >> in[i];
  sort(in, in + N);
  const int M = in[N - 1];
  if (N == 0) {
    cout << "YES\n1\n1\n3\n3\n";
    return 0;
  }
  if (N == 4) {
    if (correct(in[0], in[1], in[2], in[3]))
      cout << "YES\n";
    else
      cout << "NO\n";
    return 0;
  }
  for (int ta = 1; ta < in[0]; ++ta) {
    if (3 * ta < M) continue;
    if (3 * ta == M) {
      if (N == 1 && correct(ta, ta + 1, 3 * ta - 1, 3 * ta)) {
        cout << "YES\n" << ta << "\n" << ta + 1 << "\n" << 3 * ta - 1 << "\n";
        return 0;
      }
      if (N == 2 && correct(ta, in[0], 4 * ta - in[0], in[1])) {
        cout << "YES\n" << ta << "\n" << 4 * ta - in[0] << "\n";
        return 0;
      }
      if (N == 3 && correct(ta, in[0], in[1], in[2])) {
        cout << "YES\n" << ta << "\n";
        return 0;
      }
    } else {
      if (N == 3) continue;
      if (N == 2 && correct(ta, in[0], in[1], 3 * ta)) {
        cout << "YES\n" << ta << "\n" << 3 * ta << "\n";
        return 0;
      }
      if (N == 1) {
        cout << "YES\n"
             << ta << "\n"
             << 4 * ta - in[0] << "\n"
             << 3 * ta << "\n";
        return 0;
      }
    }
  }
  if (3 * in[0] == M) {
    if (N == 2) {
      cout << "YES\n" << in[0] + 1 << "\n" << 3 * in[0] - 1 << "\n";
      return 0;
    }
    if (N == 3) {
      cout << "YES\n" << in[2] - (in[1] - in[0]) << "\n";
      return 0;
    }
  } else if (3 * in[0] > M) {
    if (N == 3) {
      if (correct(in[0], in[1], in[2], 3 * in[0])) {
        cout << "YES\n" << 3 * in[0] << "\n";
        return 0;
      }
    }
    if (N == 2) {
      if (correct(in[0], in[1], 4 * in[0] - in[1], 3 * in[0])) {
        cout << "YES\n" << 3 * in[0] << "\n" << 4 * in[0] - in[1] << "\n";
        return 0;
      }
    }
    if (N == 1) {
      if (correct(in[0], in[0] + 1, 3 * in[0] - 1, 3 * in[0])) {
        cout << "YES\n"
             << in[0] + 1 << "\n"
             << 3 * in[0] - 1 << "\n"
             << 3 * in[0] << "\n";
        return 0;
      }
    }
  }
  cout << "NO\n";
  return 0;
}
