#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  int a[110];
  int num[110];
  memset(num, 0, sizeof(num));
  for (int i = 1; i <= m; i++) {
    cin >> a[i];
  }
  sort(a + 1, a + m + 1);
  int index = 0;
  set<int> s;
  for (int i = 1; i <= m; i++) {
    if (s.count(a[i])) {
      num[index]++;
    } else {
      s.insert(a[i]);
      num[++index]++;
    }
  }
  int maxn = 0;
  int temp;
  for (int i = 1; i <= 100; i++) {
    temp = 0;
    for (int j = 1; j <= index; j++) {
      temp += (num[j] / i);
    }
    if (temp >= n)
      maxn = i;
    else
      break;
  }
  cout << maxn << endl;
  return 0;
}
