#include <bits/stdc++.h>
using namespace std;
bool check(double a, double b, double c, double d) {
  if ((a + b + c + d) / 4.0 == (b + c) / 2 && (b + c) / 2 == (d - a)) {
    return true;
  }
  return false;
}
int main() {
  ios::sync_with_stdio(false);
  int n;
  vector<int> v;
  cin >> n;
  for (int i = 0; i < (int)n; i++) {
    int temp;
    cin >> temp;
    v.push_back(temp);
  }
  sort(v.begin(), v.end());
  if (n == 0) {
    cout << "YES"
         << "\n";
    cout << "1"
         << "\n"
         << "1"
         << "\n"
         << "3"
         << "\n"
         << "3"
         << "\n";
  }
  if (n == 1) {
    cout << "YES"
         << "\n";
    cout << v[0] << "\n" << v[0] * 3 << "\n" << v[0] * 3 << "\n";
  }
  if (n == 2) {
    vector<int> t;
    bool done = false;
    for (int i = 0; i <= 1500 && !done; i++) {
      for (int j = 0; j <= 1500 && !done; j++) {
        t = v;
        t.push_back(i);
        t.push_back(j);
        sort(t.begin(), t.end());
        if (check(t[0], t[1], t[2], t[3])) {
          done = true;
          cout << "YES"
               << "\n";
          cout << i << "\n";
          cout << j << "\n";
        }
      }
    }
    if (done) {
    } else {
      cout << "NO"
           << "\n";
    }
  }
  if (n == 3) {
    vector<int> t;
    bool done = false;
    for (int i = 0; i <= 1500 && !done; i++) {
      t = v;
      t.push_back(i);
      sort(t.begin(), t.end());
      if (check(t[0], t[1], t[2], t[3])) {
        done = true;
        cout << "YES"
             << "\n";
        cout << i << "\n";
      }
    }
    if (done) {
    } else {
      cout << "NO"
           << "\n";
    }
  }
  if (n == 4) {
    if (check(v[0], v[1], v[2], v[3])) {
      cout << "YES"
           << "\n";
    } else {
      cout << "NO"
           << "\n";
    }
  }
  return 0;
}
