#include <bits/stdc++.h>
using namespace std;
struct debugger {
  template <typename T>
  debugger& operator,(const T& v) {
    cerr << v << " ";
    return *this;
  }
} dbg;
int n;
int check(int a[]) {
  sort(a, a + 4);
  int x, y, z;
  x = (a[0] + a[1] + a[2] + a[3]);
  y = (a[1] + a[2]);
  z = (a[3] - a[0]);
  if ((x == 2 * y) && (y == 2 * z)) {
    return 1;
  }
  return 0;
}
int main() {
  cin >> n;
  int a[4], x, y, z;
  if (n == 4) {
    for (int i = (0), _n = (n); i < _n; i++) cin >> a[i];
    if (check(a)) {
      cout << "YES";
    } else
      cout << "NO";
    return 0;
  } else if (n == 3) {
    cin >> x >> y >> z;
    for (int i = 1; i <= 1500; i++) {
      a[0] = x;
      a[1] = y;
      a[2] = z;
      a[3] = i;
      if (check(a)) {
        cout << "YES\n" << i;
        return 0;
      }
    }
    cout << "NO";
  } else if (n == 2) {
    cin >> x >> y;
    for (int i = 1; i <= 1500; i++) {
      for (int j = 1; j <= 1500; j++) {
        a[0] = x;
        a[1] = y;
        a[2] = i;
        a[3] = j;
        if (check(a)) {
          cout << "YES\n" << min(i, j) << endl;
          cout << max(i, j);
          return 0;
        }
      }
    }
    cout << "NO\n";
  } else if (n == 1) {
    cin >> x;
    a[0] = x;
    cout << "YES\n";
    cout << a[0] << "\n" << a[0] * 3 << "\n" << a[0] * 3;
    return 0;
  } else {
    cout << "YES\n1\n1\n3\n3";
  }
  return 0;
}
