class Solution:
def countStableSubarrays(self, capacity: List[int]) -> int:
n = len(capacity)
ans = 0
cnt = defaultdict(int)
pfs = [0] * (n + 1)
for i in range(n):
pfs[i + 1] = capacity[i] + pfs[i]
for i in range(n):
# i - j >= 2 and pfs[i] - pfs[j + 1] == capacity[i]
if i >= 2:
cnt[(capacity[i-2], pfs[i-1])] += 1
requiredP = pfs[i] - capacity[i]
ans += cnt[(capacity[i], requiredP)]
return ans