I. Строчечки
Кирилл написал строку, а Дима утверждает, что получил свою строку циклическим сдвигом строки Кирилла вправо на несколько шагов. Сдвиг строки abcde на 2 позиции вправо даёт deabc.
Проверьте, правда ли это, и если да — найдите наименьший возможный размер сдвига.
Основа решения — старое наблюдение: все циклические сдвиги строки — это подстроки длины строки .
Сдвиг вправо на даёт строку , то есть подстроку , начинающуюся в позиции . Значит, надо найти все вхождения в на позициях и взять .
Наименьший — это , если , и иначе наибольшее подходящее .
Искать вхождения — снова КМП по склейке . Длина склейки около , то есть до — по времени и памяти проходит.
Отдельно стоит подумать, почему нельзя просто перебрать все сдвигов и сравнить: это и при безнадёжно.
Строки состоят из больших и маленьких букв, так что регистр важен: A и a — разные символы.
Формат ввода
Первые две строки содержат строки Кирилла и Димы.
Длины строк одинаковы, не превосходят и не равны нулю. Строки состоят из больших и маленьких латинских букв.
Формат вывода
Единственное число — наименьший размер сдвига, или , если такого сдвига не существует.
Примеры
zabcd abcdz
4
a b
-1