//主要就是longlong这个问题容易忽略
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 100010;
long long a[N];
int main()
{
int n;
long long p;
cin>>n >>p;
for(int i = 0; i < n; i++) scanf("%d", &a[i]);
sort(a, a+n);
int res = 0;
for(int i = 0, j = 0; i < n; i++)
{
while(j < n && a[j] <= a[i] * p) j++;
res = max(res, j - i);
}
cout << res <<endl;
return 0;
}