Зростаюча таблиця
Limits: 2 sec., 512 MiB
Вам дані натуральні числа \(n, m\), і \(n\cdot m\) цілих чисел \(a_1, a_2, \ldots, a_{nm}\). Чи можна їх розставити в таблиці \(n \times m\) таким чином, щоб:
Числа в кожному рядку йшли в порядку зростання, зліва направо;
Числа в кожному стовпчику йшли в порядку зростання, зверху вниз?
Якщо так, виведіть приклад відповідно заповненої таблиці.
Input
Перший рядок вхідних даних містить одне натуральне число \(t\) — кількість тестових наборів.
Перший рядок кожного тестового набору містить два натуральні числа \(n, m\) — розміри таблиці.
Другий рядок кожного тестового набору містить \(n \cdot m\) натуральних чисел \(a_1, a_2, \ldots, a_{nm}\).
Output
Для кожного тестового набору, якщо відповідним чином заповнити
таблицю неможливо, виведіть NO
.
Інакше, виведіть YES
. В \(i\)-му з наступним \(n\) рядків виведіть \(m\) чисел \(b_{i,
1}, b_{i, 2}, \ldots, b_{i, m}\) — елементи \(i\)-го рядка.
Якщо існує кілька способів заповнити таблицю таким чином, виведіть будь-який.
Constraints
\(1 \leq t \leq 10000\),
\(1\leq n\cdot m \leq 2\cdot 10^5\),
\(1 \leq a_i \leq 10^9\),
Сума \(n\cdot m\) по всіх тестовим наборах не перевищує \(2\cdot 10^5\).
Samples
Input (stdin) | Output (stdout) |
---|---|
3 1 4 4 3 2 1 2 3 1 1 2 2 3 3 3 2 1 2 2 3 3 4 | YES 1 2 3 4 NO YES 1 2 2 3 3 4 |
Notes
Приклади для першого та третього тестового набору наведені в вихідних даних. Можна показати, що для другого тестового набору розташувати числа задовольняючи умові задачі неможливо.
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|