N, K = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)
res = A.tally.sort_by { |k, v| -v }

remain = K
ans = 0

while remain > 0 && res.size > 0
  k, cnt = res.shift
  remain -= cnt
  ans += 1
end

puts ans