o=lambda:[int(f)for f in input().split()]
k,n=o()
a=o()
b=o()
s=[]
for x in b:
t=x
t1=set()
for y in a:
t-=y
t1.add(t)
s+=[t1]
print(len(set.intersection(*s)))
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;
#define pb push_back
#define sz(x) (int)(x).size()
#define f first
#define s second
#define mp make_pair
const int INF = INT_MAX;
const int MOD = 1e9 + 7;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, k;
cin >> k >> n;
vector<int> changes(k + 1), scores(n);
for (int i = 1; i <= k; i++) {
cin >> changes[i];
changes[i] += changes[i - 1];
}
for (int &s: scores) cin >> s;
set<int> start_pos;
for (int i = 1; i <= k; i++) {
start_pos.insert(scores[0] - changes[i]);
}
int ans = 0;
for (int s: start_pos) {
set<int> points;
for (int i = 1; i <= k; i++) points.insert(s + changes[i]);
bool valid = true;
for (int sc: scores)
valid &= points.count(sc);
ans += valid;
}
cout << ans << "\n";
return 0;
}
Partitioning binary strings | Special sets |
Smallest chosen word | Going to office |
Color the boxes | Missing numbers |
Maximum sum | 13 Reasons Why |
Friend's Relationship | Health of a person |
Divisibility | A. Movement |
Numbers in a matrix | Sequences |
Split houses | Divisible |
Three primes | Coprimes |
Cost of balloons | One String No Trouble |
Help Jarvis! | Lift queries |
Goki and his breakup | Ali and Helping innocent people |
Book of Potion making | Duration |
Birthday Party | e-maze-in |
Bricks Game | Char Sum |