#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n, i, j, k, x;
  map<int, int> mp;
  deque<int> d;
  cin >> n >> k;
  for (i = 0; i < n; i++) {
    cin >> x;
    if (mp[x])
      continue;
    else {
      mp.erase(x);
      if (mp.size() < k) {
        mp[x]++;
        d.push_back(x);
      } else {
        j = d.front();
        mp.erase(j);
        d.pop_front();
        d.push_back(x);
        mp[x]++;
      }
    }
  }
  cout << d.size() << "\n";
  for (auto rit = d.crbegin(); rit != d.crend(); ++rit) cout << *rit << " ";
  return 0;
}
