#include <bits/stdc++.h>
using namespace std;
//12th may atlassian
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, d;
cin >> n >> d;
vector<int> v(n);
unordered_map<int, int> freq;
for (int i = 0; i < n; i++)
{
cin >> v[i];
freq[v[i]]++;
}
priority_queue<pair<int, int>> pq;
for (auto it : freq)
pq.push({it.second, it.first});
queue<pair<int, int>> cooldown;
vector<int> ans;
while (!pq.empty())
{
pair<int, int> top = pq.top();
pq.pop();
int count = top.first;
int num = top.second;
ans.push_back(num);
count--;
cooldown.push({count, num});
if (cooldown.size() >= d)
{
pair<int, int> front = cooldown.front();
cooldown.pop();
if (front.first > 0)
pq.push(front);
}
}
if (ans.size() == n)
{
cout << "Yes" << endl;
for (int x : ans)
cout << x << " ";
cout << endl;
}
else
{
cout << "No" << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLzEydGggbWF5IGF0bGFzc2lhbiAKCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBpbnQgbiwgZDsKICAgIGNpbiA+PiBuID4+IGQ7CiAgICB2ZWN0b3I8aW50PiB2KG4pOwogICAgdW5vcmRlcmVkX21hcDxpbnQsIGludD4gZnJlcTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiB2W2ldOwogICAgICAgIGZyZXFbdltpXV0rKzsKICAgIH0KCiAgICBwcmlvcml0eV9xdWV1ZTxwYWlyPGludCwgaW50Pj4gcHE7CiAgICBmb3IgKGF1dG8gaXQgOiBmcmVxKQogICAgICAgIHBxLnB1c2goe2l0LnNlY29uZCwgaXQuZmlyc3R9KTsKCiAgICBxdWV1ZTxwYWlyPGludCwgaW50Pj4gY29vbGRvd247CiAgICB2ZWN0b3I8aW50PiBhbnM7CgogICAgd2hpbGUgKCFwcS5lbXB0eSgpKQogICAgewogICAgICAgIHBhaXI8aW50LCBpbnQ+IHRvcCA9IHBxLnRvcCgpOwogICAgICAgIHBxLnBvcCgpOwoKICAgICAgICBpbnQgY291bnQgPSB0b3AuZmlyc3Q7CiAgICAgICAgaW50IG51bSA9IHRvcC5zZWNvbmQ7CgogICAgICAgIGFucy5wdXNoX2JhY2sobnVtKTsKICAgICAgICBjb3VudC0tOwoKICAgICAgICBjb29sZG93bi5wdXNoKHtjb3VudCwgbnVtfSk7CgogICAgICAgIGlmIChjb29sZG93bi5zaXplKCkgPj0gZCkKICAgICAgICB7CiAgICAgICAgICAgIHBhaXI8aW50LCBpbnQ+IGZyb250ID0gY29vbGRvd24uZnJvbnQoKTsKICAgICAgICAgICAgY29vbGRvd24ucG9wKCk7CiAgICAgICAgICAgIGlmIChmcm9udC5maXJzdCA+IDApCiAgICAgICAgICAgICAgICBwcS5wdXNoKGZyb250KTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKGFucy5zaXplKCkgPT0gbikKICAgIHsKICAgICAgICBjb3V0IDw8ICJZZXMiIDw8IGVuZGw7CiAgICAgICAgZm9yIChpbnQgeCA6IGFucykKICAgICAgICAgICAgY291dCA8PCB4IDw8ICIgIjsKICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgY291dCA8PCAiTm8iIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K