n = int(eval(input()))

a = list(map(int,input().split()))

list_S = [0]

ans = 0

for i in range(n):

    list_S.append(list_S[i] + a[i])



list_S.sort() # 昇順に並び替え 計算量はO(NlogN)

pre = list_S[0] # 前の数字

acc = 1 # 今まで何個同じ数字が連続したか

for i in range(1,n+1): # i番目の数字を見る．ちなみに0番目の数字は上2行でもう見た

    if list_S[i] == pre: # 今見ている数字が前の数字と同じなら，accに1加算

        acc += 1

    else: # 違うなら，ansに(acc個の中から2個選ぶ場合の数)を加算

        ans += acc * (acc-1) // 2

        pre = list_S[i]

        acc = 1 # accを初期化



ans += acc * (acc-1) // 2 # 一番最後に連続している数字群を足せていないので，ここで補正



    

print(ans)

n = int(eval(input()))

a = list(map(int,input().split()))

list_S = [0]

ans = 0

for i in range(n):

    list_S.append(list_S[i] + a[i])



dict_S = {}

for i in list_S:

    if i in dict_S:

        dict_S[i] += 1

    else:

        dict_S[i] = 1



for v in list(dict_S.values()):

    ans += v * (v-1) // 2



print(ans)
n = int(eval(input()))
a = list(map(int, input().split()))
list_S = [0]
ans = 0
for i in range(n):
    list_S.append(list_S[i] + a[i])
list_S.sort()  # 昇順に並び替え 計算量はO(NlogN)
pre = list_S[0]  # 前の数字
acc = 1  # 今まで何個同じ数字が連続したか
for i in range(1, n + 1):  # i番目の数字を見る．ちなみに0番目の数字は上2行でもう見た
    if list_S[i] == pre:  # 今見ている数字が前の数字と同じなら，accに1加算
        acc += 1
    else:  # 違うなら，ansに(acc個の中から2個選ぶ場合の数)を加算
        ans += acc * (acc - 1) // 2
        pre = list_S[i]
        acc = 1  # accを初期化
ans += acc * (acc - 1) // 2  # 一番最後に連続している数字群を足せていないので，ここで補正
print(ans)

n = int(eval(input()))
a = list(map(int, input().split()))
list_S = [0]
ans = 0
for i in range(n):
    list_S.append(list_S[i] + a[i])
dict_S = {}
for i in list_S:
    if i in dict_S:
        dict_S[i] += 1
    else:
        dict_S[i] = 1
for v in list(dict_S.values()):
    ans += v * (v - 1) // 2
print(ans)

-list_S.sort()  # 昇順に並び替え 計算量はO(NlogN) -pre = list_S[0]  # 前の数字 -acc = 1  # 今まで何個同じ数字が連続したか -for i in range(1, n + 1):  # i番目の数字を見る．ちなみに0番目の数字は上2行でもう見た -    if list_S[i] == pre:  # 今見ている数字が前の数字と同じなら，accに1加算 -        acc += 1 -    else:  # 違うなら，ansに(acc個の中から2個選ぶ場合の数)を加算 -        ans += acc * (acc - 1) // 2 -        pre = list_S[i] -        acc = 1  # accを初期化 -ans += acc * (acc - 1) // 2  # 一番最後に連続している数字群を足せていないので，ここで補正 +dict_S = {} +for i in list_S: +    if i in dict_S: +        dict_S[i] += 1 +    else: +        dict_S[i] = 1 +for v in list(dict_S.values()): +    ans += v * (v - 1) // 2