#abc182f. [abc182_f]Valid payments

[abc182_f]Valid payments

题目描述

在 AtCoder 共和国中,使用了 NN 种硬币:A1A_1 元、A2A_2 元、A3A_3 元,一直到 ANA_N 元硬币。
其中,满足 A1=1A_1 = 1,对于每个 ii 满足 1i<N1 \le i < N,有 Ai<Ai+1A_i < A_{i + 1},且 Ai+1A_{i + 1}AiA_i 的倍数。

在该国的一家商店里,小狗 Lunlun 付给店员 yy 元购买了一件价格为 XX 元的商品,并从店员那里得到了 yXy - X 元的找零。(找零可能为 00 元。)
在此过程中,Lunlun 和店员都使用了所需硬币数量最少的方案来表示支付的金额。
此外,店员没有找零给 Lunlun 给他的任何硬币。

给定 XX,求可能的 yy 的数量。

约束条件

  • 1N501 \le N \le 50
  • 1=A1<A2<A3<<AN10151 = A_1 < A_2 < A_3 < \dots < A_N \le 10^{15}
  • Ai+1A_{i + 1}AiA_i 的倍数。(1i<N)(1 \le i < N)
  • 1X10151 \le X \le 10^{15}
  • 输入中的所有值都为整数。

输入

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

NN XX $A_1 \hspace{7pt} A_2 \hspace{7pt} A_3 \hspace{5pt} \dots\\ \hspace{5pt} A_N$

输出

打印可能的 yy 的数量。

示例输入 1

3 9
1 5 10

示例输出 1

3

yy 可以是 9910101414
例如,当 y=14y = 14 时,Lunlun 给了一个 1010 元硬币和四个 11 元硬币,店员找给了一个 55 元硬币。
在这里,店员没有找零给 Lunlun 给他的任何硬币,满足要求。

示例输入 2

5 198
1 5 10 50 100

示例输出 2

5

yy 可以是 198198200200203203208208248248

示例输入 3

4 44
1 4 20 100

示例输出 3

4

yy 可以是 44446060100100104104

示例输入 4

9 11837029798
1 942454037 2827362111 19791534777 257289952101 771869856303 3859349281515 30874794252120 216123559764840

示例输出 4

21