Плоска організація#11102

Плоска організація

3 секунди
128 мегабайтів
Складна

Компанія, в якій ви працюєте, вирішила максимально спростити організаційну структуру: для кожної пари співробітників і або є безпосереднім керівником , або є безпосереднім керівником . Це означає, що тепер у кожного співробітника може бути багато безпосередніх начальників. І це чудово, адже це змушує співробітника відчувати, що його робота важлива для багатьох людей, а не лише для одного менеджера — так кажуть керівники.

Однак завжди є можливість для вдосконалення. Як корпоративна мета на цей рік, ієрархія буде переглянута, щоб гарантувати, що кожного разу, коли людина безпосередньо контролюється людиною , водночас опосередковано контролюється . Ми кажемо, що опосередковано контролюється , якщо існує n > 2 і така послідовність c_1, \ldots, c_n, що c_1 = A, c_n = B і для кожного i < n, c_i є безпосереднім керівником c_{i+1}.

За словами керівників, це гарантує, що будь-який співробітник двічі подумає, перш ніж зловживати своєю владою над кимось іншим.

Не дивно, що хтось може розсердитися, якщо дізнається, що його підлеглий раптово став його начальником. І деякі такі рішення можуть викликати більше обурення, ніж інші. Ваше завдання — виконати корпоративну мету, змінивши деякі залежності між співробітниками так, щоб сума образ від цих змін була якомога меншою.

Вхідні дані

Перший рядок містить кількість тестів (1 \le z \le 100). Далі йдуть описи тестів.

Перший рядок кожного набору вхідних даних містить одне ціле число (1 \le n \le 2000) — кількість співробітників. Співробітники пронумеровані від до .

Потім слідують рядків, кожен з яких містить цілих чисел d_{i,j} (0 \le d_{i,j} \le 2 \cdot 10^9). Якщо співробітник є безпосереднім керівником співробітника , то d_{i,j} > 0 описує образу, яку відчув би, якби ця залежність була змінена. В іншому випадку (тобто, якщо є безпосереднім керівником або якщо i = j), то d_{i,j} = 0.

Загальна кількість співробітників у всіх тестах не перевищує .

Вихідні дані

Для кожного тесту знайдіть рішення, яке гарантує, що для будь-якої пари співробітників , (1 \le i, j \le n, i \ne j), або буде безпосереднім керівником і буде опосередкованим керівником , або навпаки. Ваше рішення повинно звести до мінімуму суму невдоволення співробітників. Якщо існує більше одного такого рішення, ви можете вивести будь-яке з них.

Якщо рішення не існує, виведіть слово "NO".

В іншому випадку в першому рядку виведіть слово "YES". У другому рядку виведіть два цілі числа і — кількість залежностей між співробітниками, які ви збираєтеся змінити, і досягнута сума образ відповідно. Зверніть увагу, що вам не потрібно мінімізувати .

Потім виведіть рядків, по два цілі числа в кожному — ідентифікатори співробітників , (1 \le a, b \le n, a \ne b), так що в даний час є безпосереднім керівником , і їхні відносини повинні змінитися на протилежні. Не слід виводити одну і ту ж пару співробітників більше одного разу.

Приклади

Приклад 1

Loading
Loading