#include <bits/stdc++.h>
using namespace std;
map<int, int> hq;
map<int, int> hx;
int n, m;
int main() {
  while (~scanf("%d%d", &n, &m)) {
    hq.clear();
    for (int i = 0; i < n; i++) {
      int a;
      scanf("%d", &a);
      hq[a]++;
    }
    int cou = 0;
    int kind = 0;
    for (int i = 1;; i++) {
      if (cou + i > m) {
        break;
      }
      if (hq[i] == 0) {
        kind++;
        hx[kind] = i;
        cou += i;
      }
    }
    printf("%d\n", kind);
    for (int i = 1; i <= kind; i++) {
      if (i != 1) {
        printf(" ");
      }
      printf("%d", hx[i]);
    }
    if (kind != 0) {
      printf("\n");
    }
  }
  return 0;
}
