#include <bits/stdc++.h>
using namespace std;
const int maxn = 2005;
int n, k;
int a[maxn], b[maxn];
map<int, bool> MAP;
int main() {
  int ans = 0;
  scanf("%d%d", &k, &n);
  for (int i = 0; i < k; i++) {
    scanf("%d", &a[i]);
  }
  for (int i = 0; i < n; i++) {
    scanf("%d", &b[i]);
  }
  vector<int> p;
  if (k < n) {
    cout << 0 << endl;
    return 0;
  }
  for (int i = 0; i < k; i++) {
    MAP.clear();
    for (int i = 1; i < n; i++) {
      MAP[b[i]] = true;
    }
    bool ok = true;
    int t = b[0];
    for (int j = i; j > 0; j--) {
      t -= a[j];
      MAP.find(t)->second = false;
    }
    int m = t - a[0];
    t = b[0];
    for (int j = i + 1; j < k; j++) {
      t += a[j];
      MAP.find(t)->second = false;
    }
    for (map<int, bool>::iterator it = MAP.begin(); it != MAP.end(); it++) {
      if (it->second) {
        ok = false;
        break;
      }
    }
    if (ok) {
      p.push_back(m);
    }
  }
  sort(p.begin(), p.end());
  for (int i = 0; i < p.size(); i++) {
    if (i == p.size() - 1 || p[i] != p[i + 1]) ans++;
  }
  cout << ans << endl;
  return 0;
}
