A chef wants to roast pieces of meat evenly. The pieces are arranged in a line and numbered from left to right. Initially, every piece has a cooking level of .
In one operation, choose the left or right side and an integer heating power (). The cooking level of the -th piece from the chosen side increases by . The piece at the chosen end has .
For example, suppose there are pieces with cooking levels from left to right. Heating from the left with power increases their cooking levels by , respectively, resulting in . The fourth piece does not become more cooked in this operation.
If we then heat from the left again with power , the increases are , resulting in . Thus, the increases from each operation are added to the current cooking levels.
Find the minimum number of operations needed to make the cooking levels of all pieces equal to the same positive integer, and output operations that achieve this.
The input is given in the following format:
For each test case, print the minimum number of operations on the first line.
On the next lines, print the operations in the order they are performed. On the -th line, print two space-separated integers ().
In the first test case, the only piece reaches a cooking level of .
In the second test case, both pieces reach a cooking level of .
In the third test case, the cooking levels are after the first operation and after the second operation.
is the number of test cases. Each test case is given in the following format:
After all operations, every piece must have the same cooking level, and this level must be at least . If there are multiple valid answers, print any one of them.