Анализ ошибок, которые допускают люди при наборе поисковых запросов, — сложная интересная задача. Так как не существует абсолютно достоверного способа установить, что же на самом деле имел в виду пользователь, набирая некоторый запрос, приходится прибегать к разного рода эвристикам.
Поликарпу потребовалось написать функцию, которая бы по двум данным словам проверяла, могли ли они получиться из одного и того же слова в результате опечаток при наборе. Поликарп предположил, что самый распространённый вид опечаток — пропуск ровно одной буквы при наборе слова.
Реализуйте программу, которая по двум данным различным словам S и T одинаковой длины n определяет, сколько существует слов W длины n + 1, обладающих таким свойством, что из W можно получить как S, так и T удалением ровно одного символа. Слова S и T состоят из строчных английских букв. Слово W также должно состоять из строчных английских букв.
В первой строке дано целое число n (1 ≤ n ≤ 100 000) — длина слов S и T.
Во второй строке находится слово S.
В третьей строке находится слово T.
Слова S и T состоят из строчных латинских букв. Гарантируется, что S и T — различные слова.
Выведите единственное целое число — количество различных слов W, из которых могли получиться S и T в результате опечатки.
7
reading
trading
1
5
sweet
sheep
0
3
toy
try
2
В первом тесте из условия данные два слова могли получиться только из слова "treading" (удаляемые буквы отмечены жирным).
Во втором тесте из условия данные два слова никак не могли получиться из одного и того же слова удалением одной буквы.
В третьем тесте из условия данные два слова могли получиться как из слова "tory", так и из слова "troy".
Название |
---|