#include<bits/stdc++.h>
using namespace std;
long long num[400001],weishu[400001],lg[400001],hash_1[400001][20];
long long work(long long x){
long long ans=0;
while(x){
ans++;
x/=10;
}
return ans;
}
int main(){
int n,K;
lg[0]=1;
for(int i=1;i<=11;i++){
lg[i]=lg[i-1]*10;
}
cin>>n>>K;
for(int i=1;i<=n;i++){
cin>>num[i];
for(int j=0;j<=11;j++){
hash_1[((long long)(lg[j]%K)*(long long)(num[i]%K))%K][j]++;
}
}
long long ans=0;
for(int i=1;i<=n;i++){
ans+=hash_1[(K-num[i]%K)%K][work(num[i])];
if(((lg[work(num[i])]%K)*(num[i]%K))%K==(K-num[i])%K){
ans-=1;
}
}
cout<<ans;
return 0;
}