Вам даны четыре целых положительных числа \(n\), \(m\), \(a\), \(b\) (\(1 \le b \le n \le 50\); \(1 \le a \le m \le 50\)). Найдите любую такую прямоугольную матрицу размера \(n \times m\), что выполняются все следующие условия:
- в каждой строке матрицы ровно \(a\) единиц;
- в каждом столбце матрицы ровно \(b\) единиц;
- все остальные элементы — нули.
Если искомой матрицы не существует, то укажите это.
Например, для \(n=3\), \(m=6\), \(a=2\), \(b=1\) существует такая матрица, удовлетворяющая условиям выше:
\(\) \begin{vmatrix} 0 & 1 & 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 \end{vmatrix} \(\)
Выходные данные
Для каждого набора тестовых данных выведите:
- «YES» (без кавычек) и искомую матрицу (если существует несколько ответов, выведите любой), если она существует, или,
- «NO» (без кавычек), если ее не существует.
Чтобы вывести матрицу \(n \times m\), выведите \(n\) строк, каждая из которых содержит \(m\) чисел \(0\) или \(1\), описывающих очередную строку матрицы. Числа нужно выводить без пробелов.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 3 6 2 1 2 2 2 1 2 2 2 2 4 4 2 2 2 1 1 2
|
YES
010001
100100
001010
NO
YES
11
11
YES
1100
1100
0011
0011
YES
1
1
|