#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 5;
long long t[4 * MAXN];
long long sum(int v, int tl, int tr, int l, int r) {
  if (l > r) return 0;
  if (tl == l && tr == r) {
    return t[v];
  } else {
    int tm = (tl + tr) >> 1;
    return sum(2 * v + 1, tl, tm, l, min(tm, r)) +
           sum(2 * v + 2, tm + 1, tr, max(l, tm + 1), r);
  }
}
void incUpd(int v, int tl, int tr, int pos) {
  if (tl == tr)
    t[v]++;
  else {
    int tm = (tl + tr) >> 1;
    if (pos <= tm)
      incUpd(2 * v + 1, tl, tm, pos);
    else
      incUpd(2 * v + 2, tm + 1, tr, pos);
    t[v] = t[2 * v + 1] + t[2 * v + 2];
  }
}
int main() {
  for (int i = 0; i < 4 * MAXN; i++) t[i] = 0;
  int n, k;
  cin >> n >> k;
  int x = 1;
  long long cnt = 1;
  k = min(k, n - k);
  for (int i = 0; i < n; i++) {
    int y = x + k;
    long long diag;
    if (y <= n) {
      diag = sum(0, 0, n - 1, x, y - 2);
    } else {
      y -= n;
      diag = sum(0, 0, n - 1, x, n - 1);
      if (y > 1) {
        diag += sum(0, 0, n - 1, 0, y - 2);
      }
    }
    incUpd(0, 0, n - 1, x - 1);
    incUpd(0, 0, n - 1, y - 1);
    x = y;
    cnt += diag + 1;
    printf("%I64d ", cnt);
  }
  return 0;
}
