CF BUDDY
← Problems·

1469D · Ceil Divisions

1700 · brute force, constructive algorithms, math

Problem: 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.

Input Format: 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.

Output Format: 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.

Note: 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].

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].

Sample Cases

Case 1

Input

2
3
4

Output

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

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback