#include #include std::map M; int x[100010]; int main() { int a; long long int b; scanf("%d%lld",&a,&b); for(int i=1;i<=a;i++) scanf("%d",&x[i]); long long int p = b, ans = 0; while(p<=1000000000) { M.clear(); for(int i=1;i<=a;i++) { M[x[i]%p]++; ans += (M[x[i]%p]-1); } p*=b; } printf("%lld",ans); }