#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include using namespace std; using ll = long long; const int INF = 1e9 + 10; const ll inf = 1LL<<60; void solve() { auto gcd = [](auto&& gcd, ll x, ll y) -> ll { if (x%y) return gcd(gcd, y, x%y); return y; }; ll a, b, c, x; cin >> a >> b >> c >> x; if (x%a == 0 || x%b == 0 || x%c == 0 || x%gcd(gcd, a, b) == 0 || x%gcd(gcd, b, c) == 0 || x%gcd(gcd, a, c) == 0) { cout << "Yes" << '\n'; return; } if (x%gcd(gcd, a, gcd(gcd, b, c)) == 0) { cout << "Yes" << '\n'; return; } cout << "No" << '\n'; } int main() { ios::sync_with_stdio(false); std::cin.tie(nullptr); // int t; cin >> t; /*while (t--)*/ solve(); }