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

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

Поликарп может выполнять со своей строкой следующую операцию:

  • выбрать блок максимальной длины, состоящий из одинаковых букв, и удалить ровно одну любую букву из этого блок. Если блоков с максимальной длиной несколько, Поликарп выберет тот, который находится левее остальных.

Например, если строка Поликарпа равна «cccrrrttt», то после применения одной операции строка станет равна «ccrrrttt», а если строка Поликарпа равна «aabbbcc», то после применения одной операции строка станет равна «aabbcc».

Перед вами стоит задача определить, как будет выглядеть строка Поликарпа, если к ней последовательно применить ровно $$$k$$$ описанных операций.

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

В первой строке следуют два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 200\,000$$$, $$$1 \le k \lt n$$$) — длина строки Поликарпа, а также количество операций, которые нужно последовательно к ней применить.

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

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

Выведите строку Поликарпа после последовательного применения к ней $$$k$$$ описанных операций.

Примеры
Входные данные
9 4
aabbbbccc
Выходные данные
abbcc
Входные данные
10 6
abcdefghij
Выходные данные
ghij
Примечание

Рассмотрим подробнее первый пример:

  1. после первой операции строка Поликарпа станет равна «aabbbccc»;
  2. после второй операции строка Поликарпа станет равна «aabbccc»;
  3. после третьей операции строка Поликарпа станет равна «aabbcc»;
  4. после четвертой операции строка Поликарпа станет равна «abbcc».