#include <bits/stdc++.h>
using namespace std;
int main() {
  int m, n;
  cin >> n >> m;
  vector<int> a(n, 0);
  vector<int> b(m + 1, 0);
  int count = 0, ans = 0;
  for (int i = 0; i < n; i++) {
    int tmp;
    cin >> tmp;
    a[i] = tmp;
    if (tmp > m)
      count++;
    else
      b[tmp]++;
  }
  ans = n / m;
  int ans2 = 0;
  for (int i = 1; i <= m; i++) {
    while (b[i] < ans) {
      if (count) {
        count--;
        for (int j = 0; j < n; j++)
          if (a[j] > m) {
            a[j] = i;
            b[i]++;
            ans2++;
            break;
          }
      } else {
        int goal = 0, tmp = -INT_MAX;
        for (int j = 0; j <= m; j++) {
          if (b[j] > tmp) {
            tmp = b[j];
            goal = j;
          }
        }
        tmp = min(tmp - ans, ans - b[i]);
        b[i] += tmp;
        b[goal] -= tmp;
        ans2 += tmp;
        for (int j = 0; j < n; j++) {
          if (a[j] == goal) {
            a[j] = i;
            tmp--;
            if (tmp == 0) break;
          }
        }
      }
    }
  }
  cout << ans << ' ' << ans2 << endl << a[0];
  for (int i = 1; i < a.size(); i++) {
    cout << ' ' << a[i];
  }
  cout << endl;
  return 0;
}
