func_code_string: #include <bits/stdc++.h>   using namespace std;   bool oppSign(double a, double b) {     if (a == 0 || b == 0) return false;     if (a > 0 && b < 0) return true;     if (a < 0 && b > 0) return true;     return false;   }   void parr(vector<double>& a) {     for (int i = 0; i < a.size(); ++i) {       cout << a[i] <<    ;     }     cout << endl;   }   int main() {     int n;     cin >> n;     double a, b;     cin >> a >> b;     vector<pair<double, double> > v;     for (int i = 0; i < (n); ++i) {       double x, y;       scanf( %lf%lf , &x, &y);       double y1, y2;       y1 = x * a + y;       y2 = x * b + y;       v.push_back(make_pair((y1), (y2)));     }     sort(v.begin(), v.end());     vector<double> ar, br;     for (int i = 0; i < v.size(); ++i) {       double x = v[i].first;       double y = v[i].second;       ar.push_back(x);       br.push_back(y);     }     vector<double> bkr(br.size());     bkr[br.size() - 1] = br[br.size() - 1];     for (int i = br.size() - 2; i >= 0; --i) {       if (br[i] > bkr[i + 1])         bkr[i] = bkr[i + 1];       else         bkr[i] = br[i];     }     bool flag = false;     for (int i = 0; i < ar.size() - 1; ++i) {       if (ar[i] != ar[i + 1] && br[i] != bkr[i + 1] &&           oppSign((ar[i] - ar[i + 1]), (br[i] - bkr[i + 1]))) {         flag = true;         break;       }     }     if (flag == false)       cout <<  NO n ;     else       cout <<  YES n ;     return 0;   }   