CF1430C.Numbers on Whiteboard

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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.

输入输出样例

  • 输入#1

    1
    4

    输出#1

    2
    2 4
    3 3
    3 1
首页