P10973 Coins

题目描述

银国的人们使用硬币。他们有面值分别为 $A_1, A_2, A_3, \dots, A_n$ 的硬币。有一天,托尼打开了他的储蓄罐,发现里面有一些硬币。他决定去附近的商店购买一块非常漂亮的手表。他想要支付准确的价格(不找零),而他知道手表的价格不会超过 $m$ 。但他不知道手表的确切价格。 你需要编写一个程序,读取 $n$、$m$、$A_1, A_2, A_3, \dots, A_n$ 以及对应的数量 $C_1, C_2, C_3, \dots, C_n$ (表示托尼拥有的每种面值的硬币数量),然后计算托尼可以用这些硬币支付的价格数量(从 1 到 $m$ 的所有价格)。

输入格式

输入包含多个测试用例(不超过 $25$ 组)。每个测试用例的第一行包含两个整数 $n (1 ≤ n ≤ 100)$ 和 $m (m ≤ 100000)$。第二行包含 $2n$ 个整数,分别表示 $A_1, A_2, A_3, \dots, A_n$ 和 $C_1, C_2, C_3, \dots, C_n (1 ≤ A_i ≤ 100000, 1 ≤ C_i ≤ 1000)$。最后一个测试用例以两个零结尾。

输出格式

对于每个测试用例,在单独的一行输出答案。