#include <bits/stdc++.h>
using namespace std;
int a[100010];
int main() {
  int n, p;
  scanf("%d%d", &n, &p);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  sort(a, a + n);
  int ma = 0;
  for (int i = 0; i < n; i++) ma = max(ma, a[i] - i);
  int mi = INT_MAX;
  for (int i = 0; i < n && i + p - 1 < n; i++) {
    mi = min(mi, a[i + p - 1] - i - 1);
  }
  printf("%d\n", max(0, mi - ma + 1));
  for (int i = ma; i <= mi; i++) printf("%d ", i);
  return 0;
}
