#include <bits/stdc++.h>
using namespace std;
const int N = 2000 + 5;
int a[N], b[N];
bool mark[N];
vector<int> ch;
int main() {
  int n, m, mn, ans = 0;
  cin >> n >> m;
  mn = n / m;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (a[i] <= m && !mark[a[i]]) {
      b[a[i]]++;
      if (b[a[i]] == mn) mark[a[i]] = true;
    } else
      ch.push_back(i);
  }
  for (int i = 1; i <= m; i++)
    while (!mark[i]) {
      ans++;
      a[ch.back()] = i;
      ch.pop_back();
      b[i]++;
      if (b[i] == mn) mark[i] = true;
    }
  cout << mn << ' ' << ans << '\n';
  for (int i = 0; i < n; i++) cout << a[i] << ' ';
  cout << '\n';
  return 0;
}
