Вам дана строка \(s\) длины \(n\), состоящая из строчных латинских букв, и число \(k\).
Вам нужно проверить, можно ли из строки \(s\) удалить ровно \(k\) символов, чтобы из оставшихся символов строки можно было сделать палиндром. Обратите внимание, что вы можете переупорядочить оставшиеся символы как угодно.
Палиндромом называется строка, которая читается одинаково как слева направо, так и справа налево. Например, строки «z», «aaa», «aba», «abccba» являются палиндромами, а строки «codeforces», «reality», «ab» не являются.
Выходные данные
Для каждого набора входных данных выведите «YES», если можно удалить из строки \(s\) ровно \(k\) символов, чтобы из оставшихся символов можно было собрать палиндром, и «NO» иначе.
Вы можете вывести ответ в любом регистре (верхнем или нижнем). Например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительные ответы.
Примечание
В первом наборе входных данных ничего удалять нельзя, а строка «a» является палиндромом.
Во втором наборе входных данных ничего удалять нельзя, но строки «ab» и «ba» палиндромами не являются.
В третьем наборе входных данных можно удалить любой символ и получившаяся строка будет палиндромом.
В четвертом наборе входных данных можно удалить одно вхождение символа «a» и получится строка «bb», которая является палиндромом.
В шестом наборе входных данных можно удалить по одному вхождению символов «b» и «d», получится строка «acac», которую можно переупорядочить в строку «acca».
В девятом наборе входных данных можно удалить по одному вхождению символов «t» и «k» и получится строка «aagaa», которая является палиндромом.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac
|
YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES
|