Problem: Today Pari and Arya are playing a game called Remainders.

Pari chooses two positive integer x and k, and tells Arya k but not x. Arya have to find the value <image>. There are n ancient numbers c1, c2, ..., cn and Pari has to tell Arya <image> if Arya wants. Given k and the ancient values, tell us if Arya has a winning strategy independent of value of x or not. Formally, is it true that Arya can understand the value <image> for any positive integer x?

Note, that <image> means the remainder of x after dividing it by y.

Input

The first line of the input contains two integers n and k (1 ≤ n, k ≤ 1 000 000) — the number of ancient integers and value k that is chosen by Pari.

The second line contains n integers c1, c2, ..., cn (1 ≤ ci ≤ 1 000 000).

Output

Print "Yes" (without quotes) if Arya has a winning strategy independent of value of x, or "No" (without quotes) otherwise.

Examples

Input

4 5
2 3 5 12


Output

Yes


Input

2 7
2 3


Output

No

Note

In the first sample, Arya can understand <image> because 5 is one of the ancient numbers.

In the second sample, Arya can't be sure what <image> is. For example 1 and 7 have the same remainders after dividing by 2 and 3, but they differ in remainders after dividing by 7.

Solution (in PYTHON):

Solution:
from math import sqrt as s
from collections import *
n=1000007
lst=[0]*(n+4)
def mse(n):
    
    for i in range(1,n+1):
      lst[i]=i
    for i in range(2,int(s(n))+2):
      if lst[i]==i:
        for j in range(i,n+2,i):

          if lst[j]==j:
            lst[j]=i 
mse(1000002)
#print lst
def npf(a):
  c=0
  ans=[]
  s=set()
  while a>1:
    ans.append(lst[a])
    s.add(lst[a])
    a=a/lst[a]
    
    c=c+1
  ck=Counter(ans) 
  return s
nn,k=map(int,raw_input().split())
lst2=map(int,raw_input().split())
g=lst2[0]
from fractions import *
#for i in range(1,nn):
  #g=gcd(lst2[i],g)
g=k
lst2=list(set(lst2))
vis=[-1]*1000002
lst2.sort(reverse=True)
l=1
g=1
for i in range(0,len(lst2)):
  vl=gcd(l,lst2[i])
  l=(lst2[i]*l)/vl
  l=l%k


if l==0:
  print "Yes"
else:
  print "No"