阶乘数码(单精度*高精度)
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
void mult(vector<int>& a,int b){
int d=0;
for(int i=0;i<a.size();i++){
int p=a[i]*b+d;
a[i]=p%10;
d=p/10;
}
while(d){
a.push_back(d%10);
d/=10;
}
}
int main() {
IOS;
int t;cin>>t;
while(t--){
int n,a1;cin>>n>>a1;
vector<int> ans(1,1);
for(int i=2;i<=n;i++){
mult(ans,i);//n的阶乘
}
int res=0;
for(const auto &x:ans){
if(x==a1)res++;
}
cout<<res<<"\n";
}
return 0;
}