#abc150d. [abc150_d]Semi Common Multiple

[abc150_d]Semi Common Multiple

问题描述

给定一个 NN 个正偶数的序列 A=a1,a2,,aNA= {a_1,a_2,\ldots,a_N} 和一个整数 MM

AA 的一个半公倍数是满足以下条件的正整数 XX,对于每个 kk (1kN)(1 \leq k \leq N) 都有:

  • 存在一个非负整数 pp 使得 X=ak×(p+0.5)X= a_k \times (p+0.5)

求在 11MM(包括 MM)之间的所有整数中,AA 的半公倍数的数量。

约束条件

  • 1N1051 \leq N \leq 10^5
  • 1M1091 \leq M \leq 10^9
  • 2ai1092 \leq a_i \leq 10^9
  • aia_i 是一个偶数。
  • 输入中的所有值都是整数。

输入

从标准输入读入输入数据,格式如下:

NN MM

a1a_1 a2a_2 ...... aNa_N

输出

打印在 11MM(包括 MM)之间的所有整数中,AA 的半公倍数的数量。


示例输入 1

2 50
6 10

示例输出 1

2
  • 15=6×2.515 = 6 \times 2.5
  • 15=10×1.515 = 10 \times 1.5
  • 45=6×7.545 = 6 \times 7.5
  • 45=10×4.545 = 10 \times 4.5

因此,15154545AA 的半公倍数。在 115050 之间没有其他 AA 的半公倍数,所以答案是 22


示例输入 2

3 100
14 22 40

示例输出 2

0

答案可能是 00


示例输入 3

5 1000000000
6 6 2 6 2

示例输出 3

166666667