На столе лежит n кучек камней, в i-й кучке находится ai камней. Требуется раскрасить каждый камень в один из k цветов так, чтобы для каждого цвета c и для любых двух кучек i и j количества камней цвета c в кучках i и j отличались не более чем на один.
Иными словами, пусть bi, c — количество камней в i-й кучке, покрашенных в цвет c. Тогда для любых 1 ≤ c ≤ k, 1 ≤ i, j ≤ n должно выполняться |bi, c - bj, c| ≤ 1. Необязательно использовать все k цветов: если цвет c не встречается в кучке i, то bi, c полагается равным нулю.
Выходные данные
Если раскраски камней, удовлетворяющей условию задачи, не существует, в единственной строке выведите «NO» (без кавычек).
Иначе в первой строке «YES» (без кавыечек). Далее должны следовать n строк, в i-й из них должны находиться ai чисел, разделенных пробелами. j-е (1 ≤ j ≤ ai) из этих чисел должно равняться цвету j-го камня в i-й кучке. Если возможных ответов несколько, разрешается вывести любой.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 4 1 2 3 4
|
YES
1
1 4
1 2 4
1 2 3 4
|
|
2
|
5 2 3 2 4 1 3
|
NO
|
|
3
|
5 4 3 2 4 3 5
|
YES
1 2 3
1 3
1 2 3 4
1 3 4
1 1 2 3 4
|