#include <bits/stdc++.h>
using namespace std;
const int INF = (int)(1e9);
const long long INF64 = (long long)(1e18);
const long double EPS = 1e-9;
const long double PI = 3.1415926535897932384626433832795;
map<int, int> visited;
int main() {
  ios_base::sync_with_stdio(0);
  int n, m;
  scanf("%d %d", &n, &m);
  vector<int> ans;
  int x;
  for (int i = 1; i <= n; ++i) {
    scanf("%d", &x);
    visited[x] = 1;
  }
  int start = 1, count = 0;
  int sum = 0;
  for (int i = 1; i <= m; ++i) {
    if (visited.find(i) == visited.end()) {
      if (m < i)
        break;
      else {
        m -= i;
        ++count;
        ans.push_back(i);
      }
    }
  }
  printf("%d\n", count);
  for (int i = 0; i < count; ++i) {
    printf("%d ", ans[i]);
  }
  printf("\n");
  return 0;
}
