Codeforces Round 422 (Div. 2) |
---|
Закончено |
Вскоре Лехе наскучило считать наибольшие общие делители двух факториалов. Поэтому он решил заняться разгадыванием кроссвордов. Как известно, это очень интересное занятие, но может быть и очень сложным время от времени. В ходе разгадывания одного из кроссвордов Лехе пришлось решить несложную задачу. А сможете ли вы?
У Лехи есть две строки s и t. Теперь хакер хочет изменить строку s так, чтобы она встречалась в t в качестве подстроки. Все изменения должны иметь вид: Леха выбирает некоторую позицию в строке s и заменяет символ в этой позиции на знак вопроса «?». Хакер уверен, что знак вопроса «?» при сравнении может играть роль произвольного символа. Например, если в результате он получит строку s=«ab?b», то она встретится в t=«aabrbb» как подстрока.
Гарантируется, что длина строки s не превосходит длины строки t. Помогите хакеру Лехе заменить в s минимальное количество символов на знаки вопроса «?» так, чтобы результат встречался в t в качестве подстроки. Символ «?» при сравнении следует считать равным любому другому символу.
В первой строке следует два целых числа n и m (1 ≤ n ≤ m ≤ 1000) — длина строки s и длина строки t соответственно.
Во второй строке следует n строчных латинских букв — строка s.
В третьей строке следует m строчных латинских букв — строка t.
В первую строку выведите целое число k — минимальное количество символов, которые нужно заменить. Во второй строке выведите k различных целых чисел — позиции букв в строке s, которые нужно заменить. Позиции выводите в любом порядке. Если ответов несколько, разрешается вывести любой из них. Нумерация позиций начинается с единицы.
3 5
abc
xaybz
2
2 3
4 10
abcd
ebceabazcd
1
2
Название |
---|