Проверка на списывание

Если строки состоят только из символов 'a', 'b', то ответ всегда «YES» и нужно только проверить, заменяется ли на каких-то позициях 'a' на 'b' и 'b' на 'a'.

В общем случае есть следующий критерий. Рассмотрим каждый символ, хотя бы раз входящий в первую строку. Обозначим рассматриваемый символ за $$$x$$$ и найдем все позиции, на которых $$$x$$$ в нее входит. Посмотрим на множество различных символов не равных $$$x$$$ на тех же позициях во второй строке. Если в этом множестве есть хотя бы два символа, то получить из первой строки вторую невозможно. Если множество пустое, то символ не участвует в заменах. А если в множестве ровно один символ $$$y$$$, то пара $$$x\ y$$$ будет одной из нужных замен.

Если после проверки для какого-то символа выяснилось, что преобразовать строки нельзя, то нужно вывести «NO». Иначе ответ «YES» и нужно вывести все найденные замены.