CF BUDDY
← Problems·

1552E · Colors and Intervals

2300 · constructive algorithms, data structures, greedy

Problem: The numbers 1,2,,nk1, \, 2, \, \dots, \, n \cdot k are colored with nn colors. These colors are indexed by 1,2,,n1, \, 2, \, \dots, \, n. For each 1in1 \le i \le n, there are exactly kk numbers colored with color ii.

Let [a,b][a, \, b] denote the interval of integers between aa and bb inclusive, that is, the set {a,a+1,,b}\{a, \, a + 1, \, \dots, \, b\}. You must choose nn intervals [a1,b1],[a2,b2],,[an,bn][a_1, \, b_1], \, [a_2, \, b_2], \, \dots, [a_n, \, b_n] such that:

  • for each 1in1 \le i \le n, it holds 1ai<bink1 \le a_i < b_i \le n \cdot k;
  • for each 1in1 \le i \le n, the numbers aia_i and bib_i are colored with color ii;
  • each number 1xnk1 \le x \le n \cdot k belongs to at most nk1\left\lceil \frac{n}{k - 1} \right\rceil intervals.

One can show that such a family of intervals always exists under the given constraints.

Input Format: The first line contains two integers nn and kk (1n1001 \le n \le 100, 2k1002 \le k \le 100) — the number of colors and the number of occurrences of each color.

The second line contains nkn \cdot k integers c1,c2,,cnkc_1, \, c_2, \, \dots, \, c_{nk} (1cjn1 \le c_j \le n), where cjc_j is the color of number jj. It is guaranteed that, for each 1in1 \le i \le n, it holds cj=ic_j = i for exactly kk distinct indices jj.

Output Format: Output nn lines. The ii-th line should contain the two integers aia_i and bib_i.

If there are multiple valid choices of the intervals, output any.

Note: In the first sample, each number can be contained in at most 431=2\left\lceil \frac{4}{3 - 1} \right\rceil = 2 intervals. The output is described by the following picture:

In the second sample, the only interval to be chosen is forced to be [1,2][1, \, 2], and each number is indeed contained in at most 121=1\left\lceil \frac{1}{2 - 1} \right\rceil = 1 interval.

In the third sample, each number can be contained in at most 331=2\left\lceil \frac{3}{3 - 1} \right\rceil = 2 intervals. The output is described by the following picture:

Sample Cases

Case 1

Input

4 3
2 4 3 1 1 4 2 3 2 1 3 4

Output

4 5
1 7
8 11
6 12

Case 2

Input

1 2
1 1

Output

1 2

Case 3

Input

3 3
3 1 2 3 2 1 2 1 3

Output

6 8
3 7
1 4

Case 4

Input

2 3
2 1 1 1 2 2

Output

2 3
5 6

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