#include<iostream>
#include<vector>
using namespace std;

int main(){
  int n,w;
  bool table[100100];
  int f[1000],num;

  cin >> n >> w;
  int cnt = w;
  cout << cnt << (w==n?"\n":" ");
  for(int i=1;i<=w;i++)table[i] = true;
  for(int i=w+1;i<=n;i++)table[i] = false;

  for(int z=w+1;z<=n;z++){
    int prv = z-w;
    num = 0;
    for(int i=1;i*i<=prv;i++){
      if(prv%i==0){
	f[num++] = i;
	if(i*i!=prv)f[num++] = prv/i;
      }
    }

    for(int i=0;i<num;i++){
      if(!table[f[i]])continue;
      int pre = (prv+1)/f[i];
      if((prv+1)%f[i]!=0)pre++;
      int suf = (z-1)/f[i];
      if(suf-pre<=0){
	table[f[i]] = false;
	cnt--;
      }
    }
    
    num = 0;
    for(int i=1;i*i<=z;i++){
      if(z%i==0){
	f[num++] = i;
	if(i*i!=z)f[num++] = z/i;
      }
    }
    
    for(int i=0;i<num;i++){
      if(table[f[i]])continue;
      int pre = (prv+1)/f[i];
      if((prv+1)%f[i]!=0)pre++;
      int suf = (z-1)/f[i];
      if(suf-pre>=0){
	table[f[i]] = true;
	cnt++;
      }
    }
    table[z] = true; cnt++;

    cout << cnt << (z==n?"\n":" ");
  }
}
    