|
Две строки
(Время: 2 сек. Память: 32 Мб Сложность: 45%)
Даны две строки A и B равной длины, состоящие из строчных английских букв. Требуется из второй строки получить первую, выполнив два следующих действия:
- К строке B применяется шифр Цезаря, то есть все буквы циклически сдвигаются на фиксированный шаг D назад. Например, при D = 3, буква «g» превращается в «d», а «b» – в «y».
- Первые K символов строки B перемещаются в конец строки, что соответствует её циклическому сдвигу на K позиций влево.
Требуется определить значения K и D, необходимые для решения данной задачи.
Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N – длина каждой из строк (1 ≤ N ≤ 2×105).
Во второй и третьей строках заданы строки A и B соответственно, состоящие из N строчных английских букв каждая.
Выходные данные
В выходной файл OUTPUT.TXT выведите «Impossible», если не существует преобразования строки B в строку A. В противном случае в первой строке выведите «Success», а во второй строке выведите два числа K и D, описывающие преобразование, переводящее строку B в строку A (0 ≤ K ≤ N, –26 < D < 26). Если существует несколько решений задачи, выведите любое из них.
Примеры
| № | INPUT.TXT | OUTPUT.TXT |
| 1 | 3 abc fde | Success 1 3 |
| 2 | 3 cbc cbd | Impossible |
| 3 | 1 y b | Success 0 3 |
| 4 | 5 cdeab abcde | Success 2 0 |
Система оценки
Решения, работающие только для N ≤ 2000, будут оцениваться в 50 баллов.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |