#include<bits/stdc++.h>
using namespace std;
struct node
{
long long data;
bool f;
}a[100005];
bool cmp(node a, node b)
{
return a.data < b.data;
}
int main()
{
int n, k, x;
scanf("%d%d", &n, &k);
for(int i = 1; i <= n; i ++)
{
scanf("%d", &a[i].data);
a[i].f = true;
}
int sum = n;
sort(a + 1, a + 1 + n, cmp);
for(int i = 1; i <= n; i ++)
{
if(a[i].f == true)
{
long long tmp = a[i].data * k;
for(int j = i; j <= n; j ++)
if(a[j].data == tmp)
{
a[j].f = false;
sum --;
}
}
}
printf("%d", sum);
return 0;
}