#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i;
  cin >> n >> i;
  i = 8 * i / n;
  map<int, int> m;
  for (int j = 0; j < n; j++) {
    int x;
    cin >> x;
    m[x]++;
  }
  vector<int> v;
  for (auto it : m) {
    v.push_back(it.second);
  }
  for (int j = 1; j < v.size(); j++) {
    v[j] += v[j - 1];
  }
  int si = pow(2, min(i, 20));
  if (si >= v.size()) {
    cout << "0";
    return 0;
  }
  int ans = v[v.size() - 1] - v[si - 1];
  for (int j = 1; j + si < v.size(); j++) {
    ans = min(ans, v[v.size() - 1] - (v[j + si - 1] - v[j - 1]));
  }
  cout << ans;
  return 0;
}
