func numberOfArithmeticSlices(A []int) (res int) {
	n := len(A)
	if n <= 2 {
		return 0
	}
	diff, cnt := A[1]-A[0], 2
	for i := 2; i < n; i++ {
		if A[i]-A[i-1] == diff {
			cnt++
		} else {
			// 1 + ... + cnt-2
			res += (cnt - 1) * (cnt - 2) / 2
			diff = A[i] - A[i-1]
			cnt = 2
		}
	}
	return res + (cnt-1)*(cnt-2)/2
}