Məsələlər
Расшифровка
Расшифровка
Недавно на уроке во время контрольной Мария Ивановна перехватила записку Саше от Оли. Мария Ивановна очень хочет знать, что в записке, но, к сожалению, записка зашифрована. Мария Ивановна знает, что её ученики для шифровки заменяют каждую букву исходного сообщения на какую-то другую. Замена происходит таким образом, что одинаковые буквы всегда заменяются одной и той же буквой, а разные --- разными.
Мария Ивановна подозревает, что записка --- это ответы к контрольному тесту (ведь её длина случайно оказалась равной длине строки с правильными ответами). Однако она знает, что ответы Оли не обязательно полностью правильны. На каждый вопрос возможен один из \textbf{K} вариантов ответа. Естественно, Мария Ивановна знает правильные ответы.
Мария Ивановна решила расшифровать записку таким способом, чтобы максимизировать количество правильных ответов Оли. Однако, она очень занята, поэтому попросила Вас помочь ей в этом пустяковом деле.
\InputFile
В первой строке задана длина каждой из строк \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{2000000}) и \textbf{K} --- количество возможных ответов на каждый вопрос (\textbf{1} ≤ \textbf{K} ≤ \textbf{52}). Ответы нумеруются в порядке \textbf{abcde...xyzABCDE...XYZ}. То есть, при \textbf{K = 6} возможные ответы выглядят как \textbf{abcdef}, а при \textbf{K = 30} --- \textbf{abcde...xyzABCD}.
Во второй строке задана зашифрованная записка --- строка, состоящая из строчных и заглавных латинских букв.
В третьей строке заданы правильные ответы --- строка той же длины, что и первая, состоящая из строчных и заглавных латинских букв.
\OutputFile
В первой строке выведите единственное число --- максимально возможное количество правильных ответов у Оли.
Во второй строке выведите расшифровку --- строчку длины \textbf{K}, где по порядку для каждой буквы из шифра учеников указано, какому ответу она соответствует.
Если несколько расшифровок дают правильный ответ, выведите любую.
Giriş verilənləri #1
10 2 aaabbbaaab bbbbabbbbb
Çıxış verilənləri #1
7 ba