Олимпиадный тренинг

Задача . C. Древнеберляндский язык


Берляндские ученые знают, что в древнеберляндском языке было ровно n слов. Эти слова имели длины l1, l2, ..., ln букв. В словах древнеберляндцы использовали две буквы, 0 и 1. Древние берляндцы говорили быстро и не делали пауз между словами, но при этом всегда могли однозначно понять друг друга. Это было возможно потому, что никакое слово не было префиксом никакого другого (префиксом строки называется некоторая её подстрока, начинающаяся с первого символа).

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

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

В первой строке записано одно целое число N (1 ≤ N ≤ 1000) — количеств слов в древнеберляндском языке. Во второй строке, через пробелы, записаны N целых чисел — длины этих слов. Все длины — натуральные числа, не превосходящие 1000.

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

Если такого набора слов не существует, в единственной строке выведите NO. Иначе, в первой строке выведите YES, а в следующих N строках выведите сами слова в том порядке в каком даны их длины во входном файле. Если решений несколько, выведите любое.


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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя