悬赏一关
#include<bits/stdc++.h>
using namespace std;
int n,T;
bool vis[10000005];
vector<int> v;
int main(){
vis[0]=1;
vis[1]=1;
for(int i=2;i<=10000000;i++){
if(vis[i]) continue;
for(int k=i;k<10000000/i;k++) vis[i*k]=1;
}
cin>>T;
while(T--){
int ans=0;
v.clear();
cin>>n;
while(n){
v.push_back(n%10);
n/=10;
}
sort(v.begin(),v.end());
do{
if(v[0]==0) continue;
int x=0;
for(int i=0;i<v.size();i++){
x*=10;
x+=v[i];
}
if(!vis[x]) ans++;
}while(next_permutation(v.begin(),v.end()));
cout<<ans<<endl;
}
return 0;
}