#include <bits/stdc++.h>
using namespace std;
int n, k;
long long dat[4000055];
long long query(int id, int x, int y, int l, int r) {
  if (l > r) return 0ll;
  if (l > y || r < x) return 0ll;
  if (l <= x && y <= r) return dat[id];
  int mid = (x + y) >> 1;
  return query(id + id, x, mid, l, r) + query(id + id + 1, mid + 1, y, l, r);
}
void update(int id, int x, int y, int w) {
  if (x == y) {
    dat[id]++;
    return;
  }
  int mid = (x + y) >> 1;
  if (w <= mid)
    update(id + id, x, mid, w);
  else
    update(id + id + 1, mid + 1, y, w);
  dat[id] = dat[id + id] + dat[id + id + 1];
}
int main() {
  scanf("%d %d", &n, &k);
  k = min(k, n - k);
  int cur = 0;
  long long res = 1ll;
  for (int _ = 0; _ < n; _++) {
    int to = (cur + k) % n;
    if (cur < to) {
      res += query(1, 0, n - 1, cur + 1, to - 1);
    } else {
      res += query(1, 0, n - 1, cur + 1, n - 1);
      res += query(1, 0, n - 1, 0, to - 1);
    }
    update(1, 0, n - 1, cur);
    update(1, 0, n - 1, to);
    cur = to;
    if (_) printf(" ");
    res++;
    printf("%lld", res);
  }
  puts("");
  return 0;
}
