Двоє гравців грають у таку гру:
Перший гравець загадує слово і повідомляє другому його довжину. Другий гравець намагається відгадати слово, називаючи слова G_i такої ж довжини. Для кожного названого слова перший гравець повідомляє, парна чи непарна кількість позицій, у яких букви G_i співпадають з буквами на тих самих місцях. Так триває, доки другий гравець не зможе точно назвати слово, яке загадав перший гравець.
За даними словами G_i і відповідями на них визначте, яким могло бути загадане слово .
У цій задачі «словом» називається довільна послідовність великих латинських літер.
У першому рядку записано два невід'ємних цілих числа і — кількість слів, для яких кількість співпадінь парна, і кількість слів, для яких вона непарна. Сумарно 1 \leq N + M \leq 64.
У другому рядку подано слів однакової довжини з великих латинських літер — це слова, для яких кількість співпадінь парна.
У третьому рядку подано слів однакової довжини з великих латинських літер — це слова, для яких кількість співпадінь непарна.
Довжина слів в обох рядках однакова і становить від до символів включно. Також гарантовано, що кількість можливих загаданих слів у кожному тесті не перевищує .
У першому рядку виведіть число — кількість різних слів, які міг загадати перший гравець. У другому рядку виведіть усі ці слова у лексикографічному порядку через пробіл. Слова повинні складатися з великих латинських літер.
Приклад 1