A k-multiple free set is a set of integers where there is no pair of integers where one is equal to another integer multiplied by k. That is, there are no two integers x and y (x < y) from the set, such that y = x·k.

You're given a set of n distinct positive integers. Your task is to find the size of it's largest k-multiple free subset.

Input

The first line of the input contains two integers n and k (1 ≤ n ≤ 105, 1 ≤ k ≤ 109). The next line contains a list of n distinct positive integers a1, a2, ..., an (1 ≤ ai ≤ 109).

All the numbers in the lines are separated by single spaces.

Output

On the only line of the output print the size of the largest k-multiple free subset of {a1, a2, ..., an}.

Examples

Input

6 2
2 3 6 5 4 10


Output

3

Note

In the sample input one of the possible maximum 2-multiple free subsets is {4, 5, 6}.
s = input().split()
n, k = int(s[0]), int(s[1])
s = input().split()
a, b = [], []
for x in s:
    a.append(int(x))
    b.append(0)
a.sort()
ans = n
for i in range(n):
    if b[i] == -1:
        continue
    l, r = i + 1, n - 1
    j = -1
    while l < r and j == -1:
        m = (l + r) // 2
        if a[m] < a[i] * k:
            l = m + 1
        elif a[m] > a[i] * k:
            r = m
        else:
            j = m
    m = (l + r) // 2
    if a[m] == a[i] * k and a[i] < a[m]:
        j = m
    if j != -1:
        if b[j] != -1:
            b[j] = -1
            ans -= 1
print(ans)