import bisect n = int(input()) nums = list(map(int, input().split())) # 构建前缀和 sum_nums = [0] for num in nums: sum_nums.append(sum_nums[-1] + num) total = sum_nums[-1] cnt = 0 for i in range(1, n): # 枚举第一段 [0, i) b1 = sum_nums[i] # 二分查找第一个 j > i,使得 b2 > b1 且 b2 > b3 left = i + 1 right = n idx_j = -1 while left <= right: mid = (left + right) // 2 b2 = sum_nums[mid] - sum_nums[i] b3 = total - sum_nums[mid] if b2 > b1 and b2 > b3: idx_j = mid right = mid - 1 else: left = mid + 1 if idx_j != -1: cnt += n - idx_j print(cnt)