题库练习 Numbers on Whiteboard
← 上一题 下一题 →

A13784 | Numbers on Whiteboard

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

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:

1. choose $a = 4$ and $b = 2$ , so the new number is $3$ , and the whiteboard contains $[1, 3, 3]$ ;
2. choose $a = 3$ and $b = 3$ , so the new number is $3$ , and the whiteboard contains $[1, 3]$ ;
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.

输入输出样例

输入 #1
1
4
输出 #1
2
2 4
3 3
3 1
C++ 编辑器
输入
输出