#include <bits/stdc++.h>
using namespace std;
const int inf = 2e9 + 5;
const long long INF = 2e18 + 5;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.precision(10);
  cout << fixed;
  set<int> s;
  deque<int> ans;
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    if (s.find(x) != s.end()) continue;
    if (ans.size() < k) {
      s.insert(x);
      ans.push_back(x);
      continue;
    }
    int y = ans.front();
    ans.pop_front();
    s.erase(s.find(y));
    s.insert(x);
    ans.push_back(x);
  }
  cout << ans.size() << '\n';
  while (!ans.empty()) {
    cout << ans.back() << ' ';
    ans.pop_back();
  }
  return 0;
}
