#include<bits/stdc++.h>
#define int long long
using namespace std;
int t,n,k,a,vis[300005],flag;
bool check(int x){
while(x>0){
int r=0,b=1;
while(x>=b)r++,b*=k;
b/=k,r--,x-=b,vis[r]++;
if(vis[r]>1)return 1;
}
return 0;
}
signed main(){
cin>>t;
while(t--){
memset(vis,0,sizeof(vis));
flag=1;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a;
if(!a)continue;
if(check(a)){puts("NO"),flag=0;break;}
}
if(flag)puts("YES");
}
return 0;
}
调了半天,不知道哪里错了。