//二分写法
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
long long a[N];
int n;
long long p;
int main(){
cin>>n>>p;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
// for(int i=1;i<=n;i++)cout<<a[i]<<' ';
// cout<<endl;
int res=0;
for(int i=1;i<=n;i++){
int l=i,r=n;
while(l<r){
int mid=l+r+1>>1;
if(a[mid]<=a[i]*p)l=mid;
else r=mid-1;
}
if(a[l]<=a[i]*p)res=max(res,l-i+1);
}
cout<<res;
return 0;
}