# Process input
n = int(input())
arr = list(map(int, input().split()))

# Algo
total = sum(arr)
if total % 3 != 0:
    print(0)
    exit()
chip = total // 3
nPosNums = sum(x > 0 for x in arr)
left, right = [], []
acc, np = 0, 0
for i in range(len(arr)):
    acc += arr[i]
    np += arr[i] > 0
    if acc == chip and np > 0: left.append((i, np))
acc, np = 0, 0
for i in range(len(arr)-1, -1, -1):
    acc += arr[i]
    np += arr[i] > 0
    if acc == chip and np > 0: right.append((i, np))
cnt = 0
for x, npL in left:
    for y, npR in right:
        if y <= x or npL+npR == nPosNums:
            break
        cnt += 1

print(cnt)