// O(N log N) time
// O(N log N) memory
// yakusuu wo arakajime rekkyo suru

#include<cstdio>
#include<vector>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

const int N_MAX=300000;

int main(){
	int n,w; scanf("%d%d",&n,&w);

	static vector<int> D[N_MAX]; // D[a] := ( a no yakusuu zentai )
	for(int a=1;a<=n;a++){
		for(int b=a;b<=n;b+=a){
			D[b].push_back(a);
		}
	}

	vector<int> ans(n),cnt(n+1);
	int now=w;
	for(int a=1;a<=w;a++){
		vector<int> &d=D[a];
		rep(j,d.size()) cnt[d[j]]++;
		cnt[a]+=2;
	}
	rep(i,n-w+1){
		ans[i]=now;

		if(i<n-w){
			// delete i+1
			{
				cnt[i+1]-=2;
				if(cnt[i+1]<2) now--;
				vector<int> &d=D[i+1];
				rep(j,d.size()){
					cnt[d[j]]--;
					if(cnt[d[j]]==1) now--;
				}
			}

			// add i+w+1
			{
				cnt[i+w+1]+=2;
				if(cnt[i+w+1]-2<2) now++;
				vector<int> &d=D[i+w+1];
				rep(j,d.size()){
					cnt[d[j]]++;
					if(cnt[d[j]]==2) now++;
				}
			}
		}
	}

	rep(i,n-w+1) printf("%d%c",ans[i],i<n-w?' ':'\n');

	return 0;
}