Блочна гра
Фермер Джон намагається навчити своїх корів читати, використовуючи набір із n дощечок, подібних до тих, що використовуються дошкільнятами. Кожна дощечка має слово і малюнок на кожній стороні. Наприклад, одна сторона може мати слово 'cat' і зображення кота, а інша сторона — слово 'dog' і зображення собаки.
Коли дощечки лежать на землі, видно n слів. Перевертаючи дощечки, можна отримати різні набори з n слів. Щоб допомогти коровам запам'ятати літери, Фермер Джон хоче підготувати певну кількість дерев'яних блоків, на кожному з яких написана одна літера алфавіту. Він прагне забезпечити достатню кількість блоків з кожною літерою, щоб незалежно від того, яка множина з n слів показується, корови могли скласти всі слова, використовуючи ці блоки. Наприклад, якщо n = 3 і на дощечках представлені слова 'box', 'cat', 'car', коровам потрібно як мінімум 1 'b', 1 'o', 1 'x', 2 'c', 2 'a', 1 't', 1 'r'.
Допоможіть Фермеру Джону визначити мінімальну кількість блоків для кожної літери алфавіту, які він повинен підготувати, щоб незалежно від того, яким боком вгору лежать дощечки, можна було скласти всі n видимих слів.
Вхідні дані
Перший рядок містить ціле число n (1 ≤ n ≤ 100).
Кожен із наступних n рядків містить два слова, розділених одиночним пробілом, що задають два слова на протилежних сторонах дощечки. Кожне слово — рядок не більше ніж з 10 маленьких англійських літер.
Вихідні дані
Виведіть 26 рядків. Перший вихідний рядок повинен містити потрібну кількість літер ‘a’. Наступний рядок повинен містити потрібну кількість літер ‘b’. І так далі.
Приклад
У цьому прикладі n = 3, існує 2^3
= 8 способів повернути вгору слова:
fox dog car fox dog bus fox cat car fox cat bus box dog car box dog bus box cat car box cat bus
Ми маємо достатньо блоків для кожної літери алфавіту, щоб зібрати всі три слова, незалежно від способу, яким вони повернуті вгору.