#include <bits/stdc++.h>
const double eps = 1e-10;
int dcmp(double x) {
  if (fabs(x) < eps)
    return 0;
  else
    return x < 0 ? -1 : 1;
}
struct Point {
  double x, y;
  bool operator<(const Point &a) const {
    return dcmp(x - a.x) < 0 || (dcmp(x - a.x) == 0 && dcmp(y - a.y) < 0);
  }
  Point(double x = 0, double y = 0) : x(x), y(y) {}
  void read() { scanf("%lf%lf", &x, &y); }
};
Point operator+(Point a, Point b) { return Point(a.x + b.x, a.y + b.y); }
Point operator-(Point a, Point b) { return Point(a.x - b.x, a.y - b.y); }
Point operator*(Point a, double b) { return Point(a.x * b, a.y * b); }
Point operator/(Point a, double b) { return Point(a.x / b, a.y / b); }
bool operator==(Point a, Point b) { return a.x == b.x && a.y == b.y; }
double Dot(Point a, Point b) { return a.x * b.x + a.y * b.y; }
double Length(Point a) { return sqrt(Dot(a, a)); }
double Angle(Point a, Point b) {
  return acos(Dot(a, b) / Length(a) / Length(b));
}
double Cross(Point a, Point b) { return a.x * b.y - a.y * b.x; }
Point Normal(Point a) { return a / Length(a); }
Point Rotate(Point a, double rad) {
  return Point(a.x * cos(rad) - a.y * sin(rad),
               a.x * sin(rad) + a.y * cos(rad));
}
bool SPI(Point a1, Point a2, Point b1, Point b2) {
  double c1 = Cross(a2 - a1, b1 - a1), c2 = Cross(a2 - a1, b2 - a1),
         c3 = Cross(b2 - b1, a1 - b1), c4 = Cross(b2 - b1, a2 - b1);
  return dcmp(c1) * dcmp(c2) < 0 && dcmp(c3) * dcmp(c4) < 0;
}
Point a[12], b[12];
int f[12], c[12], fg = 0;
int n, m;
bool check(int x) {
  for (int i = 1; i < x; i++)
    if (SPI(b[x], a[c[x]], b[i], a[c[i]])) return false;
  return true;
}
void dfs(int x) {
  if (x > 2)
    if (!check(x - 1))
      return;
    else if (x > m)
      fg = 1;
  if (fg) return;
  if (x > m) return;
  for (int i = 1; i <= n; i++)
    if (!f[i]) {
      c[x] = i;
      f[i] = 1;
      dfs(x + 1);
      if (fg) return;
      f[i] = 0;
    }
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) a[i].read();
  for (int i = 1; i <= m; i++) b[i].read();
  if (m != n) {
    puts("No");
    return 0;
  }
  if (n == m && n == 1) {
    puts("Yes");
    return 0;
  }
  dfs(1);
  if (fg)
    puts("Yes");
  else
    puts("No");
}
