codeforces#P1430C. Numbers on Whiteboard
Numbers on Whiteboard
Description
Numbers $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.
The 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$.
For 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.
Input
The 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$.
Output
For 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.
Samples
1
4
2
2 4
3 3
3 1