#include using namespace std; #define rep(i,n) for(ll i=0;i<(n);++i) #define reps(i,n) for(ll i=1;i<=(n);++i) using ll = long long; using str = string; constexpr long long INF = (1LL<<60); constexpr long long MOD = (1e9+7); templateinline T gcd(T a,T b){if(b==0)return a; return(gcd(b,a%b));} templateinline T lcm(T a,T b){return a/gcd(a,b)*b;} templateinline bool chmax(T &a,const T &b){if(ainline bool chmin(T &a,const T &b){if(a>b){a=b;return true;}return false;} inline void dump(){cout<inline void dump(Head&& head, Tail&&... tail){cout<(tail)...);} templateinline istream &operator>>(istream&input,vector&v){for(auto &elemnt:v)input>>elemnt;return input;} std::vector divisor(ll n){ std::vector div; for(ll p=1;p*p<=n;++p){ if(n%p==0){ div.push_back(p); if(p*p!=n)div.push_back(n/p); } } std::sort(div.begin(),div.end()); return div; } main(){ cin.tie(0); ios::sync_with_stdio(0); cout<>a>>b; auto div=divisor(a); for(auto& x:div){ if(x%b==0){ cout<<"YES"<