#P1416B. Make Them Equal

    ID: 1220 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>constructive algorithmsgreedymath*2000

Make Them Equal

No submission language available for this problem.

Description

You are given an array aa consisting of nn positive integers, numbered from 11 to nn. You can perform the following operation no more than 3n3n times:

  1. choose three integers ii, jj and xx (1i,jn1 \le i, j \le n; 0x1090 \le x \le 10^9);
  2. assign ai:=aixia_i := a_i - x \cdot i, aj:=aj+xia_j := a_j + x \cdot i.

After each operation, all elements of the array should be non-negative.

Can you find a sequence of no more than 3n3n operations after which all elements of the array are equal?

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

The first line of each test case contains one integer nn (1n1041 \le n \le 10^4) — the number of elements in the array. The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (1ai1051 \le a_i \le 10^5) — the elements of the array.

It is guaranteed that the sum of nn over all test cases does not exceed 10410^4.

For each test case print the answer to it as follows:

  • if there is no suitable sequence of operations, print 1-1;
  • otherwise, print one integer kk (0k3n0 \le k \le 3n) — the number of operations in the sequence. Then print kk lines, the mm-th of which should contain three integers ii, jj and xx (1i,jn1 \le i, j \le n; 0x1090 \le x \le 10^9) for the mm-th operation.

If there are multiple suitable sequences of operations, print any of them. Note that you don't have to minimize kk.

Input

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

The first line of each test case contains one integer nn (1n1041 \le n \le 10^4) — the number of elements in the array. The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (1ai1051 \le a_i \le 10^5) — the elements of the array.

It is guaranteed that the sum of nn over all test cases does not exceed 10410^4.

Output

For each test case print the answer to it as follows:

  • if there is no suitable sequence of operations, print 1-1;
  • otherwise, print one integer kk (0k3n0 \le k \le 3n) — the number of operations in the sequence. Then print kk lines, the mm-th of which should contain three integers ii, jj and xx (1i,jn1 \le i, j \le n; 0x1090 \le x \le 10^9) for the mm-th operation.

If there are multiple suitable sequences of operations, print any of them. Note that you don't have to minimize kk.

Samples

Sample Input 1

3
4
2 16 4 18
6
1 2 3 4 5 6
5
11 19 1 1 3

Sample Output 1

2
4 1 2
2 3 3
-1
4
1 2 4
2 4 5
2 3 3
4 5 1