#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > freel;
int cnt[2005];
int arr[2005];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  int k = n / m;
  memset(cnt, 0, sizeof(cnt));
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    if (arr[i] > m) {
      freel.push_back(make_pair(1, i));
    } else if (cnt[arr[i]] == k) {
      freel.push_back(make_pair(0, i));
    } else
      cnt[arr[i]]++;
  }
  sort(freel.begin(), freel.end());
  int s = freel.size();
  s--;
  int ans = 0;
  int j;
  for (int i = 1; i <= m; i++) {
    while (cnt[i] < k) {
      cnt[i]++;
      j = freel[s].second;
      s--;
      ans++;
      arr[j] = i;
    }
  }
  cout << k << " " << ans << endl;
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}
