#include <bits/stdc++.h>   using namespace std;   const int N = 1111111;   int a[N];   int n, k;   vector<int> prime, p;   void Getprime() {     for (int i = 2; i <= 1000; i++) {       bool bo = 1;       for (int j = 2; j * j <= i; j++) {         if (i % j == 0) {           bo = 0;           break;         }       }       if (bo) {         prime.push_back(i);       }     }   }   int main() {     Getprime();     scanf( %d%d , &n, &k);     for (int i = 1; i <= n; ++i) {       scanf( %d , &a[i]);     }     int K = k;     for (int i = 0; i < prime.size() && prime[i] * prime[i] <= k; ++i) {       int t = prime[i];       if (k % t == 0) {         int m = 1;         while (K % t == 0 && K) {           m *= t;           K /= t;         }         p.push_back(m);       }     }     if (K != 1) {       p.push_back(K);     }     for (int i = 0; i < p.size(); ++i) {       int pr = p[i];       bool flag = false;       for (int j = 1; j <= n; ++j) {         if (a[j] % pr == 0) {           flag = true;           break;         }       }       if (!flag) {         puts( No );         return 0;       }     }     puts( Yes );   }   