#include<iostream>
using namespace std;
int num1[10005], num2[10005], times, w1, w, sum;
int main(){
int t;
scanf("%d", &t);
int n[t]={}, a[t]={};
for(int i=0; i<t; i++){
scanf("%d %d", &n[i], &a[i]);
}num1[0]=1;
for(int i=1; ; i++){
for(int o=0; o<=w1; o++){
num2[o]=num1[o];
num1[o]=0;
}for(int o=0; o<=w1; o++){
num1[o]+=(num2[o]*i);
if(num1[o]>=10){
num1[o+1]=num1[o]/10;
num1[o]=num1[o]%10;
}
if(num1[o+1]){
w=max(o+1, w1);
}
}w1=w;
for(int j=0; j<t; j++){
if(i==n[j]){
sum=0;
times++;
for(int p=0; p<=w; p++){
if(num1[p]==a[j]) sum++;
}printf("%d\n", sum);
}
}if(times==t)return 0;
}
}