#include #include #include #include #include #include #include #include #include #include using namespace std; long long gcd(long long a,long long b){ long long x=max(a,b),y=min(a,b); if(x%y==0)return y; else return gcd(y,x%y); } long long lcm(long long a,long long b){ return (a/lcm(a,b))*b; } int main(){ cin.tie(0); ios::sync_with_stdio(false); //cout << fixed << setprecision(1) << endl; long long a , b; cin >> a >> b; a /= gcd(a, b); b /= gcd(a, b); vector v; v.push_back(1); //v.push_back(b); for(long long i = 2; i*i <= b; i++){ if(b % i ==0){ v.push_back(i); while(1){ if(b % i != 0)break; b /= i; } } } for(int i = 0; i < v.size(); i++){ cout << v[i] << endl; if(v[i] != 1 && v[i] != 2 && v[i] != 5){ cout << "Yes" << endl; return 0; } } cout << "No" << endl; return 0; }