#include <bits/stdc++.h>
using namespace std;
const int INF = 1 << 28;
const int MOD = 1e9 + 7;
const int maxn = 111111;
int n, m;
int a[maxn];
int main(int argc, char const *argv[]) {
  scanf("%d%d", &(n), &(m));
  for (int(i) = 0; i < (int)(n); ++(i)) scanf("%d", &(a[i]));
  sort(a, a + n);
  int idx = 0;
  int cur = 1;
  vector<int> ans;
  while (m >= cur) {
    if (cur == a[idx]) {
      idx++;
      cur++;
    } else {
      m -= cur;
      ans.push_back(cur);
      cur++;
    }
  }
  printf("%d\n", (((int)(ans).size())));
  for (int(i) = 0; i < (int)(((int)(ans).size())); ++(i)) printf("%d ", ans[i]);
  return 0;
}
