Submission
Status:
PPPPPxxPxx
Subtask/Task Score:
60/100
Score: 60
User: tull
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.013 second
Submitted On: 2026-04-25 22:30:23
#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define all(A) A.begin(),A.end()
const int N=1e6+10;
int prime[N];
signed main(){
cin.tie(nullptr)->sync_with_stdio(false);
int q,n;
cin>>q>>n;
prime[1]=1;
for(int i=2;i<N;++i){
if(prime[i]==0){
for(int j=i*i;j<N;j+=i){
prime[j]=1;
}
}
}
while(q--){
string a;
cin>>a;
sort(all(a));
int ans=0;
do{
n=stoll(a,nullptr,10);
ans+=(prime[n]==0);
//cout<<"--> "<<n<<'\n';
}while(next_permutation(all(a)));
cout<<ans<<'\n';
}
}