#include <bits/stdc++.h>   using namespace std;   struct Point {     long long x, y;     void read() { scanf( %lld%lld , &x, &y); }   };   long long product(const Point &o, const Point &a, const Point &b) {     return (a.x - o.x) * (b.y - o.y) - (b.x - o.x) * (a.y - o.y);   }   bool intersect(const Point &a, const Point &b, const Point &c, const Point &d) {     bool insect1 = product(a, c, d) * product(b, c, d) < 0;     bool insect2 = product(c, a, b) * product(d, a, b) < 0;     return insect1 && insect2;   }   int main() {     ios ::sync_with_stdio(false);     cout << fixed << setprecision(16);     int R, B;     scanf( %d%d , &R, &B);     vector<Point> bases(B);     vector<Point> ships(R);     vector<int> b(R);     for (int i = 0; i < R; i++) {       ships[i].read();     }     for (int i = 0; i < B; i++) {       bases[i].read();     }     if (B != R) {       puts( No );       return 0;     }     for (int i = 0; i < R; i++) {       b[i] = i;     }     bool yes = false;     do {       bool ok = true;       for (int i = 0; i < B; i++) {         for (int j = i + 1; j < B; j++) {           if (intersect(ships[b[i]], bases[i], ships[b[j]], bases[j])) {             ok = false;           }         }       }       if (ok) {         yes = true;         break;       }     } while (next_permutation(b.begin(), b.end()));     puts(yes ?  Yes  :  No );     return 0;   }   