#include<cstdio>
#include<map>
using namespace std;
int N,K;
int A[2<<17],L[2<<17];
main()
{
scanf("%d%d",&N,&K);
for(int i=0;i<N;i++)
{
scanf("%d",&A[i]);
int t=A[i];
while(t)t/=10,L[i]++;
}
long long ans=0;
map<int,int>mp[11];
for(int i=0;i<N;i++)
{
int t=A[i]%K;
for(int j=1;j<=10;j++)
{
t=(long long)t*10%K;
mp[j][t]++;
if(j==L[i])
{
if((t+A[i])%K==0)ans--;
}
}
}
for(int i=0;i<N;i++)
{
int t=(K-A[i]%K)%K;
ans+=mp[L[i]][t];
}
printf("%lld\n",ans);
}
292B - Network Topology | 1339A - Filling Diamonds |
910A - The Way to Home | 617A - Elephant |
48A - Rock-paper-scissors | 294A - Shaass and Oskols |
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |