#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;   }   