CF BUDDY
← Problems·

1494D · Dogeforces

2300 · constructive algorithms, data structures, dfs and similar

Problem: The Dogeforces company has kk employees. Each employee, except for lower-level employees, has at least 22 subordinates. Lower-level employees have no subordinates. Each employee, except for the head of the company, has exactly one direct supervisor. The head of the company is a direct or indirect supervisor of all employees. It is known that in Dogeforces, each supervisor receives a salary strictly more than all his subordinates.

The full structure of the company is a secret, but you know the number of lower-level employees and for each pair of lower-level employees, the salary of their common supervisor is known (if there are several such supervisors, then the supervisor with the minimum salary). You have to restore the structure of the company.

Input Format: The first line contains a single integer nn (2n5002 \le n \le 500) — the number of lower-level employees.

This is followed by nn lines, where ii-th line contains nn integers ai,1,ai,2,,ai,na_{i,1}, a_{i,2}, \dots, a_{i,n} (1ai,j50001 \le a_{i,j} \le 5000) — salary of the common supervisor of employees with numbers ii and jj. It is guaranteed that ai,j=aj,ia_{i,j} = a_{j,i}. Note that ai,ia_{i,i} is equal to the salary of the ii-th employee.

Output Format: In the first line, print a single integer kk — the number of employees in the company.

In the second line, print kk integers c1,c2,,ckc_1, c_2, \dots, c_k, where cic_i is the salary of the employee with the number ii.

In the third line, print a single integer rr — the number of the employee who is the head of the company.

In the following k1k-1 lines, print two integers vv and uu (1v,uk1 \le v, u \le k) — the number of the employee and his direct supervisor.

Note that the lower-level employees have numbers from 11 to nn, and for the rest of the employees, you have to assign numbers from n+1n+1 to kk. If there are several correct company structures, you can print any of them.

Note: One of the possible structures in the first example:

Sample Cases

Case 1

Input

3
2 5 7
5 1 7
7 7 4

Output

5
2 1 4 7 5 
4
1 5
2 5
5 4
3 4

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