Задача №114906. Пароль от сейфа

Во время первого своего задания Дэдпул понял, что даже с его регенерацией без оружия врагов так просто не одолеть. Поэтому он решил, что настало время открыть сейф, в котором он хранил свое оружие.

Но просто как всегда не получилось. На сейфе оказался замок с кодом, который Дэдпул забыл. Все, что он помнил — код замка представляет собой палиндром из строчных латинских букв. Дэдпул заметил, что сейчас на замке набрана комбинация, очень похожая на нужную, но что-то все равно не так. Так как у него и своих дел хватает, он хочет потратить на взлом замка как можно меньше времени, а именно рассчитывает получить правильную комбинацию, поменяв местами не более двух символов.

С этой задачей он и обратился к вам. Помогите супергерою — скажите, можно ли из набранной комбинации получить палиндром таким способом.

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

В единственной строке входного файла содержится строка \(s\) (\(1 \le |s| \le 10^5\)), состоящая из строчных латинских букв.

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

В единственной строке выходного файла выведите « YES », если из строки s можно получить палиндром, поменяв не более двух символов местами и « NO » в противном случае.

Система оценки

Таблица разбалловки:

Группа Дополнительные ограничения Баллы Требуемые группы
\(1\) \(|s| \le 100\) \(16\)
\(2\) \(|s| \le 1\,000\) \(27\) \(1\)
\(3\) \(|s|\) — чётная \(35\)
\(4\) \(22\) \(1\), \(2\), \(3\)

Примеры
Входные данные
abacaba
Выходные данные
YES
Входные данные
abbcb
Выходные данные
NO
Входные данные
abab
Выходные данные
YES
Сдать: для сдачи задач необходимо войти в систему