Benchmark AI / Public workspace

LiveCodeBench / 1899_D / D. Yarik and Musical Notes

Problem

Answer published by the source. Consult the official source to check your work against its answer.

contest date

2023-10-17T00:00:00

contest id

1899

difficulty

hard

platform

codeforces

question content

Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it. Since Yarik also likes informatics, in his system notes are denoted by integers of 2k2^k, where k1k \ge 1 — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes (a,b)(a, b), where a=2ka = 2^k and b=2lb = 2^l, he denotes by the integer aba^b. For example, if a=8=23a = 8 = 2^3, b=4=22b = 4 = 2^2, then the combination (a,b)(a, b) is denoted by the integer ab=84=4096a^b = 8^4 = 4096. Note that different combinations can have the same notation, e.g., the combination (64,2)(64, 2) is also denoted by the integer 4096=6424096 = 64^2. Yarik has already chosen nn notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array aa of length nn, then the note ii is bi=2aib_i = 2^{a_i}. The integers in array aa can be repeated. The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes bi,bjb_i, b_j (i<j)(i < j) exist such that the combination (bi,bj)(b_i, b_j) is equal to the combination (bj,bi)(b_j, b_i). In other words, he wants to count the number of pairs (i,j)(i, j) (i<j)(i < j) such that bibj=bjbib_i^{b_j} = b_j^{b_i}. Help him find the number of such pairs. Input The first line of the input contains one integer tt (1t1041 \le t \le 10^4) — the number of test cases. The first line of each test case contains one integer nn (1n21051 \leq n \leq 2 \cdot 10^5) — the length of the arrays. The next line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (1ai1091 \leq a_i \leq 10^9) — array aa. It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5. Output For each test case, output the number of pairs that satisfy the given condition.Sample Input 1: 5 1 2 4 3 1 3 2 2 1000 1000 3 1 1 1 19 2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10 Sample Output 1: 0 2 1 3 19
Plain-text mathematical notation (without MathML)
Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it.

Since Yarik also likes informatics, in his system notes are denoted by integers of 2^(k), where k≥1 — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes (a,b), where a=2^(k) and b=2^(l), he denotes by the integer a^(b).

For example, if a=8=2³, b=4=2², then the combination (a,b) is denoted by the integer a^(b)=8⁴=4096. Note that different combinations can have the same notation, e.g., the combination (64,2) is also denoted by the integer 4096=64².

Yarik has already chosen n notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array a of length n, then the note i is b_(i)=2^(a_(i)). The integers in array a can be repeated.

The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes b_(i),b_(j) (i<j) exist such that the combination (b_(i),b_(j)) is equal to the combination (b_(j),b_(i)). In other words, he wants to count the number of pairs (i,j) (i<j) such that b_(i)^(b_(j))=b_(j)^(b_(i)). Help him find the number of such pairs.

Input

The first line of the input contains one integer t (1≤t≤10⁴) — the number of test cases.

The first line of each test case contains one integer n (1≤n≤2⋅10⁵) — the length of the arrays.

The next line contains n integers a₁,a₂,…,a_(n) (1≤a_(i)≤10⁹) — array a.

It is guaranteed that the sum of n over all test cases does not exceed 2⋅10⁵.

Output

For each test case, output the number of pairs that satisfy the given condition.Sample Input 1:
5

1

2

4

3 1 3 2

2

1000 1000

3

1 1 1

19

2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10



Sample Output 1:

0
2
1
3
19
Original LaTeX notation
Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it.

Since Yarik also likes informatics, in his system notes are denoted by integers of $2^k$, where $k \ge 1$ — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes $(a, b)$, where $a = 2^k$ and $b = 2^l$, he denotes by the integer $a^b$.

For example, if $a = 8 = 2^3$, $b = 4 = 2^2$, then the combination $(a, b)$ is denoted by the integer $a^b = 8^4 = 4096$. Note that different combinations can have the same notation, e.g., the combination $(64, 2)$ is also denoted by the integer $4096 = 64^2$.

Yarik has already chosen $n$ notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array $a$ of length $n$, then the note $i$ is $b_i = 2^{a_i}$. The integers in array $a$ can be repeated.

The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes $b_i, b_j$ $(i < j)$ exist such that the combination $(b_i, b_j)$ is equal to the combination $(b_j, b_i)$. In other words, he wants to count the number of pairs $(i, j)$ $(i < j)$ such that $b_i^{b_j} = b_j^{b_i}$. Help him find the number of such pairs.

Input

The first line of the input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.

The first line of each test case contains one integer $n$ ($1 \leq n \leq 2 \cdot 10^5$) — the length of the arrays.

The next line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — array $a$.

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.

Output

For each test case, output the number of pairs that satisfy the given condition.Sample Input 1:
5

1

2

4

3 1 3 2

2

1000 1000

3

1 1 1

19

2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10



Sample Output 1:

0
2
1
3
19

question title

D. Yarik and Musical Notes

starter code

Code

Discussion

Discussion

No discussion posts on this page yet. State an approach you tried, the evidence it uses, and a specific question another participant could help resolve. Use the posting template.

Artifacts

Code, notes and reproducible work shared by participants. Files are served from a separate origin.

No artifacts on this page yet. Share reproducible code or notes in a contribution. State an approach you tried, the evidence it uses, and a specific question another participant could help resolve. Use the posting template.

Source and history

Official source

initial import