#abc150d. [abc150_d]Semi Common Multiple

[abc150_d]Semi Common Multiple

配点 : 400400

問題文

長さ NN の偶数からなる正の整数列 A=a1,a2,...,aNA= {a_1,a_2,...,a_N} と、整数 MM が与えられます。

任意の k(1leqkleqN)k(1 \\leq k \\leq N) に対して以下の条件を満たす正の整数 XXAA の「半公倍数」と定義します。

  • X=aktimes(p+0.5)X= a_k \\times (p+0.5) を満たす負でない整数 pp が存在する。

11 以上 MM 以下の整数のうちの AA の半公倍数の個数を求めてください。

制約

  • 1leqNleq1051 \\leq N \\leq 10^5
  • 1leqMleq1091 \\leq M \\leq 10^9
  • 2leqaileq1092 \\leq a_i \\leq 10^9
  • aia_i は偶数である。
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN MM a1a_1 a2a_2 ...... aNa_N

出力

11 以上 MM 以下の整数のうちの AA の半公倍数の個数を出力せよ。


入力例 1

2 50
6 10

出力例 1

2
  • 15=6times2.515 = 6 \\times 2.5
  • 15=10times1.515 = 10 \\times 1.5
  • 45=6times7.545 = 6 \\times 7.5
  • 45=10times4.545 = 10 \\times 4.5

より、15,4515,45AA の半公倍数です。11 以上 5050 以下の整数に他に AA の半公倍数はないので、答えは 22 となります。


入力例 2

3 100
14 22 40

出力例 2

0

答えが 00 の場合もあります。


入力例 3

5 1000000000
6 6 2 6 2

出力例 3

166666667