#include <bits/stdc++.h>
long long ans = 1e9, a, b, i, j, o, sum, siz, D[3333], data[3333][3333],
          sz[3333], x, y, h;
int main() {
  ans = ans * ans;
  scanf("%lld%lld", &a, &b);
  for (i = 0; i < a; i++) {
    scanf("%lld%lld", &x, &y);
    data[x][sz[x]++] = y;
  }
  for (i = 1; i <= b; i++) std::sort(data[i], data[i] + sz[i]);
  for (h = 1; h <= a; h++) {
    o = h;
    sum = 0;
    siz = 0;
    for (i = 2; i <= b; i++) {
      if (sz[i] >= h) {
        for (j = 0; j <= sz[i] - h; j++) {
          sum += data[i][j];
          o--;
        }
        for (j = sz[i] - h + 1; j < sz[i]; j++) {
          D[siz++] = data[i][j];
        }
      } else {
        for (j = 0; j < sz[i]; j++) {
          D[siz++] = data[i][j];
        }
      }
    }
    o -= sz[1];
    if (o < 0) continue;
    if (o > 0) {
      std::sort(D, D + siz);
      for (j = 0; j < siz; j++) {
        if (o > 0) {
          o--;
          sum += D[j];
        } else
          break;
      }
    }
    if (ans > sum) ans = sum;
  }
  printf("%lld", ans);
}
