#include <bits/stdc++.h>
using namespace std;
const int MX = 3e5;
int N, x;
long long n, k;
map<long long, int> M;
void add(long long cur) {
  long long mul = cur;
  if (cur > k) return;
  while (cur <= min(n, k)) {
    long long val = n % cur;
    M[val]++;
    cur *= mul;
  }
}
int main() {
  cin >> n >> k;
  if (k - n > 1) return cout << "NO\n", 0;
  long long cur = 1;
  ++M[0];
  add(2);
  add(3);
  add(5);
  add(7);
  add(11);
  add(13);
  add(17);
  add(19);
  add(23);
  add(29);
  map<long long, int>::iterator it = M.begin();
  while (it != M.end()) {
    if (it->second > 1) return cout << "NO\n", 0;
    it++;
  }
  cout << "YES\n";
  return 0;
}
