#include<iostream>
#include<cstring>
using namespace std;
int num[3005];
int main()
{
int t;
cin >> t;
while (t--)
{
memset(num, sizeof(num), 0);
int a,n,x,up = 0,total = 0;
cin >> n >> x;
num[1] = 1;
for( a = 2;a<=n;a++)
for (int i = 1; i <= 3000; i++)
{
num[i] = num[i] * a + up;
up = 0;
if (num[i] > 10)
{
up = num[i] / 10;
num[i] = num[i] % 10;
}
}
int w = 0;
for (int i = 3000;i>=1; i--)
{
if (num[i] != 0)
{
w = i; break;
}
}
for (int i = 1; i <= w; i++)
{
if (num[i] == x) total++;
}
cout << total << endl;
}
return 0;
}
``