#include <bits/stdc++.h>
int d[3000], g[3000], q[3000];
int i, j, k, m, n, r, t;
int main() {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) {
    scanf("%d", &g[i]);
    if (g[i] <= m)
      d[g[i]]++;
    else
      r++;
  }
  for (k = 0;; k++) {
    t = 1;
    for (i = 2; i <= m; i++)
      if (d[i] < d[t]) t = i;
    if (d[t] == n / m) break;
    d[t]++;
    if (r)
      r--;
    else {
      t = 1;
      for (i = 2; i <= m; i++)
        if (d[i] > d[t]) t = i;
      d[t]--;
    }
  }
  printf("%d %d\n", n / m, k);
  for (i = 1; i <= n; i++)
    if ((g[i] <= m) && (d[g[i]])) {
      q[i] = g[i];
      d[g[i]]--;
    } else if ((g[i] > m) && (r)) {
      q[i] = g[i];
      r--;
    }
  for (i = 1; i <= n; i++)
    if (q[i])
      printf("%d ", q[i]);
    else
      for (j = 1; j <= m; j++)
        if (d[j]) {
          printf("%d ", j);
          d[j]--;
          break;
        }
  return 0;
}
