#include using namespace std; using ll = long long; using pll = pair; #define drep(i, cc, n) for (ll i = (cc); i <= (n); ++i) #define rep(i, n) drep(i, 0, n - 1) #define all(a) (a).begin(), (a).end() #define pb push_back #define fi first #define se second const ll MOD = 1000000007; const ll MOD2 = 998244353; const ll INF = 1LL << 60; const ll N_MAX = 2e5; int main(){ ll n, x, y; cin >> n >> x >> y; vector r(n); ll sum = 0; rep(i, n){ cin >> r[i]; sum += 2*r[i]; } if(x*x + y*y > r[0]*r[0]){ //(x, y)は, 最初の円の外 if(sum*sum >= x*x + y*y) cout << "Yes" << endl; else cout << "No" << endl; }else{ ll diff2 = r[0]*r[0] - (x*x+y*y); sum -= 2*r[0]; if(sum*sum >= diff2) cout << "Yes" << endl; else cout << "No" << endl; } }