1 #include <iostream>
2 #include <cstdio>
3 #include <cmath>
4 #include <cstring>
5 #include <algorithm>
6 #include <queue>
7 #include <stack>
8 #include <vector>
9 using namespace std;
10 int dp[21][15001];
11 int main(int argc, char *argv[])
12 {
13 int a[25],b[25],n,m;
14 scanf("%d%d",&n,&m);
15 for(int i=1;i<=n;i++)
16 scanf("%d",&a[i]);
17 for(int j=1;j<=m;j++)
18 scanf("%d",&b[j]);
19 memset(dp,0,sizeof(dp));
20 dp[0][7500]=1;
21 for(int i=1;i<=m;i++)
22 {
23 for(int j=15000;j>=0;j--)
24 {
25 for(int k=1;k<=n;k++)
26 {
27 if(j>=b[i]*a[k])
28 dp[i][j]+=dp[i-1][j-b[i]*a[k]];
29 }
30 }
31 }
32 printf("%d",dp[m][7500]);
33 return 0;
34 }