#include <bits/stdc++.h>
using namespace std;
void setIO() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
}
const int SZ = 33;
long long n, k;
long long a[SZ];
bool solve() {
  set<long long> ks;
  ks.insert(1);
  long long p = k;
  while (p > 0 && p < (1e18)) {
    ks.insert(p);
    p *= k;
  }
  set<long long> as;
  for (int _n(n), i(0); i < _n; i++) {
    if (a[i] == 0) continue;
    if (!as.insert(a[i]).second) return false;
  }
  for (auto it = ks.rbegin(); it != ks.rend() && as.size() > 0; it++) {
    long long mx = *prev(as.end());
    if (mx >= *it) {
      as.erase(mx);
      mx -= *it;
      if (mx > 0) {
        if (!as.insert(mx).second) return false;
      }
    }
  }
  return as.size() == 0;
}
int main() {
  setIO();
  int t;
  cin >> t;
  while (t--) {
    cin >> n >> k;
    for (int _n(n), i(0); i < _n; i++) {
      cin >> a[i];
    }
    cout << (solve() ? "YES" : "NO") << "\n";
  }
  return 0;
}
