#include <bits/stdc++.h>
using namespace std;
map<int, int> m;
vector<int> v;
int inp[2100];
int main() {
  int n, q;
  cin >> n >> q;
  int t = n / q;
  for (int i = 1; i <= q; i++) {
    v.push_back(i);
  }
  for (int i = 0; i < n; i++) {
    cin >> inp[i];
    m[inp[i]]++;
  }
  int p = 0;
  int ans = 0;
  for (int i = 0; i < n; i++) {
    while (m[v[p]] >= t) {
      p++;
    }
    if (p == v.size()) {
      break;
    }
    if (m[inp[i]] > t || (inp[i] > q)) {
      m[v[p]]++;
      ans++;
      m[inp[i]]--;
      inp[i] = v[p];
    }
  }
  cout << t << ' ' << ans << endl;
  for (int i = 0; i < n; i++) {
    cout << inp[i] << ' ';
  }
}
