After returning from the army Makes received a gift — an array *a* consisting of *n* positive integer numbers. He hadn't been solving problems for a long time, so he became interested to answer a particular question: how many triples of indices (*i*, *j*, *k*) (*i* < *j* < *k*), such that *a*_{i}·*a*_{j}·*a*_{k} is minimum possible, are there in the array? Help him with it!

The first line of input contains a positive integer number *n* (3 ≤ *n* ≤ 10^{5}) — the number of elements in array *a*. The second line contains *n* positive integer numbers *a*_{i} (1 ≤ *a*_{i} ≤ 10^{9}) — the elements of a given array.

Print one number — the quantity of triples (*i*, *j*, *k*) such that *i*, *j* and *k* are pairwise distinct and *a*_{i}·*a*_{j}·*a*_{k} is minimum possible.

In the first example Makes always chooses three ones out of four, and the number of ways to choose them is 4.

In the second example a triple of numbers (1, 2, 3) is chosen (numbers, not indices). Since there are two ways to choose an element 3, then the answer is 2.

In the third example a triple of numbers (1, 1, 2) is chosen, and there's only one way to choose indices.

提交代码