#include <iostream>
#include <cstring>
using namespace std;
int dp[21][15001];
int main() {
int i, j, k;
int numc,numg;
int pos[21], weight[21];
cin >> numc >> numg;
for (i = 1; i <= numc; i++)
cin >> pos[i];
for (i = 1; i <= numg; i++)
cin >> weight[i];
memset(dp, 0, sizeof(dp));
dp[0][7500] = 1;
for (i = 1; i <= numg; i++) {
for (j = 0; j <= 15000; j++) {
if (dp[i - 1][j]) {
for (k = 1; k <= numc; k++) {
dp[i][j + weight[i] * pos[k]] += dp[i - 1][j];
}
}
}
}
cout << dp[numg][7500] << endl;
return 0;
}