//patB1030 1085 Perfect Sequence 完美数列 应用二分法 算法下P165 todo 可暂不理会
#include <iostream>
#include <algorithm>
using namespace std;
int bSearch(int L,int R,long long key,long long arr[]){
while(L <= R){ //todo L < R 结果将部分正确 应该是返回位置与算法下不同
// int mid = (L+R) / 2;
int mid = L +(R-L)/2;
if(arr[mid] == key) return mid;
else if(key<arr[mid]) R = mid - 1;
else L =mid +1;
}
return R;
}
int main(){
long long N,p;
long long arr[100010];
cin>>N>>p;
for(int i=0;i<N;++i) cin>>arr[i];
sort(arr,arr+N);
int max= 1;
for(int i=0;i<N;++i){
int k = bSearch(i+1,N-1,p*arr[i],arr);
if(max<k-i+1) max = k-i+1;
}
cout<<max<<endl;
return 0;
}