B. Строка из палиндромов
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дана строка $$$s$$$, состоящая из $$$n$$$ строчных латинских букв. Определите, можно ли, используя ее символы, составить ровно $$$m$$$ палиндромов так, чтобы каждый символ входил ровно в один палиндром?

Строка является палиндромом, если она читается одинаково как слева направо, так и справа налево. Например, строки «abacaba», «cccc», «z» и «dxd» являются палиндромами, а строки «abab» и «aaabaa» — нет.

Например, пусть $$$s$$$ = «ababcab», $$$n = 7$$$, $$$m = 3$$$. Тогда из ее букв можно составить $$$3$$$ палиндрома:

  • «aba»
  • «bcb»
  • «a»
Входные данные

Первая строка входных данных содержит единственное целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных в тесте.

Далее следуют описания наборов входных данных.

Первая строка описания каждого набора входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le m \le n \le 2 \cdot 10^5$$$) — длина строки и количество палиндромов, которые необходимо составить из ее символов.

Вторая строка описания каждого набора входных данных содержит строку $$$s$$$ длины $$$n$$$, состоящую из строчных букв латинского алфавита.

Гарантируется, что сумма длин всех строк в тесте не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных в отдельной строке выведите:

  • «YES», если из символов строки возможно составить ровно $$$m$$$ палиндромов так, чтобы каждый символ входил ровно в один палиндром;
  • «NO» иначе.

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Пример
Входные данные
3
7 3
ababcab
5 2
cabad
6 6
vkvkvk
Выходные данные
YES
NO
YES
Примечание

Первый набор входных данных разобран в условии задачи.

Во втором наборе входных данных из символов строки нельзя получить $$$2$$$ палиндрома.