No tag edit access

B. Remainders Game

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputToday 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 . There are *n* ancient numbers *c*_{1}, *c*_{2}, ..., *c*_{n} and Pari has to tell Arya 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 for any positive integer *x*?

Note, that 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 *c*_{1}, *c*_{2}, ..., *c*_{n} (1 ≤ *c*_{i} ≤ 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 because 5 is one of the ancient numbers.

In the second sample, Arya can't be sure what 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.

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/24/2019 04:28:43 (d1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|