#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll;
const int MAX = 100005;
int n, k, x, y, p;
int a[MAX], b[MAX];
int main() {
ios::sync_with_stdio(false);
cin >> n >> k;
for(int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);
if(k == 1){
cout << n << endl;
return 0;
}
for(int i = 0; i < n; i++){
y = a[i];
b[i] = 1;
if(y % k != 0) continue;
x = y / k;
p = lower_bound(a, a + n, x) - a;
if(a[p] == x){
b[i] = b[p] + 1;
b[p] = 0;
}
}
int ans = 0;
for(int i = 0; i < n; i++){
ans += (b[i] + 1) / 2;
}
cout << ans << endl;
return 0;
}
1559B - Mocha and Red and Blue | 1579C - Ticks |
268B - Buttons | 898A - Rounding |
1372B - Omkar and Last Class of Math | 1025D - Recovering BST |
439A - Devu the Singer and Churu the Joker | 1323A - Even Subset Sum Problem |
1095A - Repeating Cipher | 630F - Selection of Personnel |
630K - Indivisibility | 20B - Equation |
600B - Queries about less or equal elements | 1015A - Points in Segments |
1593B - Make it Divisible by 25 | 680C - Bear and Prime 100 |
1300A - Non-zero | 1475E - Advertising Agency |
1345B - Card Constructions | 1077B - Disturbed People |
653A - Bear and Three Balls | 794A - Bank Robbery |
157A - Game Outcome | 3B - Lorry |
1392A - Omkar and Password | 489A - SwapSort |
932A - Palindromic Supersequence | 433A - Kitahara Haruki's Gift |
672A - Summer Camp | 1277A - Happy Birthday Polycarp |