CF1469D.Ceil Divisions

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You have an array a1,a2,,ana_1, a_2, \dots, a_n where ai=ia_i = i .

In one step, you can choose two indices xx and yy ( xyx \neq y ) and set ax=axaya_x = \left\lceil \frac{a_x}{a_y} \right\rceil (ceiling function).

Your goal is to make array aa consist of n1n - 1 ones and 11 two in no more than n+5n + 5 steps. Note that you don't have to minimize the number of steps.

输入格式

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

The first and only line of each test case contains the single integer nn ( 3n21053 \le n \le 2 \cdot 10^5 ) — the length of array aa .

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

输出格式

For each test case, print the sequence of operations that will make aa as n1n - 1 ones and 11 two in the following format: firstly, print one integer mm ( mn+5m \le n + 5 ) — the number of operations; next print mm pairs of integers xx and yy ( 1x,yn1 \le x, y \le n ; xyx \neq y ) ( xx may be greater or less than yy ) — the indices of the corresponding operation.

It can be proven that for the given constraints it's always possible to find a correct sequence of operations.

输入输出样例

  • 输入#1

    2
    3
    4

    输出#1

    2
    3 2
    3 2
    3
    3 4
    4 2
    4 2

说明/提示

In the first test case, you have array a=[1,2,3]a = [1, 2, 3] . For example, you can do the following:

  1. choose 33 , 22 : a3=a3a2=2a_3 = \left\lceil \frac{a_3}{a_2} \right\rceil = 2 and array a=[1,2,2]a = [1, 2, 2] ;
  2. choose 33 , 22 : a3=22=1a_3 = \left\lceil \frac{2}{2} \right\rceil = 1 and array a=[1,2,1]a = [1, 2, 1] .

You've got array with 22 ones and 11 two in 22 steps.In the second test case, a=[1,2,3,4]a = [1, 2, 3, 4] . For example, you can do the following:

  1. choose 33 , 44 : a3=34=1a_3 = \left\lceil \frac{3}{4} \right\rceil = 1 and array a=[1,2,1,4]a = [1, 2, 1, 4] ;
  2. choose 44 , 22 : a4=42=2a_4 = \left\lceil \frac{4}{2} \right\rceil = 2 and array a=[1,2,1,2]a = [1, 2, 1, 2] ;
  3. choose 44 , 22 : a4=22=1a_4 = \left\lceil \frac{2}{2} \right\rceil = 1 and array a=[1,2,1,1]a = [1, 2, 1, 1] .
首页