from collections import Counter



from sys import stdin



input = stdin.readline



N, K = list(map(int, input().split()))



An = Counter([int(i) for i in input().split()])





def main():

    # 要素数(v) 多い順 インデックス K 含んでそれよりも後ろ

    # 先頭 K + 1 個目から 末尾 まで

    # 要素数(v) 合計

    print((sum([v for k, v in An.most_common()[K:]])))



    return





main()

from collections import Counter



from sys import stdin



input = stdin.readline



N, K = list(map(int, input().split()))



An = Counter(input().split())





def main():

    # 要素数(v) 昇順

    # 先頭 から インデックス len(An) - K - 1 まで

    # 要素数(v) 合計

    print((sum(sorted(An.values())[:len(An) - K])))



    return





main()

from collections import Counter
from sys import stdin

input = stdin.readline
N, K = list(map(int, input().split()))
An = Counter([int(i) for i in input().split()])


def main():
    # 要素数(v) 多い順 インデックス K 含んでそれよりも後ろ
    # 先頭 K + 1 個目から 末尾 まで
    # 要素数(v) 合計
    print((sum([v for k, v in An.most_common()[K:]])))
    return


main()

from collections import Counter
from sys import stdin

input = stdin.readline
N, K = list(map(int, input().split()))
An = Counter(input().split())


def main():
    # 要素数(v) 昇順
    # 先頭 から インデックス len(An) - K - 1 まで
    # 要素数(v) 合計
    print((sum(sorted(An.values())[: len(An) - K])))
    return


main()

-An = Counter([int(i) for i in input().split()]) +An = Counter(input().split()) -    # 要素数(v) 多い順 インデックス K 含んでそれよりも後ろ -    # 先頭 K + 1 個目から 末尾 まで +    # 要素数(v) 昇順 +    # 先頭 から インデックス len(An) - K - 1 まで -    print((sum([v for k, v in An.most_common()[K:]]))) +    print((sum(sorted(An.values())[: len(An) - K])))