CF1762B Make Array Good
Description
An array $ b $ of $ m $ positive integers is good if for all pairs $ i $ and $ j $ ( $ 1 \leq i,j \leq m $ ), $ \max(b_i,b_j) $ is divisible by $ \min(b_i,b_j) $ .
You are given an array $ a $ of $ n $ positive integers. You can perform the following operation:
- Select an index $ i $ ( $ 1 \leq i \leq n $ ) and an integer $ x $ ( $ 0 \leq x \leq a_i $ ) and add $ x $ to $ a_i $ , in other words, $ a_i := a_i+x $ .
- After this operation, $ a_i \leq 10^{18} $ should be satisfied.
You have to construct a sequence of at most $ n $ operations that will make $ a $ good. It can be proven that under the constraints of the problem, such a sequence of operations always exists.
Input Format
Each test contains multiple test cases. The first line contains a single integer $ t $ ( $ 1 \leq t \leq 10^4 $ ) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single integer $ n $ ( $ 1 \leq n \leq 10^5 $ ) — the length of the array $ a $ .
The second line of each test case contains $ n $ space-separated integers $ a_1,a_2,\ldots,a_n $ ( $ 1 \leq a_i \leq 10^9 $ ) — representing the array $ a $ .
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 10^5 $ .
Output Format
For each test, output a single integer $ p $ ( $ 0 \leq p \leq n $ ) — denoting the number of operations in your solution.
In each of the following $ p $ lines, output two space-separated integers — $ i $ and $ x $ .
You do not need to minimize the number of operations. It can be proven that a solution always exists.
Explanation/Hint
In the first test case, array $ a $ becomes $ [5,5,5,5] $ after the operations. It is easy to see that $ [5,5,5,5] $ is good.
In the second test case, array $ a $ is already good.
In the third test case, after performing the operations, array $ a $ becomes $ [10,5,350,5,10] $ , which is good.
In the fourth test case, after performing the operations, array $ a $ becomes $ [60,10,20] $ , which is good.