现在是 2217 年,Ryan 是一名小行星矿工。他通过开采小行星并将它们卖给 CCO(天体货物前哨站)来谋生。
在他最近的一次采矿探险中,他开采了 $N$ 块矿石,其中第 $i$ 块矿石的价值为 $v_i$,质量为 $m_i$。Ryan 计划用他的火箭将一批矿石运送到 CCO,但他剩下的燃料只够再进行一次航行。他计算出他的火箭可以安全携带的最大总质量为 $M$。由于 Ryan 的采矿技术,这些矿石具有一个特殊属性:对于任意两块矿石,其中一块的质量一定能被另一块的质量整除。
请帮助 Ryan 在满足火箭载重限制的前提下,找出他能运送到 CCO 的最大总价值。
输入格式
第一行包含两个空格分隔的整数 $N$ ($1 \le N \le 500\,000$) 和 $M$ ($1 \le M \le 10^{12}$)。
接下来的 $N$ 行,每行包含两个空格分隔的整数 $v_i$ ($1 \le v_i \le 10^{12}$) 和 $m_i$ ($1 \le m_i \le 10^{12}$),分别表示第 $i$ 块矿石的价值和质量。
此外,对于任意两块矿石 $i, j$ ($1 \le i, j \le N$),满足 $m_i \mid m_j$ 或 $m_j \mid m_i$,其中 $a \mid b$ 表示 $a$ 是 $b$ 的约数(即 $b/a$ 为整数)。
下表显示了 25 分的分布情况:
| 分值 | $N$ 的范围 | $M$ 的范围 | 附加限制 |
|---|---|---|---|
| 2 分 | $N = 2$ | $1 \le M \le 10^4$ | 无 |
| 2 分 | $1 \le N \le 20$ | $1 \le M \le 10^4$ | 无 |
| 4 分 | $1 \le N \le 1\,000$ | $1 \le M \le 10^4$ | 无 |
| 6 分 | $1 \le N \le 1\,000$ | $1 \le M \le 10^8$ | 无 |
| 2 分 | $1 \le N \le 500\,000$ | $1 \le M \le 10^8$ | 所有 $m_i$ 相等 |
| 3 分 | $1 \le N \le 500\,000$ | $1 \le M \le 10^8$ | 最多 2 个不同的 $m_i$ |
| 6 分 | $1 \le N \le 500\,000$ | $1 \le M \le 10^{12}$ | 无 |
输出格式
输出一行一个整数,表示 Ryan 能运送到 CCO 的最大总价值。
样例
样例输入 1
6 10 1 1 5 2 200 6 9 2 6 2 100 1
样例输出 1
310
说明 1
Ryan 可以带走除第二块和第五块矿石之外的所有矿石,从而获得 $1 + 200 + 9 + 100 = 310$ 的总价值。注意,这些矿石的总质量为 $1 + 6 + 2 + 1 = 10$。可以证明这是最优解。