#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long k, n, i, t;
  cin >> n >> k;
  list<long long> q;
  set<long long> st;
  for (i = 0; i < n; i++) {
    cin >> t;
    if (q.size() >= k) {
      if (st.find(t) == st.end()) {
        st.erase(q.front());
        q.pop_front();
        q.push_back(t);
        st.insert(t);
      }
    } else {
      if (st.find(t) == st.end()) {
        q.push_back(t);
        st.insert(t);
      }
    }
  }
  cout << q.size() << endl;
  while (!q.empty()) {
    cout << q.back() << " ";
    q.pop_back();
  }
}
int main() {
  solve();
  return 0;
}
