Заданы три числа \(n, a, b\). Вам нужно найти матрицу смежности такого неориентированного графа, что количество компонент связанности в нем равно \(a\), а количество компонент связанности в его дополнении равно \(b\). Найденная матрица обязательно должна быть симметричной, а также на главной диагонали обязательно должны быть нули.
В неориентированном графе недопустимы петли (ребра из вершины в себя же), между каждой парой вершин может быть не более одного ребра.
Матрица смежности неориентированного графа — это квадратная матрица размера \(n\), состоящая только из «0» и «1», где \(n\) — количество вершин графа, а \(i\)-я строка и \(i\)-й столбец соответствуют \(i\)-й вершине графа. Ячейка \((i,j)\) матрицы смежности содержит \(1\) тогда и только тогда, когда \(i\)-я и \(j\)-я вершины в графе соединены ребром.
Компонента связанности — это такой набор вершин \(X\), что для любой пары вершин в компоненте существует хотя бы один путь, соединяющий их, и добавление любой новой вершины в \(X\) нарушает это правило.
Дополнением графа \(G\) называется граф \(H\) с теми же вершинами, такой, что две вершины графа \(H\) соединены ребром тогда и только тогда, когда эти вершины не соединены ребром в графе \(G\).
Выходные данные
Если не существует графа, удовлетворяющего данным ограничениям в единственную строку выведите «NO»(без кавычек).
Иначе в первой строке выведите «YES»(без кавычек). В следующих \(n\) строках выведите по \(n\) цифр в каждой — матрицу смежности данного графа, т. е. \(i\)-е цифра в \(j\)-й строке должна быть равна \(1\), если в \(G\) существует ребро между вершинами \(i\) и \(j\) (иначе эта цифра должна быть равна \(0\)).
Обратите внимание, что выведенная матрица обязательно должна быть симметричной, а также на главной диагонали обязательно должны быть нули.
Если существует несколько матриц, удовлетворяющих условиям — выведите любую из них.