#include using namespace std; using ch = char; using ll = long long; using ld = long double; using db = double; using st = string; using vdb = vector; using vvdb = vector; using vl = vector; using vvl = vector; using vvvl = vector; using vd = vector; using vvd = vector; using vs = vector; using vvs = vector; using vc = vector; using vvc = vector; using vb = vector; using vvb = vector; using vvvb = vector; const ll mod = 998244353; const ll MOD = 1000000007; const ll INF = 1000000000000000000LL; using pall = pair; using vp = vector; int main(){ ll N,P; cin>>N>>P; vl A(N); ll MAX=0; for(int i=0; i>A[i]; MAX = max(MAX,A[i]); } ll ans = 0; for(ll i=P; i<=MAX; i*=P){ map X; for(int j=0; j