#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
const int MAX = 1e9 + 5;
int i, j, k, n, mn, a[5], b[5];
double ort(int a, int b, int c, int d) { return (a + b + c + d * 1.0) / 4; }
bool ctr(int a[]) {
  for (int i = 1; i <= 4; i++) b[i] = a[i];
  sort(b + 1, b + 5);
  return (((b[4] - b[1] * 1.0) == ort(b[1], b[2], b[3], b[4])) &&
          ((b[4] - b[1]) == ((b[2] + b[3]) / 2.0)));
}
bool dfs(int wh) {
  if (wh == 5) {
    return ctr(a);
  }
  for (int i = max(mn / 3, 1); i <= mn * 3; i++) {
    a[wh] = i;
    if (dfs(wh + 1)) return true;
  }
  return false;
}
int main() {
  ios::sync_with_stdio(0);
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i];
  if (n == 0)
    mn = 1;
  else
    mn = *max_element(a + 1, a + n + 1);
  if (dfs(n + 1)) {
    cout << "YES" << '\n';
    for (int i = n + 1; i <= 4; i++) cout << a[i] << '\n';
  } else
    cout << "NO" << '\n';
  return 0;
}
