#include <iostream>
#include <vector>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, k;
if (!(cin >> n >> k)) return 0;
vector<long long> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
vector<long long> t(k);
for (int i = 0; i < k; i++) {
cin >> t[i];
}
if (k == 1) {
cout << n << "\n";
return 0;
}
vector<long long> da(n - 1);
for (int i = 0; i < n - 1; i++) {
da[i] = a[i + 1] - a[i];
}
vector<long long> dt(k - 1);
for (int i = 0; i < k - 1; i++) {
dt[i] = t[i + 1] - t[i];
}
int m = dt.size();
int sz = da.size();
vector<int> lps(m, 0);
int dlug = 0;
int cos = 1;
while (cos < m) {
if (dt[cos] == dt[dlug]) {
dlug++;
lps[cos] = dlug;
cos++;
} else {
if (dlug != 0) {
dlug = lps[dlug - 1];
} else {
lps[cos] = 0;
cos++;
}
}
}
int pas = 0;
int j = 0;
int i = 0;
while (i < sz) {
if (da[i] == dt[j]) {
i++;
j++;
}
if (j == m) {
pas++;
j = lps[j - 1];
} else if (i < sz && da[i] != dt[j]) {
if (j != 0) {
j = lps[j - 1];
} else {
i++;
}
}
}
cout << pas << "\n";
return 0;
}