#include <bits/stdc++.h>
using namespace std;
map<int, int>::iterator it;
int main() {
  int m, n, k, i, j, l, q, a[10000];
  while (scanf("%d%d", &n, &k) != EOF) {
    l = n / (2 * k + 1);
    m = n % (2 * k + 1);
    if (l == 0)
      printf("1\n%d\n", (n + 1) / 2);
    else {
      if (m == 0) {
        printf("%d\n", l);
        a[0] = 1 + k;
        printf("%d", a[0]);
        for (i = 1; i < l; i++) {
          a[i] = a[i - 1] + 2 * k + 1;
          printf(" %d", a[i]);
        }
        printf("\n");
      } else {
        printf("%d\n", l + 1);
        if (m > 1 + k) {
          a[0] = m - k;
          printf("%d", a[0]);
        } else {
          a[0] = 1;
          printf("%d", a[0]);
        }
        for (i = 1; i < l + 1; i++) {
          a[i] = a[i - 1] + 2 * k + 1;
          printf(" %d", a[i]);
        }
        printf("\n");
      }
    }
  }
  return 0;
}
