욱제어
면접 대비시간 제한1초메모리 제한512 MB
주어진 단어 길이에 맞춰 0과 1로 된 단어를 만들고, 어떤 단어도 다른 단어의 접두사가 되지 않게 합니다. 만들 수 없으면 -1을 출력합니다.
문제
욱제어는 욱제가 사용하는 언어이고, 알파벳으로 0과 1만 사용한다. 욱제어에는 개의 단어가 있고, 각 단어의 길이는 이다. 욱제어를 쓰는 사람들은 단어를 끝까지 말하지 않아도 서로 어떤 단어인지 알아듣는 경우가 많다. 한 단어가 다른 단어의 접두어(Prefix)가 되는 경우가 없기 때문이다.
동탄 주민 준오는 욱제어를 공부하고 싶어 욱제어 정보를 몰래 입수했다. 하지만 단어는 얻지 못하고 단어의 길이만 입수하는 데 성공했다. 개의 단어 길이 이 주어졌을 때, 어떤 단어도 다른 단어의 접두어가 되지 않도록 단어를 만들 수 있는지 알아보자.
입력
첫째 줄에 단어의 개수 ()이 주어진다. 둘째 줄에는 이 주어진다. 단어 길이의 총합은 1,000 이하의 자연수이다.
출력
욱제어 단어를 개 만들 수 있으면 첫째 줄에 1을 출력한다. 둘째 줄부터 개의 줄에 욱제어 단어를 한 줄에 하나씩 출력한다. 단어는 입력된 순서를 따라야 한다. 즉, 길이가 인 단어, 길이가 인 단어, ..., 길이가 인 단어를 차례로 출력해야 한다.
욱제어 단어를 개 만들 수 없으면 -1을 출력한다.