"
長さNの整数列 a0,a1,…,aN−1a0,a1,…,aN−1 が与えられる。
この整数列の連続する区間であって、
その区間内の値の総和が0になるものが何個あるか答えよ。
"

# 入力
N = gets.to_i
a = []
a = gets.split.map(&:to_i)

# aの累積和をsに入れる(sはaより1だけ長い)
sum = 0
s = []
s[0] = 0
N.times do |i|
  s[i+1] = s[i] + a[i] 
end


# a[i]からa[j]までの和(i<=j, i,j=0,,,N-1)はs[j+1]-s[i]で求まる
# s[j+1]-s[i] == 0となる組み合わせの数を求めればOK
# 長さNなので連続する区間の長さは1からN-1
ans = 0
N.times do |i|
  i.upto(N-1) do |j|
    if s[j+1] == s[i]
      ans = ans + 1
    end
  end
end

puts ans