#include #include using namespace std; using ll = long long; #define rep(i,n) for(ll i=0;i<(ll)(n);i++) using mint = atcoder::modint998244353; // divide map dv(ll x){ map rt; for(ll i=2;i*i<=x;i++){ while(x%i==0){ rt[i]++; x/=i; } } if(x!=1) rt[x]++; return rt; } int main(){ ll n,k; cin>>n>>k; vector a(n); rep(i,n) cin>>a.at(i); auto dvk=dv(k); rep(i,n){ auto dva=dv(a.at(i)); for(auto[p,c]:dva){ if(dvk.count(p)){ if(dvk.at(p)<=c){ dvk.erase(p); } } } } if(dvk.empty()) cout<<"Yes\n"; else cout<<"No\n"; }