#include <iostream>
#define MaxLen 15000
using namespace std;
int NumtoArr (int x, int arr[])
{
int p=1;
int len=0;
while (x/p!=0)
{
p=p*10;
len++;
}
p=p/10;
for (int i=0; i<len; i++)
{
arr[i]=(x/p)%10;
p=p/10;
}
return len;
}
int SumBig (int arrA[], int lenA, int arrB[], int lenB, int arrC[])
{
int len; //length max;
if (lenA>lenB) len=lenA;
else len=lenB;
int lenC=0;
int nho=0;
for (int i=MaxLen-1; i>=MaxLen-len; i--)
{
int so=(arrA[i]+arrB[i])+nho;
arrC[i]=so%10;
nho=so/10;
lenC++;
if (i==MaxLen-len && so/10>0) {
lenC++;
arrC[i-1]=so/10;
}
}
return lenC;
}
int cop (int arrB[], int lenB, int arrC[])
{
for (int i=MaxLen-1; i>=0; i--)
{
if (i>=MaxLen-lenB) arrC[i]=arrB[i];
else arrC[i]=0;
}
return lenB;
}
int PeBig (int arrA[], int lenA, int arrB[], int lenB, int arrC[])
{
int arrAtg[MaxLen];
int arrBtg[MaxLen];
int arrCtg[MaxLen];
for (int i=0; i<MaxLen; i++)
{
arrAtg[i]=0;
arrBtg[i]=0;
}
int lenAtg=0;
int lenBtg=0;
int lenCtg=0;
for (int i=lenB-1, vt=0; i>=0, vt<=lenB-1; i--, vt++)
{
for (int j=0; j<MaxLen; j++) arrAtg[i]=0;
int nho=0;
lenAtg=vt;
for (int j=MaxLen-1; j>=MaxLen-lenA; j--)
{
int so=(arrB[i]*arrA[j])+nho;
arrAtg[j-vt]=so%10;
nho=so/10;
lenAtg++;
arrAtg[j-vt-1]=so/10;
if (j==MaxLen-lenA && so/10>0) lenAtg++;
}
lenCtg=SumBig (arrAtg, lenAtg, arrBtg, lenBtg, arrCtg);
lenBtg=cop (arrCtg, lenCtg, arrBtg);
}
cop (arrBtg, lenBtg, arrC);
return lenBtg;
}
int main ()
{
int t;
cin>>t;
for (int i=1; i<=t; i++)
{
int n, x;
cin>>n>>x;
int dem=0;
if (n<20)
{
long long s=1;
for (int j=1; j<=n; j++)
{
s*=j;
}
long long p=1;
while (s/p!=0)
{
int so=(s/p)%10;
if (so==x) dem++;
p=p*10;
}
cout<<dem<<endl;
}
else
{
int S[MaxLen]={1, 2, 1, 6, 4, 5, 1, 0, 0, 4, 0, 8, 8, 3, 2, 0, 0, 0};
int lenS=18;
for (int i=MaxLen-1, j=lenS-1; i>=MaxLen-lenS, j>=0; i--, j--)
{
S[i]=S[j];
}
int Stg[MaxLen];
int lenStg=0;
int arr[4];
int lens=0;
for (int i=20; i<=n; i++)
{
lens = NumtoArr (i, arr);
lenStg=PeBig (S, lenS, arr, lens, Stg);
lenS=cop (Stg, lenStg, S);
}
int dem=0;
for (int i=MaxLen-lenS; i<MaxLen; i++)
{
if (S[i]==x) dem++;
}
cout<<dem<<endl;
}
}
return 0;
}