#include <bits/stdc++.h>
using namespace std;
void sc() {}
template <typename T, typename... Args>
void sc(T& a, Args&... args) {
  cin >> a, sc(args...);
}
template <typename T>
void pr(T a) {
  cout << a;
}
template <typename T, typename... Args>
void pr(T a, Args... args) {
  cout << a << " ", pr(args...);
}
template <typename T>
void prl(T a) {
  cout << a << "\n";
}
template <typename T, typename... Args>
void prl(T a, Args... args) {
  cout << a << " ", prl(args...);
}
int main() {
  cin.tie(NULL);
  ios_base::sync_with_stdio(false);
  int n, k;
  sc(n, k);
  set<int> cnt;
  int deq[n + 1];
  int l = 0, r = -1;
  int in;
  for (__typeof(n) i = (0) - ((0) > (n)); i != (n) - ((0) > (n));
       i += 1 - 2 * ((0) > (n))) {
    sc(in);
    if (!cnt.count(in)) {
      if (r - l + 1 == k) {
        cnt.erase(deq[l]);
        l++;
        deq[++r] = in;
        cnt.insert(in);
      } else {
        deq[++r] = in;
        cnt.insert(in);
      }
    }
  }
  prl(r - l + 1);
  for (int i = r; i >= l; i--) {
    pr(deq[i], "");
  }
  return 0;
}
