#include <iostream>
#include <unordered_set>
#include <cmath>
using namespace std;
int main() {
long long n;
int k;
cin >> n >> k;
int sqrt_n = sqrt(n);
unordered_set<int> remainders;
for (int i = 1; i <= min(k, sqrt_n); ++i) {
int remainder = n % i;
if (remainders.find(remainder) != remainders.end()) {
cout << "No" << endl;
return 0;
}
remainders.insert(remainder);
}
if (k > sqrt_n) {
for (int i = sqrt_n + 1; i <= k; ++i) {
int remainder = n % i;
if (remainders.find(remainder) != remainders.end()) {
cout << "No" << endl;
return 0;
}
remainders.insert(remainder);
}
}
cout << "Yes" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KI2luY2x1ZGUgPGNtYXRoPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgbG9uZyBsb25nIG47CiAgICBpbnQgazsKICAgIGNpbiA+PiBuID4+IGs7CiAgICBpbnQgc3FydF9uID0gc3FydChuKTsKICAgIHVub3JkZXJlZF9zZXQ8aW50PiByZW1haW5kZXJzOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbWluKGssIHNxcnRfbik7ICsraSkgewogICAgICAgIGludCByZW1haW5kZXIgPSBuICUgaTsKICAgICAgICAKICAgICAgICBpZiAocmVtYWluZGVycy5maW5kKHJlbWFpbmRlcikgIT0gcmVtYWluZGVycy5lbmQoKSkgewogICAgICAgICAgICBjb3V0IDw8ICJObyIgPDwgZW5kbDsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgICAgIHJlbWFpbmRlcnMuaW5zZXJ0KHJlbWFpbmRlcik7CiAgICB9CiAgICBpZiAoayA+IHNxcnRfbikgewogICAgICAgIGZvciAoaW50IGkgPSBzcXJ0X24gKyAxOyBpIDw9IGs7ICsraSkgewogICAgICAgICAgICBpbnQgcmVtYWluZGVyID0gbiAlIGk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAocmVtYWluZGVycy5maW5kKHJlbWFpbmRlcikgIT0gcmVtYWluZGVycy5lbmQoKSkgewogICAgICAgICAgICAgICAgY291dCA8PCAiTm8iIDw8IGVuZGw7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZW1haW5kZXJzLmluc2VydChyZW1haW5kZXIpOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgIlllcyIgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==