#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lint; #define rep(i, n) for (lint i = 0; i < n; i++) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) #define mp make_pair #define enld endl int main() { double a, b, c, d; cin >> a >> b >> c >> d; double D = (a - c) * (a - c) - 8 * (b - d); if (D < 0) { cout << "No" << endl; } else if (D == 0) { cout << "Yes" << endl; } else { double x1 = ((c - a) + sqrt(D)) / 4; double x2 = ((c - a) - sqrt(D)) / 4; double y1 = x1 * x1 + a * x1 + b; double y2 = x2 * x2 + a * x2 + b; double p = (y1 - y2) / (x1 - x2); double q = y1 - p * x1; cout <