#include using namespace std; typedef long long ll; #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() const int MAX = 1e9; const int MIN = -1*1e9; const ll MAXLL = 1e18; const ll MINLL = -1*1e18; vector> Prime_factorize(ll N) { vector> res; for (ll a = 2; a*a <= N; a++) { if(N%a!=0) continue; ll ex = 0; // 指数 while (N%a == 0) { ex++; N /= a; } res.push_back({a, ex}); } if (N != 1) res.push_back({N, 1}); return res; } int main() { ll N,H; cin >> N >> H; map Need,Count; for(int i = 0; i < N; i++) { ll A; cin >> A; vector> V = Prime_factorize(A); for(auto x : V) Count[x.first] += x.second; } vector> V = Prime_factorize(H); for(auto x : V) { if(Count[x.first] < x.second) { cout << "NO" << endl; return 0; } } cout << "YES" << endl; return 0; }