#include using namespace std; int main(){ long long X, A, Y, B; cin >> X >> A >> Y >> B; map mp1; for (long long i = 2; i * i <= X; i++){ if (X % i == 0){ int cnt = 0; while (X % i == 0){ cnt++; X /= i; } mp1[i] += cnt * A; } } if (X > 1){ mp1[X] += A; } map mp2; for (long long i = 2; i * i <= Y; i++){ if (Y % i == 0){ int cnt = 0; while (Y % i == 0){ cnt++; Y /= i; } mp2[i] += cnt * B; } } if (Y > 1){ mp2[Y] += B; } bool ok = true; for (auto P : mp2){ if (mp1[P.first] < P.second){ ok = false; } } if (ok){ cout << "Yes" << endl; } else { cout << "No" << endl; } }