Codeforces Round 720 (Div. 2)
B
Nastia and a Good Array
Codeforces
1300
原题
← AC →
翻译中…

Nastia has received an array of $n$ positive integers as a gift.

翻译中…

She calls such an array $a$ good that for all $i$ ($2 \le i \le n$) takes place $gcd(a_{i - 1}, a_{i}) = 1$, where $gcd(u, v)$ denotes the greatest common divisor (GCD) of integers $u$ and $v$.

翻译中…

You can perform the operation: select two different indices $i, j$ ($1 \le i, j \le n$, $i \neq j$) and two integers $x, y$ ($1 \le x, y \le 2 \cdot 10^9$) so that $\min{(a_i, a_j)} = \min{(x, y)}$. Then change $a_i$ to $x$ and $a_j$ to $y$.

翻译中…

The girl asks you to make the array good using at most $n$ operations.

翻译中…

It can be proven that this is always possible.

翻译中…

Input

翻译中…

The first line contains a single integer $t$ ($1 \le t \le 10\,000$) — the number of test cases.

翻译中…

The first line of each test case contains a single integer $n$ ($1 \le n \le 10^5$) — the length of the array.

翻译中…

The second line of each test case contains $n$ integers $a_1, a_2, \ldots, a_{n}$ ($1 \le a_i \le 10^9$) — the array which Nastia has received as a gift.

翻译中…

It's guaranteed that the sum of $n$ in one test doesn't exceed $2 \cdot 10^5$.

翻译中…

Output

翻译中…

For each of $t$ test cases print a single integer $k$ ($0 \le k \le n$) — the number of operations. You don't need to minimize this number.

翻译中…

In each of the next $k$ lines print $4$ integers $i$, $j$, $x$, $y$ ($1 \le i \neq j \le n$, $1 \le x, y \le 2 \cdot 10^9$) so that $\min{(a_i, a_j)} = \min{(x, y)}$ — in this manner you replace $a_i$ with $x$ and $a_j$ with $y$.

翻译中…

If there are multiple answers, print any.

翻译中…

Note

翻译中…

Consider the first test case.

翻译中…

Initially $a = [9, 6, 3, 11, 15]$.

翻译中…

In the first operation replace $a_1$ with $11$ and $a_5$ with $9$. It's valid, because $\min{(a_1, a_5)} = \min{(11, 9)} = 9$.

翻译中…

After this $a = [11, 6, 3, 11, 9]$.

翻译中…

In the second operation replace $a_2$ with $7$ and $a_5$ with $6$. It's valid, because $\min{(a_2, a_5)} = \min{(7, 6)} = 6$.

翻译中…

After this $a = [11, 7, 3, 11, 6]$ — a good array.

翻译中…

In the second test case, the initial array is already good.

翻译中…

样例

Input #1
2
5
9 6 3 11 15
3
7 5 13
Output #1
2
1 5 11 9
2 5 7 6
0
InputCopy OutputCopy
题目信息
题号
1521B
时间限制
2 s
内存限制
256 MB
标签
构造
数学
数论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。