Submission
Status:
xxxxxxxxxx
Subtask/Task Score:
0/100
Score: 0
User: Kx
Problemset: ทางเชื่อม
Language: cpp
Time: 0.004 second
Submitted On: 2026-03-18 14:38:36
#include <bits/stdc++.h>
using namespace std;
int m, n;
int main() {
cin >> m >> n;
int mx = 1;
while(n--) mx *= 10;
vector<bool> sieve(mx + 4, true);
sieve[0] = sieve[1] = false;
for(int i = 2; i <= mx; ++i) {
if(sieve[i]) {
for(int j = i + i; j <= mx; j += i) {
sieve[j] = false;
}
}
}
for(int i = 0; i < m; ++i) {
string s; cin >> s;
sort(s.begin(), s.end());
int res = 0;
do {
if(sieve[stoi(s)]) res++;
} while(next_permutation(s.begin(), s.end()));
cout << res << '\n';
}
return 0;
}