struct F{ll n,d;}; F a[7]; ll t; void f(ll n){ if(n==1){ if(a[0].n==a[0].d*t){ wt("YES"); exit(0); } return; } rep(i,n){ F x=a[i]; a[i]=a[n-1]; f(n-1); rep(j,i){ F y=a[j]; a[j].d=x.d*y.d; a[j].n=x.n*y.d+x.d*y.n; f(n-1); a[j].n=abs(x.n*y.d-x.d*y.n); f(n-1); a[j].n=x.n*y.n; f(n-1); a[j].n=x.n*y.d; a[j].d=x.d*y.n; f(n-1); a[j].n=x.d*y.n; a[j].d=x.n*y.d; f(n-1); a[j]=y; } a[i]=x; } } { ll@n; rep(i,n){ rd(t); a[i].n=t; a[i].d=1; if(i>=2){ f(i); } } wt("NO"); }