#P1430C. Numbers on Whiteboard

    ID: 5624 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>constructive algorithmsdata structuresgreedyimplementationmath*1000

Numbers on Whiteboard

No submission language available for this problem.

Description

Numbers 1,2,3,n1, 2, 3, \dots n (each integer from 11 to nn once) are written on a board. In one operation you can erase any two numbers aa and bb from the board and write one integer a+b2\frac{a + b}{2} rounded up instead.

You should perform the given operation n1n - 1 times and make the resulting number that will be left on the board as small as possible.

For example, if n=4n = 4, the following course of action is optimal:

  1. choose a=4a = 4 and b=2b = 2, so the new number is 33, and the whiteboard contains [1,3,3][1, 3, 3];
  2. choose a=3a = 3 and b=3b = 3, so the new number is 33, and the whiteboard contains [1,3][1, 3];
  3. choose a=1a = 1 and b=3b = 3, so the new number is 22, and the whiteboard contains [2][2].

It's easy to see that after n1n - 1 operations, there will be left only one number. Your goal is to minimize it.

The first line contains one integer tt (1t10001 \le t \le 1000) — the number of test cases.

The only line of each test case contains one integer nn (2n21052 \le n \le 2 \cdot 10^5) — the number of integers written on the board initially.

It's guaranteed that the total sum of nn over test cases doesn't exceed 21052 \cdot 10^5.

For each test case, in the first line, print the minimum possible number left on the board after n1n - 1 operations. Each of the next n1n - 1 lines should contain two integers — numbers aa and bb chosen and erased in each operation.

Input

The first line contains one integer tt (1t10001 \le t \le 1000) — the number of test cases.

The only line of each test case contains one integer nn (2n21052 \le n \le 2 \cdot 10^5) — the number of integers written on the board initially.

It's guaranteed that the total sum of nn over test cases doesn't exceed 21052 \cdot 10^5.

Output

For each test case, in the first line, print the minimum possible number left on the board after n1n - 1 operations. Each of the next n1n - 1 lines should contain two integers — numbers aa and bb chosen and erased in each operation.

Samples

Sample Input 1

1
4

Sample Output 1

2
2 4
3 3
3 1