#include<bits/stdc++.h>
using namespace std;
string s1[200010],k;
int kbiao[35];
int geshu[200010];
int arr[200010][35];
int result[35];
int math_sub(int arr1[35],int arr2[35],int b)
{
for(int i=0;i<b;i++)
{
if(arr2[i]>arr1[i])
{
arr1[i-1]--;
arr1[i]+=10;
}
result[i]=arr1[i]-arr2[i];
}
while(result[b]==0&&b>1)
{
b--;
}
for(int i=0;i<35;i++)
{
if(kbiao[i]==result[i])
{
continue;
}
else{
return 0;
}
}
return 1;
}
int main()
{
long long a;
cin>>a>>k;
int a3=0;
for(int j=k.size()-1;j>=0;j--)
{
kbiao[a3]=k[j]-'0';
a3++;
}
int times=0,count=0;
for(int i=1;i<a;i++)
{
times+=i;
}
for(int i=0;i<a;i++)
{
cin>>s1[i];
geshu[i]=s1[i].size();
if(i>0)
{
for(int j=0;j<i;j++)
{
if(geshu[j]>geshu[i]||(geshu[j]==geshu[i]&&s1[i]<s1[j]))
{
swap(s1[i],s1[j]);
}
}
for(int j=0;j<geshu[i];j++)
{
arr[i][geshu[i]-1-j]=s1[i][j]-'0';
}
for(int j=0;j<i;j++)
{
count+=math_sub(arr[i],arr[j],max(geshu[i],geshu[j])); memset(result,0,sizeof(max(geshu[i],geshu[j])));
}
}
}
cout<<count;
system("pause");
return 0;
}