Непрефіксні коди
Разглянемо множину з n символів {1, 2, ..., n}. Нехай кожному з цих символів співставлено деякий вектор b_i з 0 та 1. Тоді кожен рядок із заданих символів c = c_1c_2...c_k визначає вектор з 0 та 1, який отримується конкатенцією b_c1,b_c2,...,b_ck, позначимо його як B(c). Знайдіть самий короткий вектор X, який складається з 0 та 1, такий, що X = B(c) і X = B(d) для двуо різних упорядкованих наборів c та d. Якщо таких послідовностей декілька, то виведіть найменшу у лексикографічному порядку. Гарантується, що хоча б одна така послідовність буде існувати.
Вхідні дані
Перший рядок вхідного файлу містить число N (2 ≤ N ≤ 20). Наступні N рядків містять вектори b_i, довжиною не більше 20.
Вихідні дані
У вихідний файл виведіть у першому рядку довжину знайденої послідовності. У другому рядку виведіть саму послідовність.