#include using namespace std; #include using namespace atcoder; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep1(i, n) for (int i = 1; i < (int)(n + 1); i++) using ll = long long; using P = pair; using Graph = vector>; using mint = modint998244353; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; map m; rep(i, n){ int a; cin >> a; if(m.count(a)){ m[a]++; } else{ m[a] = 1; } } vector d; for(auto itr = m.begin(); itr != m.end(); itr++){ d.push_back(itr->second); } sort(d.begin(), d.end()); reverse(d.begin(), d.end()); int ans = 0; while(k>0){ k -= d[ans]; ans++; } cout << ans << endl; }