#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5e3 + 3;
map<int, int> mapa;
vector<int> v;
int mw[103030];
int main() {
  int n, m, a, maxi = 0;
  scanf("%d %d", &n, &m);
  for (int i = (int)0; i < (int)n; i++) {
    scanf("%d", &a);
    mapa[a] = 1;
    mw[i] = a;
    if (maxi > a) maxi = a;
  }
  int o = 1;
  while (m) {
    if (m - o < 0) break;
    if (!mapa[o]) v.push_back(o), m -= o;
    o++;
  }
  printf("%d\n", v.size());
  for (int i = (int)0; i < (int)v.size(); i++) printf("%d ", v[i]);
  printf("\n");
}
