#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using mpii = map<int, int>;
using si = set<int>;
using sll = set<ll>;
using vll = vector<ll>;
int main() {
  ll n, m;
  scanf("%lld%lld", &n, &m);
  sll st;
  vll vc;
  for (int i = 1; i <= n; i++) {
    ll p;
    scanf("%lld", &p);
    st.insert(p);
  }
  for (int i = 1; i <= 1000000000; i++) {
    if (!st.count(i)) {
      m -= i;
      if (m < 0) break;
      vc.push_back(i);
    }
  }
  ll sz = vc.size();
  printf("%lld", sz);
  printf("\n");
  for (auto x : vc) {
    printf("%lld", x);
    printf(" ");
  }
  printf("\n");
  return 0;
}
