#include <bits/stdc++.h>
using namespace std;
vector<int> vv;
bool check(int a, int b, int c, int d) {
  if ((a + b + c + d) % 4 != 0 || (b + c) % 2 != 0) return false;
  int w = (a + b + c + d) / 4;
  if (w == (b + c) / 2 && w == d - a) return true;
  return false;
}
int main() {
  int n;
  scanf("%d", &n);
  if (n == 0) {
    printf("YES\n1\n1\n3\n3\n");
    return 0;
  }
  vv.resize(4);
  if (n == 4) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &vv[i]);
    }
    sort(vv.begin(), vv.end());
    if (check(vv[0], vv[1], vv[2], vv[3])) {
      printf("YES\n");
      return 0;
    }
  }
  if (n == 3) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &vv[i]);
    }
    for (int i = 1; i < 1000001; i++) {
      vv[3] = i;
      int a = vv[0], b = vv[1], c = vv[2], d = vv[3];
      if (a > b) swap(a, b);
      if (a > c) swap(a, c);
      if (a > d) swap(a, d);
      if (b > c) swap(b, c);
      if (b > d) swap(b, d);
      if (c > d) swap(c, d);
      if (check(a, b, c, d)) {
        printf("YES\n");
        printf("%d\n", i);
        return 0;
      }
    }
  }
  if (n == 2) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &vv[i]);
    }
    int b, c, d, a, k;
    for (int i = 1; i < 1000001; i++) {
      vv[2] = i;
      int aa = vv[0], bb = vv[1], cc = vv[2];
      if (aa > bb) swap(aa, bb);
      if (aa > cc) swap(aa, cc);
      if (bb > cc) swap(bb, cc);
      b = aa, c = bb, d = cc;
      if ((b + c) % 2 == 0) {
        a = d - ((b + c) / 2);
        if (check(a, b, c, d)) {
          printf("YES\n");
          printf("%d\n%d\n", a, i);
          return 0;
        }
      }
      a = aa, c = bb, d = cc;
      k = d - a;
      b = 2 * k - c;
      if (check(a, b, c, d)) {
        printf("YES\n");
        printf("%d\n%d\n", b, i);
        return 0;
      }
      a = aa, b = bb, d = cc;
      k = d - a;
      c = 2 * k - b;
      if (check(a, b, c, d)) {
        printf("YES\n");
        printf("%d\n%d\n", c, i);
        return 0;
      }
      a = aa, b = bb, c = cc;
      if ((b + c) % 2 == 0) {
        k = (b + c) / 2;
        d = a + k;
        if (check(a, b, c, d)) {
          printf("YES\n");
          printf("%d\n%d\n", d, i);
          return 0;
        }
      }
    }
  }
  if (n == 1) {
    int a;
    scanf("%d", &a);
    if (a * 3 <= 1000000) {
      printf("YES\n%d\n%d\n%d\n", a, a * 3, a * 3);
      return 0;
    } else {
      if (a % 3 == 0) {
        a /= 3;
        printf("YES\n%d\n%d\n%d\n", a, a, a * 3);
        return 0;
      }
    }
  }
  printf("NO\n");
  return 0;
}
