Непрефиксные коды
Рассмотрим множество из 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.
Выходные данные
В выходной файл выведите на первой строке длину найденной последовательности. На второй строке выведите саму последовательность.