#include <bits/stdc++.h>
using namespace std;
map<long long, long long> mp;
queue<long long> q;
long long n, m, a, t;
int main() {
  scanf("%lld%lld", &n, &m);
  for (long long i = 0; i < n; i++) {
    scanf("%lld", &a), mp[a] = 1;
  }
  long long d = 0, a = 0;
  while (a <= m) {
    d++;
    if (mp[d] != 1) q.push(d), a += d;
  }
  a = q.size();
  printf("%lld\n", a - 1);
  for (long long i = 0; i < a - 1; i++)
    t = q.front(), printf("%lld ", t), q.pop();
}
