#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m;
  scanf("%lld%lld", &n, &m);
  long long int a[n];
  for (int i = 0; i < n; i++) {
    scanf("%lld", &a[i]);
  }
  int cnt[m + 1];
  int other = 0;
  memset(cnt, 0, sizeof(cnt));
  for (int i = 0; i < n; i++) {
    if (a[i] <= m)
      cnt[a[i]]++;
    else
      other++;
  }
  long long sum = 0;
  for (int i = 1; i <= m; i++) {
    sum += cnt[i];
  }
  long long int val = (sum + other) / m;
  long long int change[m + 1];
  for (int i = 1; i <= m; i++) {
    change[i] = val - cnt[i];
  }
  int val2 = 0;
  for (int i = 1; i <= m; i++) {
    int req = change[i];
    for (int j = 0; j < n; j++) {
      if (req > 0) {
        if (a[j] > m) {
          a[j] = i;
          change[i]--;
          req--;
          val2++;
        } else {
          if (cnt[a[j]] > val) {
            cnt[a[j]]--;
            a[j] = i;
            change[i]--;
            req--;
            val2++;
          }
        }
      }
    }
  }
  cout << val << " " << val2 << endl;
  for (int i = 0; i < n; i++) printf("%d ", a[i]);
  return 0;
}
