C. Древнеберляндский язык
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

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

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

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

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

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

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

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