cpp
1#include
2using namespace std;
3const int N = 5e3+10;
4bool st[N], gb[N];
5int primes[N], idx;
6void lineSieve() {
7for (int i = 2; i < N; i++) {
8
9 if (!st[i]) {
10
11 primes[idx++] = i;
12
13 }
14
15 for (int j = 0; j < idx && primes[j] <= N / i; j++) {
16
17 st[i*primes[j] * i] = 1;
18
19 if (i % primes[j] == 0) {
20
21 break;
22
23 }
24
25 }
26
27}
28
29
30}
31void goldSieve() {
32for (int i = 1; i < idx; i++) {
33
34 for (int j = i; j < idx && primes[i] <= N - primes[j]; j++) {
35
36 gb[primes[i] + primes[j]] = 1;
37
38 }
39
40}
41
42
43}
44int main() {
45lineSieve();
46
47goldSieve();
48
49int Q;
50
51cin >> Q;
52
53while (Q--) {
54
55 int t;
56
57 scanf("%d", &t);
58
59 if (gb[t]) {
60
61 printf("okk\n");
62
63 } else {
64
65 printf("something wrong\n");
66
67 }
68
69}
70
71return 0;
72
73
74}