You are given a string $s$ consisting of $n$ lowercase Latin letters. Polycarp wants to remove exactly $k$ characters ($k \le 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 \le k \le n \le 4 \cdot 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
[{"code": "from collections import Counter, defaultdict\nfrom string import ascii_lowercase as al\n\nn, k = list(map(int, input().split()))\ns = list(input())\n\nC = defaultdict(int, Counter(s))\nC_ = defaultdict(int)\n\nk_ = k\nfor char in al:\n    temp = min(C[char], k_)\n\n    C_[char] += temp\n    k_ -= temp\n\nfor i, el in enumerate(s):\n    if C_[el] > 0:\n        s[i] = ''\n        C_[el] -= 1\n\nprint(''.join(s))\n", "passed": true, "time": 0.24, "memory": 14140.0, "status": "done"}, {"code": "n,k = map(int,input().split())\ns = input()\ndic = dict()\nfor item in s:\n    if item not in dic:\n        dic[item]=1\n    else: dic[item]+=1\nalphabet = \"abcdefghijklmnopqrstuvwxyz\"\nen = ''\n\nfor item in alphabet:\n    if item not in dic: continue\n    if dic[item]<=k: k-=dic[item]\n    else: \n        en = item\n        break\nans = \"\"\n\nfor item in s:\n    if item>en:\n        ans+=item\n    elif item==en and k==0: \n        ans+=item\n    elif item==en and k>0: k-=1\n    \nif en==\"\": print()\nelse: print(ans)", "passed": true, "time": 0.14, "memory": 14304.0, "status": "done"}, {"code": "def main():\n\t[n, k] = map(int, input().split())\n\ts = input()\n\n\tchar_idxs = []\n\tfor idx, c in enumerate(s):\n\t\tchar_idxs.append((c, idx))\n\n\tchar_idxs.sort()\n\n\tchar_idxs = char_idxs[k:]\n\n\tchar_idxs.sort(key=lambda cidx: cidx[1]) \n\n\tlst = [c for c, idx in char_idxs]\n\n\tprint(\"\".join(lst))\n\nmain()", "passed": true, "time": 0.15, "memory": 14184.0, "status": "done"}, {"code": "n, k = [int(i) for i in input().split()]\ns = [0 for i in range(26)]\nt = ''\nfor i in input():\n    t += i\n    s[ord(i) - 97] += 1\nkar = 0\nkol = 0\nfor i in range(len(s)):\n    if k > s[i]:\n        kar += 1\n        k -= s[i]\n    else:\n        kol = k\n        break\nans = ''\nfor i in range(n):\n    if ord(t[i]) - 97 == kar and kol > 0:\n        kol -= 1\n    elif ord(t[i]) - 97 == kar:\n        ans += t[i]\n    if ord(t[i]) - 97 > kar:\n        ans += t[i]\nprint(ans)", "passed": true, "time": 0.16, "memory": 14148.0, "status": "done"}, {"code": "import string\nfrom collections import Counter\n\nn, k = [int(i) for i in input().split()]\ns = input()\n\ncounter = Counter(s)\n\nfor char in string.ascii_lowercase:\n    delta = min(k, counter[char])\n    k -= delta\n    counter[char] -= delta\n\ns2 = ''\nfor char in s[::-1]:\n    if counter[char] > 0:\n        s2 += char\n        counter[char] -= 1\n\nprint(s2[::-1])\n", "passed": true, "time": 0.16, "memory": 14132.0, "status": "done"}, {"code": "import re\nimport math\nimport decimal\nimport bisect\n\ndef read():\n\treturn input().strip()\n\ndef iread():\n\treturn int(input().strip())\n\ndef viread():\n\treturn list(map(int, input().strip().split()))\n\n# code goes here\nfrom collections import Counter\nn, k = viread()\ns = read()\nletters = Counter(s)\n# print(letters)\nfor l in sorted(letters.keys()):\n\t# print(letters[l], l + \"'s\")\n\tif letters[l] < k:\n\t\ts = re.sub(l, \"\", s)\n\t\tk -= letters[l]\n\t\t# print(s)\n\telse:\n\t\tnews = \"\"\n\t\thits = 0\n\t\tfor c in s:\n\t\t\t# print(\"looking at\", c)\n\t\t\t# print(\"hits is\", hits)\n\t\t\tif c == l:\n\t\t\t\thits += 1\n\t\t\t\t# print(\"hit!\")\n\t\t\tif c != l or hits > k:\n\t\t\t\tnews += c\n\t\t\t\t# print(news)\n\t\ts = news\n\t\tbreak\n\nprint(s)\n", "passed": true, "time": 0.19, "memory": 14312.0, "status": "done"}, {"code": "from collections import Counter as cc\nn, k = list(map(int, input().split()))\ns = input()\nc = cc(s)\nalpha = 'abcdefghijklmnopqrstuvwxyz'\nfor a in alpha:\n    if k > c[a]:\n        k -= c[a]\n        c[a] = 0\n    else:\n        c[a] -= k\n        k = 0\n    if k == 0:\n        break\nlst = []\nfor a in s[::-1]:\n    if c[a] > 0:\n        c[a] -= 1\n        lst.append(a)\nprint(\"\".join(lst[::-1]))\n", "passed": true, "time": 0.15, "memory": 14256.0, "status": "done"}, {"code": "t = input().strip()\nt = [int(e) for e in t.split(\" \")]\nn = t[0]\nk = t[1]\n\ns = input()\nassert len(s) == n\n\nsum_l = [0 for i in range(26)]\nfor c in s:\n    sum_l[ord(c) - ord('a')] += 1\n\nneed_l = [0 for i in range(26)]\nfor i in range(26):\n    if k <= sum_l[i]:\n        need_l[i] = k\n        break\n    else:\n        need_l[i] = sum_l[i]\n        k -= need_l[i]\n\nresult = []\nfor c in s:\n    index = ord(c) - ord('a')\n    if need_l[index] > 0:\n        need_l[index] -= 1\n    else:\n        result.append(c)\n\nprint(\"\".join(result))\n\n", "passed": true, "time": 0.21, "memory": 14280.0, "status": "done"}, {"code": "n,k = list(map(int, input().split() ) )\ns=input()\nalph=[chr(ord('a')+i) for i in range(26)]\nfor a in alph:\n    if k==0:\n        break\n    if s.count(a)<=k:\n        k-=s.count(a)\n        s=s.replace(a,'')\n    else:\n        s=s.replace(a,'', k)\n        k=0\nprint(s)", "passed": true, "time": 0.19, "memory": 14272.0, "status": "done"}, {"code": "c = input().split(\" \")\na = int(c[0])\nb = int(c[1])\ninp = input(str())\ncount = [0 for i in range(26)]\nind = []\n\nfor i in range(a):\n\tcount[ord(inp[i])-ord('a')] += 1\n\nrunning = 0\nhit = -1\nfor i in range(26):\n\trunning += count[i]\n\tif running >= b:\n\t\thit = i\n\t\tbreak\n\n\nrem = running - b\ncounter = 0\n\nfor i in range(a-1, -1, -1):\n\tif ord(inp[i])-ord('a') > hit:\n\t\tind.append(i)\n\telif ord(inp[i])-ord('a') == hit and counter < rem:\n\t\tcounter += 1\n\t\tind.append(i)\n\telse:\n\t\tpass\n\nind = reversed(ind)\n\nans = \"\"\n\nfor i in ind:\n\tans += inp[i]\n\nprint(ans)\n", "passed": true, "time": 0.18, "memory": 14112.0, "status": "done"}, {"code": "n,k=list(map(int,input().split()))\na=list(input().strip())\ncount=[0]*26\naaa=ord('a')\nfor i in a:\n    count[ord(i)-aaa]+=1\ndeletables=-1\nfor i in range(26):\n    if(count[i]>=k):\n        count=k\n        ele=i\n        break\n    deletables=i\n    k-=count[i]\nans=\"\"\nfor i in a:\n    if(ord(i)-aaa<=deletables):\n        continue\n    if(chr(ele+aaa)==i):\n        if(count>0):\n            count-=1\n        else:\n            ans+=i\n    else:\n        ans+=i\nprint(ans)", "passed": true, "time": 0.14, "memory": 14252.0, "status": "done"}, {"code": "n,k=list(map(int,input().split()))\ns=list(input())\ncnt={}\nd={}\nfor i,c in enumerate(s):\n    if c not in cnt:\n        cnt[c]=1\n        d[c]=[i]\n    else:\n        cnt[c]+=1\n        d[c].append(i)\nch=''\n\nfor c in sorted(cnt):\n    if k-cnt[c]<=0:\n        ch=c\n        break\n    for i in d[c]:\n        s[i]=''\n    k-=cnt[c]\nfor i in d[ch][:k]:\n    s[i]=''\nprint(''.join(s))\n", "passed": true, "time": 0.24, "memory": 14088.0, "status": "done"}, {"code": "n,k=list(map(int,input().split()))\ns=input()\ni=ord('a')\nwhile 1:\n    km=s.count(chr(i))\n    if k-km>0:\n        k-=km\n        i+=1\n    else: break\nss=''\nfor j in range(n):\n    if ord(s[j])>i: ss+=s[j]\n    elif ord(s[j])==i:\n        if k>0: k-=1\n        else: ss+=s[j]\nprint(ss)\n    \n\n'''\n////////////////      //////        ///////      //             ///////     //  //   //\n////          //    ///   ///     ///    ///     //            ///  ///     ////     //\n////    ////       ///     ///   ///      ///    //           /////////     ////     ///////\n////     /////    ///       /// ///        ///   //          ///    ///     ////     //   //\n//////////////     ///////////   ///////////     //////     ///     ///     //  //   //   //\n'''\n\n", "passed": true, "time": 0.14, "memory": 14328.0, "status": "done"}, {"code": "import math;\nimport random;\nimport time;\nimport heapq;\ndef getIntList():\n    return list(map(int, input().split()));\ndef getTransIntList(n):\n    first=getIntList();\n    m=len(first);\n    result=[[0]*n for _ in range(m)];\n    for i in range(m):\n        result[i][0]=first[i];\n    for j in range(1, n):\n        curr=getIntList();\n        for i in range(m):\n            result[i][j]=curr[i];\n    return result;\nn, k =getIntList();\ns=input();\nd=dict();\nfor l in s:\n    d[l]=d.get(l,0)+1;\nordA=ord('a');\nordZ=ord('z');\ntrLeter='';\ncount=0;\nfor i in range(ordA, ordZ+1):\n    l=chr(i);\n    x=min(d.get(l, 0), k);\n    if x==k:\n        trLeter=l;\n        count=x;\n        break;\n    k-=x;\nordTr=ord(trLeter);\nresult='';\nfor l in s:\n    ordL=ord(l);\n    if ordL>=ordTr:\n        if ordL==ordTr:\n            count-=1;\n        if ordL==ordTr and count>=0:\n            continue;\n        result+=l;\nprint(result);", "passed": true, "time": 0.14, "memory": 14452.0, "status": "done"}, {"code": "n,k=map(int,input().split())\ns = input().rstrip()\nfor i in range(ord('a'),ord('z')+1):\n  if k <= 0:\n    break\n  if s.count(chr(i)) < k:\n    k -= s.count(chr(i))\n    s = s.replace(chr(i),'')\n  else:\n    s = s.replace(chr(i),'',k)\n    k = 0\nprint(s)", "passed": true, "time": 0.21, "memory": 14332.0, "status": "done"}, {"code": "A = [int(i) for i in input().split()]\nn = A[0]\nk = A[1]\nS = input()\nA = {}\nfor i in range(26):\n    A[chr(97+i)] = []\nfor i in range(len(S)):\n    A[S[i]].append(i)\nfor i in range(26):\n    A[chr(97+i)] = A[chr(97+i)][::-1]\n\nrem = set()\nfor i in range(26):\n    while len(A[chr(97+i)])>0 and k>0:\n        rem.add(A[chr(97+i)].pop())\n        k = k-1\n        if k == 0:\n            break\n\n\n\nR = \"\"\nfor i in range(len(S)):\n    if i not in rem:\n        R += S[i]\nprint(R)\n", "passed": true, "time": 0.19, "memory": 14284.0, "status": "done"}, {"code": "n,k=list(map(int,input().strip().split()))\nr=input()\nr1=\"abcdefghijklmnopqrstuvwxyz\"\nl=[[] for i in range(26)]\nd={}\nfor u1 in range(26):\n\td[r1[u1]]=u1\nfor t in range(n):\n\tl[d[r[t]]].append(t)\nl1=[]\nfor x in l:\n\tfor y in x:\n\t\tl1.append(y)\ns=\"\"\nl2=[]\nfor o in range(k,n):\n\tl2.append(l1[o])\nl2.sort()\nfor i in l2:\n\ts=s+r[i]\nprint (s)\n", "passed": true, "time": 0.24, "memory": 14176.0, "status": "done"}, {"code": "n,k=list(map(int,input().split()))\na=str(input())\nif n!=k:\n    b=[]\n\n    for i in range(n):\n        b.append([ord(a[i]),i])\n\n    b.sort()\n\n    b=b[k:].copy()\n\n    #print(b)\n    a=['']*n\n    for i in b:\n        a[i[1]]=chr(i[0])\n\n\n\n\n    fini=''.join(a)\n    print(fini)\nelse:\n    print()\n", "passed": true, "time": 0.19, "memory": 14300.0, "status": "done"}, {"code": "n, k = [int(i) for i in input().split()]\ns = list(input())\nl = len(s)\nd = {}\nf = [True] * l\nfor i in range(l):\n\tif not s[i] in d:\n\t\td[s[i]] = []\n\td[s[i]].append(i)\n\nrule = []\nfor i in range(26):\n\twk1 = chr(i + 97)\n\tif wk1 in d:\n\t\trule.append(wk1)\n\t\t\ncurrent = 0\nposition = 0\nfor i in range(k):\n\tf[d[rule[current]][position]] = False\n\tposition += 1\n\tif position == len(d[rule[current]]):\n\t\tposition = 0\n\t\tcurrent += 1\n\tif current == len(rule):\n\t\tbreak\n\nfor i in range(l):\n\tif f[i]:\n\t\tprint(s[i], end = \"\")\nprint()\n", "passed": true, "time": 0.14, "memory": 14156.0, "status": "done"}]