#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
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();
}