CF BUDDY
← Problems·

1334D · Minimum Euler Cycle

1800 · constructive algorithms, graphs, greedy

Problem: You are given a complete directed graph KnK_n with nn vertices: each pair of vertices uvu \neq v in KnK_n have both directed edges (u,v)(u, v) and (v,u)(v, u); there are no self-loops.

You should find such a cycle in KnK_n that visits every directed edge exactly once (allowing for revisiting vertices).

We can write such cycle as a list of n(n1)+1n(n - 1) + 1 vertices v1,v2,v3,,vn(n1)1,vn(n1),vn(n1)+1=v1v_1, v_2, v_3, \dots, v_{n(n - 1) - 1}, v_{n(n - 1)}, v_{n(n - 1) + 1} = v_1 — a visiting order, where each (vi,vi+1)(v_i, v_{i + 1}) occurs exactly once.

Find the lexicographically smallest such cycle. It's not hard to prove that the cycle always exists.

Since the answer can be too large print its [l,r][l, r] segment, in other words, vl,vl+1,,vrv_l, v_{l + 1}, \dots, v_r.

Input Format: The first line contains the single integer TT (1T1001 \le T \le 100) — the number of test cases.

Next TT lines contain test cases — one per line. The first and only line of each test case contains three integers nn, ll and rr (2n1052 \le n \le 10^5, 1lrn(n1)+11 \le l \le r \le n(n - 1) + 1, rl+1105r - l + 1 \le 10^5) — the number of vertices in KnK_n, and segment of the cycle to print.

It's guaranteed that the total sum of nn doesn't exceed 10510^5 and the total sum of rl+1r - l + 1 doesn't exceed 10510^5.

Output Format: For each test case print the segment vl,vl+1,,vrv_l, v_{l + 1}, \dots, v_r of the lexicographically smallest cycle that visits every edge exactly once.

Note: In the second test case, the lexicographically minimum cycle looks like: 1,2,1,3,2,3,11, 2, 1, 3, 2, 3, 1.

In the third test case, it's quite obvious that the cycle should start and end in vertex 11.

Sample Cases

Case 1

Input

3
2 1 3
3 3 6
99995 9998900031 9998900031

Output

1 2 1 
1 3 2 3 
1

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