import sys
#sys.setrecursionlimit(10 ** 6)
INF = float('inf')
#10**20,2**63に変えるのもあり
MOD = 10**9 + 7
MOD2 = 998244353
from collections import defaultdict
def ceil(A,B):
    return -(-A//B)
def solve():
    def II(): return int(sys.stdin.readline())
    def LI(): return list(map(int, sys.stdin.readline().split()))
    def LC(): return list(input())
    def IC(): return [int(c) for c in input()]
    def MI(): return map(int, sys.stdin.readline().split())
    N,K = MI()
    A = LI()
    C = defaultdict(lambda:0)
    A.sort()
    S = 0
    for i in range(N):
        C[A[i]]+=1
    Count = []
    for v in C.values():
        Count.append(v)
    Count.sort(reverse=True)
    k = 0
    Ans = 0
    for c in Count:
        k+=c
        Ans+=1
        if(K<=k):break
    print(Ans)
    return
solve()