#include <bits/stdc++.h>
using namespace std;
vector<int> vl;
int a[2001], freq[2001];
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    if (a[i] <= m) {
      freq[a[i]]++;
    }
  }
  int minn = n / m, target = 0;
  for (int i = 1; i <= m; i++) {
    if (freq[i] < minn) {
      target++;
      vl.push_back(i);
    }
  }
  if (target == 0) {
    printf("%d 0\n", minn);
    for (int i = 0; i < n; i++) {
      printf("%d ", a[i]);
    }
    return 0;
  }
  int flag, cnt = 0;
  for (int i = 0; i < n; i++) {
    flag = 0;
    if (a[i] > m || freq[a[i]] > minn) {
      for (int j = 0; j < vl.size(); j++) {
        if (freq[vl[j]] < minn) {
          cnt++;
          flag = 1;
          if (a[i] <= m) freq[a[i]]--;
          a[i] = vl[j];
          freq[vl[j]]++;
          break;
        }
      }
      if (flag == 0) break;
    }
  }
  printf("%d %d\n", minn, cnt);
  for (int i = 0; i < n; i++) printf("%d ", a[i]);
  return 0;
}
