description: <image>
  
  William has a favorite bracket sequence. Since his favorite sequence is quite big he provided it to you as a sequence of positive integers c_1, c_2, ..., c_n where c_i is the number of consecutive brackets "(" if i is an odd number or the number of consecutive brackets ")" if i is an even number.
  
  For example for a bracket sequence "((())()))" a corresponding sequence of numbers is [3, 2, 1, 3].
  
  You need to find the total number of continuous subsequences (subsegments) [l, r] (l ≤ r) of the original bracket sequence, which are regular bracket sequences.
  
  A bracket sequence is called regular if it is possible to obtain correct arithmetic expression by inserting characters "+" and "1" into this sequence. For example, sequences "(())()", "()" and "(()(()))" are regular, while ")(", "(()" and "(()))(" are not.
  
  Input
  
  The first line contains a single integer n (1 ≤ n ≤ 1000), the size of the compressed sequence.
  
  The second line contains a sequence of integers c_1, c_2, ..., c_n (1 ≤ c_i ≤ 10^9), the compressed sequence.
  
  Output
  
  Output a single integer — the total number of subsegments of the original bracket sequence, which are regular bracket sequences.
  
  It can be proved that the answer fits in the signed 64-bit integer data type.
  
  Examples
  
  Input
  
  
  5
  4 1 2 3 1
  
  
  Output
  
  
  5
  
  
  Input
  
  
  6
  1 3 2 1 2 4
  
  
  Output
  
  
  6
  
  
  Input
  
  
  6
  1 1 1 1 2 2
  
  
  Output
  
  
  7
  
  Note
  
  In the first example a sequence (((()(()))( is described. This bracket sequence contains 5 subsegments which form regular bracket sequences:
  
    1. Subsequence from the 3rd to 10th character: (()(()))
    2. Subsequence from the 4th to 5th character: ()
    3. Subsequence from the 4th to 9th character: ()(())
    4. Subsequence from the 6th to 9th character: (())
    5. Subsequence from the 7th to 8th character: ()
  
  
  
  In the second example a sequence ()))(()(()))) is described.
  
  In the third example a sequence ()()(()) is described.
solution: from sys import stdin
  raw_input = lambda: stdin.readline().rstrip()
  input = lambda: int(raw_input())
  I=lambda: map(int, raw_input().split())
  n = input()
  a = I()
  a1 = list(reversed(a))
  d = {}
  for i in xrange(0, n, 2):
  	c = 0
  	b = 0
  	c1 = -a[i]
  	for j in xrange(i+1, n):
  		if j%2==0:
  			c += a[j]
  		else:
  			d[(i, j)] = (c, -b)
  			c -= a[j]
  			b = min(c, b)
  			if c<c1:
  				break
  d1= {}
  if n%2==0:
  	# print a1
  	for i in xrange(0, n, 2):
  		c = 0
  		b = 0
  		c1 = -a1[i]
  		for j in xrange(i+1, n):
  			# print i, j
  			# print (n-j-1, n-i-1)
  			# print c
  			if j%2==0:
  				c += a1[j]
  			else:
  				d1[(n-j-1, n-i-1)] = (-c, -b)
  				c -= a1[j]
  				b = min(c, b)
  				# print c, c1
  				if c<c1:
  					break
  else:
  	a1 = a1[1:]
  	for i in xrange(0, n-1, 2):
  		c = 0
  		b = 0
  		c1 = -a1[i]
  		for j in xrange(i+1, n-1):
  			if j%2==0:
  				c += a1[j]
  			else:
  				d1[(n-j-2, n-i-2)] = (-c, -b)
  				c -= a1[j]
  				b = min(b, c)
  				if c<c1:
  					break
  		
  r = 0
  for i in xrange(0, n, 2):
  	for j in xrange(i+1, n, 2):
  		q = (i, j)
  		if q in d and q in d1:
  			c, b1 = d[q]
  			_, b2 = d1[q]
  			if c>0:
  				r += max(0, min((a[j]-max(0, b2-1), a[i]-max(0, b1-1))))
  			else:
  				r += max(0, min(a[j]-max(0, b2-1), a[i]-max(0, b1-1)))
  print r
  # print d
  # print d1