#include <bits/stdc++.h>
using namespace std;
int main() {
  deque<int> d;
  int n, k, l;
  set<int> s;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> l;
    if (!s.count(l)) {
      if (d.size() != k) {
        d.push_front(l);
        s.insert(l);
      } else {
        int last = d[k - 1];
        d.pop_back();
        d.push_front(l);
        s.erase(last);
        s.insert(l);
      }
    }
  }
  cout << d.size() << "\n";
  for (deque<int>::iterator itr = d.begin(); itr != d.end(); itr++) {
    cout << *itr << " ";
  }
  return 0;
}
