#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int MAXN = 2e5 + 10;
int N, a, k;
int elem[MAXN];
int vis[MAXN];
priority_queue<pii> coda;
vector<int> res;
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  cin >> N >> k;
  res.reserve(k);
  for (int i = 0; i < N; i++) {
    cin >> a;
    elem[a]++;
  }
  for (int i = 0; i < MAXN; i++) {
    if (elem[i] > 0) {
      coda.push({elem[i], i});
      vis[i] = 2;
    }
  }
  for (int i = 0; i < k; i++) {
    auto cima = coda.top();
    coda.pop();
    res.push_back(cima.second);
    coda.push({elem[cima.second] / vis[cima.second], cima.second});
    vis[cima.second]++;
  }
  for (auto& el : res) cout << el << ' ';
  return 0;
}
