#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n, k;
  cin >> n >> k;
  int ar[n];
  bool flag2 = 1;
  vector<vector<int> > vec(k);
  for (int i = 0, x; i < n; i++) {
    cin >> x;
    bool flag1 = 0;
    for (int j = 0; j < k; j++) {
      if (vec[j].size() == 0) {
        vec[j].push_back(x);
        ar[i] = j + 1;
        goto marlen;
      }
    }
    for (int j = 0; j < k; j++) {
      bool flag = 1;
      for (int k = 0; k < vec[j].size(); k++) {
        if (vec[j][k] == x) {
          flag = 0;
          break;
        }
      }
      if (flag) {
        vec[j].push_back(x);
        ar[i] = j + 1;
        flag1 = 1;
        break;
      }
    }
    if (!flag1) flag2 = 0;
  marlen:;
  }
  if (!flag2)
    cout << "NO";
  else {
    cout << "YES\n";
    for (int i = 0; i < n; i++) cout << ar[i] << ' ';
  }
  return (0);
}
