You are given an array A of size n. Each element of the array is a positive number.

A subarray is defined by (i,j) is called a **good-subarray** if the number of distinct elements in (A[i], A[i+1], \cdots, A[j] is not greater than B.

You are asked to tell the number of good-subarrays of each length 1 to n for the given array.

**Input Format**

The first argument is the array A

The second argument denotes the value B

**Output Fromat**

Return an array of integers where i^{th} integer denotes the number of good-subarrays of length (i+1)

**Constraints**

1 \leq n, A[i] \leq 10^5

1 \leq B \leq n

**For Example**

Input 1 :

A = [1, 2, 2, 3, 1]

B = 2

Output 1 :

5\,4\,2\,0\,0

Explanation :

For length 1 : [1], [2], [2], [3], [1] \rightarrow count = 5

For length 2 : [1,2], [2,2], [2,3], [3,1] \rightarrow count 4

For length 3: [1,2,2], [2,2,3] \rightarrow count = 2

For length 4 : \rightarrow count = 0

For length 5 : \rightarrow count = 0

How to solve this problem? Kindly help.