You are given a string s consisting of n lowercase Latin letters. Polycarp wants to remove exactly k characters (k ≤ n) from the string s. Polycarp uses the following algorithm k times:

  * if there is at least one letter 'a', remove the leftmost occurrence and stop the algorithm, otherwise go to next item; 
  * if there is at least one letter 'b', remove the leftmost occurrence and stop the algorithm, otherwise go to next item; 
  * ... 
  * remove the leftmost occurrence of the letter 'z' and stop the algorithm. 



This algorithm removes a single letter from the string. Polycarp performs this algorithm exactly k times, thus removing exactly k characters.

Help Polycarp find the resulting string.

Input

The first line of input contains two integers n and k (1 ≤ k ≤ n ≤ 4 ⋅ 10^5) — the length of the string and the number of letters Polycarp will remove.

The second line contains the string s consisting of n lowercase Latin letters.

Output

Print the string that will be obtained from s after Polycarp removes exactly k letters using the above algorithm k times.

If the resulting string is empty, print nothing. It is allowed to print nothing or an empty line (line break).

Examples

Input

15 3
cccaabababaccbc


Output

cccbbabaccbc


Input

15 9
cccaabababaccbc


Output

cccccc


Input

1 1
u


Output

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Stack;





public class main {


    static class FastReader {
        BufferedReader br;
        StringTokenizer st;

        public FastReader() {
            br = new BufferedReader(new
                    InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
    static int gcd(int a, int b)
    {
        if (a == 0)
            return b;
        return gcd(b % a, a);
    }

    static int findGCD(int arr[])
    {
        int result = arr[1];
        for (int i = 1; i <arr.length-1 ; i++)
            result = gcd(arr[i], result);

        return result;
    }
    private static long[] getLongArrar(int size) {
        long arr[] = new long[size + 2];
        for (int i = 0; i <= size; i++) {
            arr[i] = in.nextLong();
        }
        return arr;
    }
    private static String[] getStringArray(int size) {
        String arr[] = new String[size + 2];
        for (int i = 1; i <= size; i++) {
            arr[i] = in.next();
        }
        return arr;
    }
    private static int[] getIntArray(int size) {
        int arr[] = new int[size + 2];
        for (int i = 1; i <= size; i++) {
            arr[i] = in.nextInt();
        }
        return arr;
    }
    private static long[] CumulativeOfArrayCreator(int arr[],int size){
        long cumulative [] =new long[size];
        cumulative[0]=arr[0];
        for(int i=1;i<size;i++){
            cumulative[i]=cumulative[i-1]+arr[i];
        }
        return cumulative;
    }
    private static int ModifiedBinarySearch(long a[],int start,int end,long value){
        // this search INDEX will find greatest element small or equal to the value

        int mid=-1;
        int nearest=start;
        while(start<=end){
            mid=(start+end)/2;
            if(a[mid]<value) {
                nearest=mid;
                start=mid+1;
            }else if (a[mid]>value){
                end=mid-1;
            }else{
                return mid;
            }
        }
        return nearest;
    }



















    //Code starts from here ---------->>




    static FastReader in;
    static StringBuilder out;



    static final int modulos=(int)((1e9)+9);
    public static int ModCal(long val){
        if(val>=0){
            return (int)(val%modulos);
        }
        return (int)(modulos+(val%modulos));
    }

    static char [] s;
    static int k;
    private static  void remove (char ch){

        for(int i=0;i<s.length&&k>0;i++){
            if(s[i]==ch){
                --k;
                s[i]='-';
            }
        }
    }
    public static void main(String[] args) {
        in = new FastReader();
        out = new StringBuilder();
        int n = in.nextInt();
        k=in.nextInt();

        s=in.next().toCharArray();
        char ch='a';

        for(int i=0;i<26;i++){
            remove(ch);
            ++ch;
        }
        for(int i=0;i<s.length;i++){
            if(s[i]!='-'){
                System.out.print(s[i]);
            }
        }
        System.out.println();
    }
}