#include #include #include #include #include #include #include #include #include #include #define mkp make_pair #define mkt make_tuple #define rep(i,n) for(int i = 0; i < (n); ++i) #define all(v) v.begin(),v.end() using namespace std; typedef long long ll; const ll MOD=1e9+7; template void chmin(T &a,const T &b){if(a>b) a=b;} template void chmax(T &a,const T &b){if(a>N>>M>>P; vector A(N); rep(i,N) cin>>A[i]; vector B(N); vector C(N); rep(i,N){ int num=0; int val=A[i]; while(val%P==0){ val/=P; num++; } B[i]=val;C[i]=num; } ll ma=*max_element(all(A)); vector dp(LIM+1,0); dp[0]=1; for(int i=0;iM){ cout<