#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 10;
struct Queue {
  long long data[maxn];
  int Front;
  int Rear;
  Queue() {
    Front = 0;
    Rear = 0;
  }
};
Queue st;
int n, k;
bool find(long long x) {
  for (int i = st.Rear; i < st.Front; i++) {
    if (st.data[i] == x) {
      return true;
    }
  }
  return false;
}
void push(long long x) {
  if (!find(x)) {
    if (st.Front - st.Rear >= k) {
      st.Rear++;
    }
    st.data[st.Front++] = x;
  }
}
int main() {
  long long x;
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &x);
    push(x);
  }
  printf("%d\n", st.Front - st.Rear);
  for (int i = st.Front - 1; i >= st.Rear; i--) {
    printf("%lld ", st.data[i]);
  }
}
