using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, k) = (c[0], c[1]); var a = NList; var dic = new Dictionary(); foreach (var ai in a) { if (dic.ContainsKey(ai)) ++dic[ai]; else dic[ai] = 1; } var list = new List(); foreach (var kv in dic) list.Add(kv.Value); list.Sort((l, r) => r.CompareTo(l)); var ans = 0; foreach (var li in list) { if (k > 0) { ++ans; k -= li; } } WriteLine(ans); } }