#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  while (cin >> n >> m) {
    vector<int> a, b;
    for (int i = 0; i < n; ++i) {
      int t;
      scanf("%d", &t);
      a.push_back(t);
    }
    int cost = 0, i = 0, min = 0, max;
    sort(a.begin(), a.end());
    while (cost < m) {
      if (i < a.size())
        max = a[i];
      else
        max = m;
      for (int j = min + 1; j < max; ++j) {
        if (cost + j <= m) {
          b.push_back(j);
          cost += j;
        } else
          break;
      }
      if (max == m) break;
      min = a[i++];
    }
    printf("%d\n", b.size());
    for (int i = 0; i < b.size(); ++i) {
      if (i != b.size() - 1)
        printf("%d ", b[i]);
      else
        printf("%d", b[i]);
    }
    printf("\n");
  }
  return 0;
}
