链接:http://codeforces.com/problemset/problem/488/B
#include <bits/stdc++.h>
using namespace std;
int a[10],b[10];
int judge()
{
sort(b,b+4);
if(b[3]==3*b[0]&&b[2]+b[1]==4*b[0])
return 1;
else
return 0;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",a+i);
b[i]=a[i];
}
sort(a,a+n);
if(!n) a[0]=1,a[1]=1,a[2]=3,a[3]=3;
else if(n==1) a[1]=2*a[0],a[2]=2*a[0],a[3]=3*a[0];
else if(n==2) a[2]=4*a[0]-a[1],a[3]=3*a[0];
else
{
for(int i=1;i<=1000000;i++)
{
a[3]=i;
for(int k=0;k<4;k++)
b[k]=a[k];
if(judge())
break;
}
}
for(int k=0;k<4;k++)
b[k]=a[k];
if(judge())
{
puts("YES");
for(int i=n;i<4;i++)
printf("%d\n",a[i]);
}
else
printf("NO\n");
return 0;
}