import os, sys from io import IOBase, BytesIO py2 = round(0.5) if py2: from future_builtins import ascii, filter, hex, map, oct, zip range = xrange BUFSIZE = 8192 class FastIO(BytesIO): newlines = 0 def __init__(self, file): self._file = file self._fd = file.fileno() self.writable = 'x' in file.mode or 'w' in file.mode self.write = super(FastIO, self).write if self.writable else None def _fill(self): s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE)) self.seek((self.tell(), self.seek(0,2), super(FastIO, self).write(s))[0]) return s def read(self): while self._fill(): pass return super(FastIO,self).read() def readline(self): while self.newlines == 0: s = self._fill(); self.newlines = s.count(b'\n') + (not s) self.newlines -= 1 return super(FastIO, self).readline() def flush(self): if self.writable: os.write(self._fd, self.getvalue()) self.truncate(0), self.seek(0) class IOWrapper(IOBase): def __init__(self, file): self.buffer = FastIO(file) self.flush = self.buffer.flush self.writable = self.buffer.writable if py2: self.write = self.buffer.write self.read = self.buffer.read self.readline = self.buffer.readline else: self.write = lambda s:self.buffer.write(s.encode('ascii')) self.read = lambda:self.buffer.read().decode('ascii') self.readline = lambda:self.buffer.readline().decode('ascii') sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout) input = lambda: sys.stdin.readline().rstrip('\r\n') # Cout implemented in Python import sys class ostream: def __lshift__(self,a): sys.stdout.write(str(a)) return self cout = ostream() endl = '\n' def get_input(a=str): return a(input()) def get_int_input(): return get_input(int) def get_input_arr(a): return list(map(a, input().split())) def get_int_input_arr(): return get_input_arr(int) def sieve(n): primes = [-1] * (n) primes[0] = -1 primes[1] = -1 i = 2 sqrt_n = int(n ** 0.5 + 1) prime_nums = [] while i <= sqrt_n: if primes[i] == -1: primes[i] = 1 prime_nums.append(i) for j in range(i * i, n, i): primes[j] = 2 i += 1 for i in range(sqrt_n, n): if primes[i] == -1: primes[i] = 1 prime_nums.append(i) return prime_nums def get_prime_fac(primes, num): freq = {} for prime in primes: if prime <= num and num > 1: r = 0 while num % prime == 0 and num > 1: r += 1 num = num // prime if r > 0: freq[prime] = r else: break return freq from collections import defaultdict def solve(): prime_nums = sieve(10 ** 6) n, h = get_int_input_arr() arr = get_int_input_arr() h_freq = get_prime_fac(prime_nums, h) for i in range(len(arr)): for p_h in h_freq: while h_freq[p_h] > 0 and arr[i] > 1 and arr[i] % p_h == 0: arr[i] = arr[i] // p_h h_freq[p_h] -= 1 res = True for i in h_freq: if h_freq[i] > 0: res = False break if res: cout<<"YES"<