Совсем другое слово
Работать фрилансером еще никогда не было так просто: думаешь про себя, лежа в гамаке и выпивая, лениво пролистывая очередную страницу с просьбами о работе. Внезапно Вы замечаете необычную просьбу. Я бы даже сказал, странную. Один писатель ищет... слово. Нет, не обычное слово, ему очень нужно необычное. Вы решаете взяться за эту работу. В конце концов, кто более опытен в программировании какой-нибудь странной штуки, чем вы?
На следующий день Вы узнаете все подробности. Запрос исходит от известного автора, который в настоящее время застрял за написанием своего следующего романа. Мол, совсем застрял... до того, что последний сезон сериала по его произведению уже вышел в эфир. Подписав соглашение о неразглашении, Вы узнаете, что правда сложнее, чем казалось. На самом деле книга почти закончена уже несколько лет, но с тех пор автор постоянно переписывал единственную главу, которую никак не мог сделать правильно. Глава вращается вокруг важного пророчества, которое задумано как очень сложная игра слов с тремя словами одинаковой длины.
Вы знаете, что первое слово s лексикографически предшествует последнему слову t, если они имеют одинаковое количество символов. Ваш клиент хочет найти слово x той же длины, которое лексикографически находится строго между s и t и в то же время содержит первую букву имени обещанного героя: символ К. Возможно, что такого слова x не существует (что полностью объясняет все задержки), но... кто знает?
Входные данные
Первая строка содержит количество тестов z (1 ≤ z ≤ 10^5
). Далее следуют описания тестов.
Первая строка каждого теста содержит одно целое число n (1 ≤ n ≤ 25 000) - длину s и t, и строчную букву К. Следующие две строки содержат слова s и t, состоящие из строчных букв английского алфавита.
Сумма n среди всех тестов не превышает 10^5
.
Выходные данные
Для каждого теста выведите одну строку: любое слово x длины n, состоящее из строчных букв английского алфавита, удовлетворяющее требованиям, или "NO" если такого слова не существует.