#AT1248. 半公倍数

半公倍数

题目描述

给定一个由NN个正偶数构成的序列A=a1,a2,aNA = a_1,a_2,……a_N,以及一个整数MM.

半公倍数是指满足以下条件的正整数XX,对于每个k(1kN)k(1 \leq k \leq N),都存在非负整数pp,使得X=ak×(p+0.5)X = a_k \times (p+ 0.5)

计算在11MM(包括11MM)之间半公倍数的个数。

输入

第一行两个整数N,MN,M

第二行NN个整数,表示aa序列

输出

打印在11MM(包括11MM)之间半公倍数的个数。

2 50
6 10
2

样例解释

15=6x2.5

15= 10 x 1.5

45=6x7.5

45= 10 x4.5

因此,15和45是半公倍数。在1到50之间没有其他半公倍数,所以答案为2

3 100
14 22 40
0
5 1000000000
6 6 2 6 2
166666667

提示

  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • 1  M  109 1\ \leq\ M\ \leq\ 10^9
  • 2  ai  109 2\ \leq\ a_i\ \leq\ 10^9
  • ai a_i 为偶数
  • 输入中的所有值都为整数。