Нещодавно на уроці під час контрольної роботи Марія Іванівна перехопила записку від Олі до Саші. Вона дуже хоче дізнатися, що в ній написано, але, на жаль, записка зашифрована. Марія Іванівна знає, що її учні для шифрування замінюють кожну букву вихідного повідомлення на іншу. Заміна відбувається так, що однакові букви завжди замінюються на одну й ту ж букву, а різні — на різні.
Марія Іванівна підозрює, що записка містить відповіді на контрольний тест (адже її довжина випадково збігається з довжиною рядка з правильними відповідями). Проте вона знає, що відповіді Олі можуть бути не повністю правильними. На кожне питання є один з варіантів відповіді. Звісно, Марія Іванівна знає правильні відповіді.
Марія Іванівна вирішила розшифрувати записку так, щоб максимізувати кількість правильних відповідей Олі. Однак вона дуже зайнята, тому попросила вас допомогти їй у цій справі.
У першому рядку задано довжину кожного з рядків (1 \le N \le 2000000) і — кількість можливих відповідей на кожне питання (1 \le K \le 52). Відповіді нумеруються в порядку abcde...xyzABCDE...XYZ. Тобто, при K = 6 можливі відповіді виглядають як abcdef, а при K = 30 — abcde...xyzABCD.
У другому рядку задано зашифровану записку — рядок, що складається з малих і великих латинських літер.
У третьому рядку задано правильні відповіді — рядок тієї ж довжини, що й перший, що складається з малих і великих латинських літер.
У першому рядку виведіть єдине число — максимально можливу кількість правильних відповідей у Олі.
У другому рядку виведіть розшифровку — рядок довжини , де по порядку для кожної букви з шифру учнів вказано, якій відповіді вона відповідає.
Якщо кілька розшифровок дають правильний результат, виведіть будь-яку з них.
Приклад 1