#include using namespace std; const int max_n = 1e7; char is_prime[max_n + 1]; void sieve() { for (int i = 0; i <= max_n; i++) is_prime[i] = 1; is_prime[0] = 0; is_prime[1] = 0; // 2 check for (int i = 4; i <= max_n; i += 2) is_prime[i] = 0; // other for (int i = 3; i * i <= max_n; i += 2) if (is_prime[i]) for (int j = i * i; j <= max_n; j += i) is_prime[j] = 0; } int solve() { int n; cin >> n; if (!is_prime[n]) return 0; int digit_sum = 0; while (n) { digit_sum += n % 10; n /= 10; } if (!is_prime[digit_sum]) return 0; return 1; } int main() { sieve(); int q; cin >> q; int res = 0; while (q--) { res += solve(); } cout << res << "\n"; }