Зростаюча таблиця
Limits: 2 sec., 512 MiB
Вам дані натуральні числа n,m, і n⋅m цілих чисел a1,a2,…,anm. Чи можна їх розставити в таблиці n×m таким чином, щоб:
Числа в кожному рядку йшли в порядку зростання, зліва направо;
Числа в кожному стовпчику йшли в порядку зростання, зверху вниз?
Якщо так, виведіть приклад відповідно заповненої таблиці.
Input
Перший рядок вхідних даних містить одне натуральне число t — кількість тестових наборів.
Перший рядок кожного тестового набору містить два натуральні числа n,m — розміри таблиці.
Другий рядок кожного тестового набору містить n⋅m натуральних чисел a1,a2,…,anm.
Output
Для кожного тестового набору, якщо відповідним чином заповнити
таблицю неможливо, виведіть NO
.
Інакше, виведіть YES
. В i-му з наступним n рядків виведіть m чисел bi,1,bi,2,…,bi,m — елементи i-го рядка.
Якщо існує кілька способів заповнити таблицю таким чином, виведіть будь-який.
Constraints
1≤t≤10000,
1≤n⋅m≤2⋅105,
1≤ai≤109,
Сума n⋅m по всіх тестовим наборах не перевищує 2⋅105.
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
Приклади для першого та третього тестового набору наведені в вихідних даних. Можна показати, що для другого тестового набору розташувати числа задовольняючи умові задачі неможливо.