#include <algorithm> #include <cassert> #include <cstdio> #include <cmath> #include <deque> #include <iostream> #include <map> #include <unordered_set> #include <unordered_map> #include <vector> #include <set> using namespace::std; int main() { ios::sync_with_stdio(false); int n, k; cin >> n >> k; unordered_map<int, int> c; for (int i = 0; i < n; ++i) { int a; cin >> a; ++c[a]; } vector<int> b; for (const auto& [_, cx] : c) b.push_back(cx); sort(b.begin(), b.end(), greater<int>()); int r = 0; for (; k > 0; ++r) k -= b[r]; cout << r << endl; return 0; }