CF BUDDY
← Problems·

1922B · Forming Triangles

1200 · combinatorics, constructive algorithms, math

Problem: You have nn sticks, numbered from 11 to nn. The length of the ii-th stick is 2ai2^{a_i}.

You want to choose exactly 33 sticks out of the given nn sticks, and form a non-degenerate triangle out of them, using the sticks as the sides of the triangle. A triangle is called non-degenerate if its area is strictly greater than 00.

You have to calculate the number of ways to choose exactly 33 sticks so that a triangle can be formed out of them. Note that the order of choosing sticks does not matter (for example, choosing the 11-st, 22-nd and 44-th stick is the same as choosing the 22-nd, 44-th and 11-st stick).

Input Format: The first line contains one integer tt (1t1041 \le t \le 10^4) — the number of test cases.

Each test case consists of two lines:

  • the first line contains one integer nn (1n31051 \le n \le 3 \cdot 10^5);
  • the second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (0ain0 \le a_i \le n).

Additional constraint on the input: the sum of nn over all test cases does not exceed 31053 \cdot 10^5.

Output Format: For each test case, print one integer — the number of ways to choose exactly 33 sticks so that a triangle can be formed out of them.

Note: In the first test case of the example, any three sticks out of the given 77 can be chosen.

In the second test case of the example, you can choose the 11-st, 22-nd and 44-th stick, or the 11-st, 33-rd and 44-th stick.

In the third test case of the example, you cannot form a triangle out of the given sticks with lengths 22, 44 and 88.

Sample Cases

Case 1

Input

4
7
1 1 1 1 1 1 1
4
3 2 1 3
3
1 2 3
1
1

Output

35
2
0
0

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback