#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e6;
long long seg_t[MAXN * 4];
long long n, k, cur, ans = 1;
void add(long long u, long long curl, long long curr, long long l, long long r,
         long long delta) {
  long long curm = (curl + curr) / 2;
  if (l == curl && r == curr) {
    seg_t[u] += delta;
    return;
  }
  if (l <= curm) {
    if (r >= curm) {
      add(u * 2, curl, curm, l, curm, delta);
    } else {
      add(u * 2, curl, curm, l, r, delta);
    }
  }
  if (r >= curm + 1) {
    if (l <= curm + 1) {
      add(u * 2 + 1, curm + 1, curr, curm + 1, r, delta);
    } else {
      add(u * 2 + 1, curm + 1, curr, l, r, delta);
    }
  }
}
long long get(long long u, long long curl, long long curr, long long x) {
  long long ret = 0;
  long long curm = (curl + curr) / 2;
  ret += seg_t[u];
  if (curl == curr) return ret;
  if (x <= curm) {
    ret += get(u * 2, curl, curm, x);
  } else if (x >= curm + 1) {
    ret += get(u * 2 + 1, curm + 1, curr, x);
  }
  return ret;
}
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k;
  k = min(k, n - k);
  long long r, l = 1;
  for (long long i = 0; i < n; ++i) {
    r = l + k;
    if (r > n) {
      add(1, 1, n + 1, l + 1, n + 1, 1);
      r -= n;
      if (r > 1) add(1, 1, n + 1, 1, r - 1, 1);
    } else {
      add(1, 1, n + 1, l + 1, r - 1, 1);
    }
    ans += 1 + get(1, 1, n + 1, l) + get(1, 1, n + 1, r);
    cout << ans << ' ';
    l = r;
  }
  return 0;
}
