#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200005, Max = 200005;
bool book[200005];
int arr[100005], n, tail = 0, M;
inline int read() {
  int x = 0, flag = 1;
  char ch = getchar();
  for (; ch > '9' || ch < '0'; ch = getchar())
    ;
  for (; ch >= '0' && ch <= '9'; ch = getchar())
    x = (x << 3) + (x << 1) + ch - '0';
  return x * flag;
}
int main() {
  n = read(), M = read();
  for (int i = 1; i <= n; i++) {
    int x = read();
    if (x <= Max) book[x] = 1;
  }
  for (int i = 1; i <= Max; i++) {
    if (book[i]) continue;
    M -= i;
    if (M < 0) break;
    tail++, arr[tail] = i;
  }
  cout << tail << endl;
  for (int i = 1; i <= tail; i++) cout << arr[i] << " ";
  return 0;
}
