#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
const int inf = 1e9;
const int mod = 1e9;
const int base = 1000 * 1000 * 1000;
int n, m, a;
long long s;
vector<int> v;
map<int, int> mp;
int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a);
    mp[a] = 1;
  }
  for (int i = 1; i <= inf; i++) {
    if (!mp[i]) {
      if (s + i > m) break;
      s += i;
      v.push_back(i);
    }
    if (s + i > m) break;
  }
  cout << v.size() << endl;
  for (auto i : v) {
    cout << i << " ";
  }
  return 0;
}
