#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, i, j, count = 0;
  map<int, int> mp;
  cin >> n >> m;
  for (i = 1; i <= n; i++) {
    cin >> j;
    mp[j] = 1;
  }
  vector<int> v;
  i = 1;
  while (m > 0) {
    if (mp.find(i) == mp.end()) {
      if (m - i < 0) break;
      m -= i;
      count++;
      v.push_back(i);
    }
    i++;
  }
  cout << count << endl;
  vector<int>::iterator it;
  for (it = v.begin(); it != v.end(); it++) cout << (*it) << " ";
  cout << endl;
  return 0;
}
