Вам задано зв'язний зважений граф . Мінімальним реберним розрізом між вершинами та назвемо множину C_{u,v} ребер з найменшою сумарною вагою, таку, що довільний шлях з в містить хоча б одне ребро з C_{u,v}. Позначимо величину мінімального розрізу між вершинами та як c_{u,v}.
Матрицю c_{u,v} назвемо матрицею мінімальних розрізів графа . Вам задано матрицю c_{u,v}. Знайдіть граф такий, що c_{u,v} - це матриця мінімальних розрізів цього графа чи визначте, що такого графа не існує.
У першому рядку вхідного файлу міститься число - розмір матриці (2 \leq n \leq 50). Наступні рядків містять по чисел кожен - елементи матриці. Гарантується, що матриця симетрична і містить лише нулі на головній діагоналі. Усі інші числа додатні і не перевищують .
Якщо існує граф , для якого матриця з вхідного файлу - матриця мінімальних розрізів, напишіть у першому рядку вихідного файлу YES. У другому рядку виведіть - число ребер графа. Далі, у рядках виведіть опис ребер графа. Кожне ребро задається початковою вершиною u_i, кінцевою вершиною v_i та вагою ребра між вершинами u_i та v_i. У графі не повинно бути петель, паралельних дуг. Вага кожного ребра не повинна перевищувати .
Якщо графа, який задовольняє умові, не існує, виведіть у єдиному рядку вихідного файлу NO.
Приклад 1