#include #include using namespace std; using namespace atcoder; using ll = long long; using ld = long double; ll N, H; void f(ll n, map &m) { for (ll i = 2; i * i <= n; i++) { while (n % i == 0) { m[i]++; n /= i; } } if (n != 1) m[n]++; } int main() { cin >> N >> H; map m1, m2; for (int i = 0; i < N; i++) { int a; cin >> a; f(a, m1); } f(H, m2); bool flag = true; for (auto p: m2) { if (m1.count(p.first) == 0 || m1[p.first] < p.second) { flag = false; break; } } cout << (flag ? "YES": "NO") << endl; return 0; }