题目描述
给定N种硬币,其中第 i种硬币的面值为Ai, 共有Ci 个。
从中选出若干个硬币,把面值相加,若结果为S,则称“面值S能被拼成”。
求1∼M之间能被拼成的面值有多少个。
输入格式
入包含多组测试用例。
每组测试用例第一行包含两个整数N和M。
第二行包含2N个整数,分别表示A1 ,A2 ,…,AN 和C1 ,C2 ,…,CN 。
当输入用例N=0,M=0时,表示输入终止,且该用例无需处理。
输出格式
每组用例输出一个结果,每个结果占一行。
样例
输入样例
3 10
1 2 4 2 1 1
2 5
1 4 2 1
0 0
输出样例
8
4
提示
1≤N≤100,
1≤M≤105,
1≤Ai ≤105,
1≤Ci ≤1000