URI Online Judge | 1472

Triangles

Maratona de Programação da SBC Brasil

Timelimit: 1

It will be give to you N points on a circle. You must write a program to determine how many distinct equilateral triangles can be constructed using the given points as vertices.

The figure below illustrates an example: (a) shows a set of points, determined by the lengths of the circular arcs that have adjacent points as extremes; and (b) shows the two triangles which can be built with these points.

Input

The input contains several test cases and ends with EOF. The first line of a test case contains an integer N ( 3 ≤ N ≤ 105), the number of points given. The second line contains N integers X(1 ≤ Xi ≤ 103) for 1 ≤ iN, representing the lengths of the circular arcs between two consecutive points in the circle: for 1 ≤ i ≤ (N − 1), Xi represents the length of the arc between points i and i + 1; XN represents the length of the arc between points N and 1.

Output

For each test case your program must output a single line, containing a single integer, the number of distinct equilateral triangles that can be constructed using the given points as vertices.

Sample Input Sample Output

8
4 2 4 2 2 6 2 2
6
3 4 2 1 5 3

2
1