#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  vector<int> a(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  sort(a.begin(), a.end());
  long long pos = 1;
  long long cur = 0;
  vector<int> ans;
  while (m > 0) {
    if (cur < n) {
      if (pos != a[cur] && pos <= m) {
        ans.push_back(pos);
        m -= pos;
        pos += 1;
      } else {
        if (pos == a[cur]) {
          pos += 1;
          cur += 1;
          continue;
        }
        break;
      }
    } else {
      while (m > 0 && pos <= m) {
        ans.push_back(pos);
        m -= pos;
        pos += 1;
      }
      break;
    }
  }
  cout << ans.size() << endl;
  for (int i = 0; i < ans.size(); i++) cout << ans[i] << " ";
  return 0;
}
