Submission

Status:

PPPPPxxPxx

Subtask/Task Score:

60/100

Score: 60

User: asamarum70

Problemset: การเรียงสับเปลี่ยน

Language: cpp

Time: 0.005 second

Submitted On: 2026-03-04 15:50:33

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fr(i,a,b,c) for(int i = a;i<b;i+=c)
#define fre(i,a,b,c) for(int i = a;i>=b;i-=c)
#define fs first
#define sc second
#define all(a) a.begin(),a.end()
#define IINF 2000000005
#define LINF 1000000000000000005
#define str string
#define endl '\n'
using pii = pair<int,int>;
using pll = pair<ll,ll>;
using tiii = tuple<int,int,int>;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int uid(int a, int b) { return uniform_int_distribution<int>(a,b)(rng); }
ll uld(ll a, ll b) { return uniform_int_distribution<ll>(a,b)(rng); }

constexpr int MOD = 998244353; //1000000007;

bool p[1000005];

int main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    p[0] = p[1] = 1;
    for(int i = 2;i * i <= 1000001;i++){
        if(p[i])continue;
        for(int j = i * i ; j <= 1000001;j+=i)p[j] = 1;
    }
    int tc,n;cin >> tc >> n;
    while(tc--){
        str a;cin >> a;
        sort(all(a));
        int ans = 0;
        do{
            // cout << a << endl;
            if(!p[stoi(a)])ans++;
        }while(next_permutation(all(a)));
        cout << ans << endl;
    }
}