#include #define rep(i, ss, ee) for (int i = ss; i < ee; ++i) using namespace std; using ull = unsigned long long; std::vector primes; void eratosthenes(ull n) { vector sieve(n, 1); sieve[0] = sieve[1] = false; rep(i, 0, n) { if (sieve[i]) { for (int j = i + i; j < n; j += i) { sieve[j] = false; } } } rep(i, 2, sieve.size()) if (sieve[i]) primes.emplace_back(i); } bool isInfinitedecimal(unsigned n) { eratosthenes(sqrt(n) + 1); for (auto p : primes) { if (p == 2 or p == 5) continue; if (n % p == 0) return true; } return false; } void solve() { ull a, b; cin >> a >> b; cout << ((isInfinitedecimal(b) ? "Yes" : "No")) << endl; } int main() { cin.tie(0); ios::sync_with_stdio(false); solve(); getchar(); }