← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	var n, w int
	fmt.Fscan(in, &n, &w)

	if w == 1 {
		fmt.Println(n)
		return
	}

	a := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(in, &a[i])
	}
	b := make([]int, w)
	for i := 0; i < w; i++ {
		fmt.Fscan(in, &b[i])
	}

	db := make([]int, w-1)
	for i := 0; i < w-1; i++ {
		db[i] = b[i+1] - b[i]
	}

	da := make([]int, n-1)
	for i := 0; i < n-1; i++ {
		da[i] = a[i+1] - a[i]
	}

	pi := make([]int, w-1)
	for i := 1; i < w-1; i++ {
		j := pi[i-1]
		for j > 0 && db[i] != db[j] {
			j = pi[j-1]
		}
		if db[i] == db[j] {
			j++
		}
		pi[i] = j
	}

	ans := 0
	j := 0
	for i := 0; i < n-1; i++ {
		for j > 0 && da[i] != db[j] {
			j = pi[j-1]
		}
		if da[i] == db[j] {
			j++
		}
		if j == w-1 {
			ans++
			j = pi[j-1]
		}
	}
	fmt.Println(ans)
}