#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd() ({long _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define rd_abs() ({rp+=*rp=='-';rd();}) #define chmin(v,a) (v=v<=a?v:a) typedef unsigned long ulong; void output(long yes){ write(1,yes?"Yes":"No ",3); _exit(0); } int main(){ char*mmap(); char*rp=mmap(0l,1l<<25,1,2,0,0ll); ulong n=rd(),x=rd_abs(),y=rd_abs(); ulong z=x*x+y*y; ulong m=rd(); if(n==1){ output(m*m==z); } else{ ulong s=m; while(*rp){ ulong r=rd(); s+=r; chmin(m,r); } s=s*2-m; output(s>>32||s*s>=z); } }