#include <bits/stdc++.h>
using namespace std;
int b[100], a[200], used[200], dp[1 << 24], n, k, t[200], l;
const int mod = 1000 * 1000 * 1000 + 7;
int j, i, d;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  cin >> k;
  for (int i = 0; i < k; i++) cin >> b[i];
  dp[0] = 1;
  l = 1 << n;
  for (i = 1; i < l; i++) {
    d = 0;
    for (j = 0; j < n; j++)
      if (i & (1 << j)) {
        dp[i] = (dp[i] + dp[i ^ (1 << j)]) % mod;
        d += a[j];
      }
    for (j = 0; j < k; j++)
      if (d == b[j]) dp[i] = 0;
  }
  cout << dp[l - 1];
}
