C. Numbers on Whiteboardtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputNumbers 1, 2, 3, \dots n (each integer from 1 to n once) are written on a board. In one operation you can erase any two numbers a and b from the board and write one integer \frac{a + b}{2} rounded up instead.You should perform the given operation n - 1 times and make the resulting number that will be left on the board as small as possible. For example, if n = 4, the following course of action is optimal:  choose a = 4 and b = 2, so the new number is 3, and the whiteboard contains [1, 3, 3];  choose a = 3 and b = 3, so the new number is 3, and the whiteboard contains [1, 3];  choose a = 1 and b = 3, so the new number is 2, and the whiteboard contains [2]. It's easy to see that after n - 1 operations, there will be left only one number. Your goal is to minimize it.InputThe first line contains one integer t (1 \le t \le 1000) — the number of test cases.The only line of each test case contains one integer n (2 \le n \le 2 \cdot 10^5) — the number of integers written on the board initially.It's guaranteed that the total sum of n over test cases doesn't exceed 2 \cdot 10^5.OutputFor each test case, in the first line, print the minimum possible number left on the board after n - 1 operations. Each of the next n - 1 lines should contain two integers — numbers a and b chosen and erased in each operation.ExampleInput
1
4
Output
2
2 4
3 3
3 1

1
4

2 2 4 3 3 3 1 
['constructive algorithms', 'data structures', 'greedy', 'implementation', 'math', '*1000']