#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
int lcm(int a, int b) { return ((a * b) / gcd(a, b)); }
vector<long long int> v;
map<long long int, int> A;
int main() {
  int a, n, m, i;
  cin >> n >> m;
  for (i = 0; i < n; ++i) {
    cin >> a;
    A[a] = -1;
  }
  for (i = 1;; ++i) {
    if (A[i] != -1) {
      if (m - i >= 0) {
        m -= i;
        v.push_back(i);
      } else
        break;
    } else
      continue;
  }
  cout << v.size() << endl;
  for (i = 0; i < v.size(); ++i) cout << v[i] << " ";
}
