#include <bits/stdc++.h>
using namespace std;
int zu[2500 + 10];
int main() {
  int n, m;
  while (scanf("%d %d", &n, &m) != EOF) {
    map<int, int> mp;
    for (int i = 0; i < n; i++) {
      scanf("%d", &zu[i]);
      mp[zu[i]]++;
    }
    int arv = n / m, k = 0;
    for (int i = 0; i < n; i++)
      if (zu[i] > m || mp[zu[i]] > arv)
        for (int j = 1; j <= m; j++)
          if (j != zu[i] && mp[j] < arv) {
            mp[zu[i]]--;
            mp[j]++;
            k++;
            zu[i] = j;
            break;
          }
    printf("%d %d\n", arv, k);
    for (int i = 0; i < n - 1; i++) printf("%d ", zu[i]);
    printf("%d\n", zu[n - 1]);
  }
}
