D. Граф и его дополнение
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Заданы три числа $$$n, a, b$$$. Вам нужно найти матрицу смежности такого неориентированного графа, что количество компонент связанности в нем равно $$$a$$$, а количество компонент связанности в его дополнении равно $$$b$$$. Найденная матрица обязательно должна быть симметричной, а также на главной диагонали обязательно должны быть нули.

В неориентированном графе недопустимы петли (ребра из вершины в себя же), между каждой парой вершин может быть не более одного ребра.

Матрица смежности неориентированного графа — это квадратная матрица размера $$$n$$$, состоящая только из «0» и «1», где $$$n$$$ — количество вершин графа, а $$$i$$$-я строка и $$$i$$$-й столбец соответствуют $$$i$$$-й вершине графа. Ячейка $$$(i,j)$$$ матрицы смежности содержит $$$1$$$ тогда и только тогда, когда $$$i$$$-я и $$$j$$$-я вершины в графе соединены ребром.

Компонента связанности — это такой набор вершин $$$X$$$, что для любой пары вершин в компоненте существует хотя бы один путь, соединяющий их, и добавление любой новой вершины в $$$X$$$ нарушает это правило.

Дополнением графа $$$G$$$ называется граф $$$H$$$ с теми же вершинами, такой, что две вершины графа $$$H$$$ соединены ребром тогда и только тогда, когда эти вершины не соединены ребром в графе $$$G$$$.

Входные данные

В единственной строке заданы три числа $$$n, a, b \,(1 \le n \le 1000, 1 \le a, b \le n)$$$ — количество вершин графа, необходимое количество компонент связанности в нем и необходимое количество компонент связанности в его дополнении.

Выходные данные

Если не существует графа, удовлетворяющего данным ограничениям в единственную строку выведите «NO»(без кавычек).

Иначе в первой строке выведите «YES»(без кавычек). В следующих $$$n$$$ строках выведите по $$$n$$$ цифр в каждой — матрицу смежности данного графа, т. е. $$$i$$$-е цифра в $$$j$$$-й строке должна быть равна $$$1$$$, если в $$$G$$$ существует ребро между вершинами $$$i$$$ и $$$j$$$ (иначе эта цифра должна быть равна $$$0$$$).

Обратите внимание, что выведенная матрица обязательно должна быть симметричной, а также на главной диагонали обязательно должны быть нули.

Если существует несколько матриц, удовлетворяющих условиям — выведите любую из них.

Примеры
Входные данные
3 1 2
Выходные данные
YES
001
001
110
Входные данные
3 3 3
Выходные данные
NO