#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
long long n, k;
cin >> n >> k;
unordered_set<int> remainders;
for (long long i = 1; i <= k; ++i) {
int remainder = n % i;
if (remainders.count(remainder)) {
cout << "No" << endl;
return 0; // Exit immediately if a duplicate remainder is found
}
remainders.insert(remainder);
}
cout << "Yes" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgbG9uZyBsb25nIG4sIGs7CiAgICBjaW4gPj4gbiA+PiBrOwoKICAgIHVub3JkZXJlZF9zZXQ8aW50PiByZW1haW5kZXJzOwoKICAgIGZvciAobG9uZyBsb25nIGkgPSAxOyBpIDw9IGs7ICsraSkgewogICAgICAgIGludCByZW1haW5kZXIgPSBuICUgaTsKICAgICAgICBpZiAocmVtYWluZGVycy5jb3VudChyZW1haW5kZXIpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIk5vIiA8PCBlbmRsOwogICAgICAgICAgICByZXR1cm4gMDsgLy8gRXhpdCBpbW1lZGlhdGVseSBpZiBhIGR1cGxpY2F0ZSByZW1haW5kZXIgaXMgZm91bmQKICAgICAgICB9CiAgICAgICAgcmVtYWluZGVycy5pbnNlcnQocmVtYWluZGVyKTsKICAgIH0KCiAgICBjb3V0IDw8ICJZZXMiIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQo=