#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  long long m;
  cin >> n >> m;
  long long r = m;
  vector<long long> p(n);
  map<long long, bool> o;
  for (int i = 0; i < n; i++) {
    cin >> p[i];
    o[p[i]] = true;
  }
  auto k = 1;
  vector<long long> need;
  while (r > 0) {
    if (!o[k]) {
      r -= k;
      if (r < 0) break;
      need.push_back(k);
    }
    k++;
  }
  cout << need.size() << endl;
  for (auto i = 0; i < need.size(); i++) cout << need[i] << " ";
  return 0;
}
