#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  int values[4];
  int sum = 0;
  for (int i = 0; i < n; i++) {
    cin >> values[i];
    sum += values[i];
  }
  sort(values, values + n);
  if (n == 0) {
    cout << "YES" << endl;
    cout << 1 << endl;
    cout << 1 << endl;
    cout << 3 << endl;
    cout << 3 << endl;
    return 0;
  }
  if (n == 1) {
    cout << "YES" << endl;
    cout << values[0] << endl;
    cout << 3 * values[0] << endl;
    cout << 3 * values[0] << endl;
    return 0;
  }
  if (n == 2) {
    bool ok = false;
    for (int i = 1; i <= 1500 && !ok; i++) {
      for (int j = i; j <= 1500 && !ok; j++) {
        vector<int> T;
        sum = 0;
        T.push_back(i);
        sum += i;
        T.push_back(j);
        sum += j;
        T.push_back(values[0]);
        sum += values[0];
        T.push_back(values[1]);
        sum += values[1];
        sort(T.begin(), T.end());
        if (2 * (T[3] - T[0]) == (T[1] + T[2]) && sum == 4 * (T[3] - T[0])) {
          cout << "YES" << endl;
          cout << i << endl;
          cout << j << endl;
          return 0;
        }
      }
    }
    cout << "NO" << endl;
  }
  if (n == 3) {
    for (int i = 1; i <= 1500; i++) {
      vector<int> T;
      sum = 0;
      T.push_back(i);
      sum += i;
      T.push_back(values[2]);
      sum += values[2];
      T.push_back(values[0]);
      sum += values[0];
      T.push_back(values[1]);
      sum += values[1];
      sort(T.begin(), T.end());
      if (2 * (T[3] - T[0]) == (T[1] + T[2]) && sum == 4 * (T[3] - T[0])) {
        cout << "YES" << endl;
        cout << i << endl;
        return 0;
      }
    }
    cout << "NO" << endl;
  }
  if (n == 4) {
    if (2 * (values[3] - values[0]) == (values[1] + values[2]) &&
        sum == 4 * (values[3] - values[0]))
      cout << "YES" << endl;
    else
      cout << "NO" << endl;
    return 0;
  }
  return 0;
}
