#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define N 100000 + 100
int num[N], w[N], f[N], cnt[N];
int n, m;
int main()
{
while(scanf("%d %d",&n , &m) != EOF &&(n + m))
{
for( int i = 0; i < n; i++)
scanf("%d",&w[i]);
for( int i = 0; i < n; i++)
scanf("%d", &num[i]);
memset(f, 0, sizeof(f));
f[0] = 1;
int ans = 0;
for( int i = 0; i < n; i++)
{
memset(cnt , 0, sizeof(cnt));
for( int j = w[i]; j <= m; j++)
{
if(!f[j] && f[j - w[i]] && cnt[j-w[i]] < num[i])
{
f[j] = true;
cnt[j] = cnt[j-w[i]] + 1;
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}