Sliding GCD

Problem Statement

For the set S of natural numbers, let f (S) be the number of elements in the set \\ {GCD (T) | T ⊆ S, T is not empty \\}.

Here, GCD (T) is the greatest integer that divides all the numbers contained in T.
In particular, note that GCD (\\ {a \\}) = a when T consists of only one integer a.

Find f (\\ {i, i + 1, ..., i + W --1 \\}) for i = 1, 2, ..., N --W + 1.

Constraints

* 1 ≤ W ≤ N ≤ 10 ^ 5

Input

Input follows the following format. All given numbers are integers.


N W

Output

The value of f (\\ {i, i + 1, ..., i + W-1 \\}) when i = 1, 2, ..., N-W + 1 is separated by a space. Print on a line.

Examples

Input

10 2


Output

2 3 3 3 3 3 3 3 3


Input

30 7


Output

7 8 9 10 10 11 11 11 11 12 11 12 10 12 12 11 10 12 12 12 10 11 11 13

import java.util.*;
import java.io.*;
import static java.util.Arrays.*;
import static java.util.Collections.*;
import static java.lang.Math.*;

public class Main {

	int INF = 1 << 28;
	//long INF = 1L << 62;
	double EPS = 1e-10;
	int n, w, cnt;
	int[] cnts;
	
	void run() {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt(); w = sc.nextInt();
		cnts = new int[2*n+10];
		cnt = 0;
		
		for(int i=1;i<=w;i++) {
			update(i, 1);
		}
		System.out.print(cnt + (n==w? "\n":" "));
		for(int i=1;i<n-w+1;i++) {
//			debug(i, cnts);
			update(i, -1);
			update(i+w, 1);
			System.out.print(cnt + (i==n-w? "\n": " "));
		}
	}
	
	void update(int x, int c) {
		cnts[1] += c==1? 2: -2;
		if(x!=1) cnts[x] += c==1? 2: -2;
		if( ( cnts[x] == 2 || cnts[x] == 3 ) && c == 1 ) cnt++;
		if( ( cnts[x] == 1 || cnts[x] == 0 ) && c == -1 ) cnt--;
		for(long j=2;j*j<=x;j++) if(x%j==0) {
			cnts[(int)j] += c;
			if( cnts[(int)j] == 2 && c == 1 ) cnt++;
			if( cnts[(int)j] == 1 && c == -1 ) cnt--;
			if( j != x/j ){
				cnts[(int)(x/j)] += c;
				if( cnts[(int)(x/j)] == 2 && c == 1 ) cnt++;
				if( cnts[(int)(x/j)] == 1 && c == -1 ) cnt--;
			}
		}
	}

	void debug(Object... os) {
		System.err.println(Arrays.deepToString(os));
	}

	public static void main(String[] args) {
		new Main().run();
	}
}