Олимпиадный тренинг

Задача . D. Ножницы


Женя недавно обзавелся крайне полезным в хозяйстве инструментом — k-ножницами для резки строк. С их помощью можно вырезать из произвольной строки s (длины не менее k) две непересекающиеся подстроки длины ровно k, которые затем склеиваются (с сохранением порядка). Например, 2-ножницами из строки abcde можно вырезать подстроки ab и de и склеить их в abde, а вырезать ab и bc не получится.

Разумеется, перед применением ножницы стоит проверить на чем-то, что не жалко испортить. Порывшись в бумагах, Женя раздобыл две строки s и t. Ему сразу же стало интересно: правда ли, что можно применить его ножницы к строке s так, чтобы в получившейся вырезке t содержалась в качестве подстроки?

Входные данные

В первой строке содержатся три числа n, m, k (2 ≤ m ≤ 2·k ≤ n ≤ 5·105) — длина строки s, длина строки t и параметр для ножниц соответственно.

Во второй и третьей строках заданы s и t, состоящие из латинских букв в нижнем регистре.

Выходные данные

Если ответ не существует, выведите «No».

В противном случае в первой строке выведите «Yes», а во второй — два числа L и R, означающие индексы, в которых начинаются вырезанные подстроки (в 1-индексации). Если возможных ответов несколько, выведите любой.

Примечание

В первом примере можно вырезать подстроки, начинающиеся по индексам 1 и 5. Получившаяся вырезка baaaab содержит подстроку aaaa.

Во втором примере получившаяся вырезка равняется bccb.


Примеры
Входные данныеВыходные данные
1 7 4 3
baabaab
aaaa
Yes
1 5
2 6 3 2
cbcbcb
bcc
Yes
2 5
3 7 5 3
aabbaaa
aaaaa
No

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя