1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
use debug_et_diagnostics::{dark};
#[test]
fn test_dark() {
assert_eq!(dark(0), 16);
assert_eq!(dark(1), 16);
assert_eq!(dark(2), 16);
assert_eq!(dark(3), 16);
assert_eq!(dark(4), 16);
assert_eq!(dark(5), 16);
assert_eq!(dark(6), 16);
assert_eq!(dark(7), 16);
assert_eq!(dark(8), 16);
assert_eq!(dark(9), 16);
assert_eq!(dark(10), 16);
assert_eq!(dark(11), 16);
assert_eq!(dark(12), 16);
assert_eq!(dark(13), 16);
assert_eq!(dark(14), 16);
assert_eq!(dark(15), 102);
assert_eq!(dark(16), 16);
// assert_eq!(dark(17), 23);
// assert_eq!(dark(18), 63);
// assert_eq!(dark(19), 235);
// assert_eq!(dark(20), 203);
// assert_eq!(dark(21), 21);
// assert_eq!(dark(22), 22);
// assert_eq!(dark(23), 23);
// assert_eq!(dark(24), 23);
// assert_eq!(dark(25), 23);
// assert_eq!(dark(26), 23);
// assert_eq!(dark(27), 27);
// assert_eq!(dark(28), 234);
// assert_eq!(dark(29), 23);
// assert_eq!(dark(30), 234);
// assert_eq!(dark(31), 234);
// assert_eq!(dark(32), 234);
// assert_eq!(dark(33), 27);
// assert_eq!(dark(34), 234);
// assert_eq!(dark(35), 23);
// assert_eq!(dark(36), 235);
// assert_eq!(dark(37), 235);
// assert_eq!(dark(38), 235);
// assert_eq!(dark(39), 27);
// assert_eq!(dark(40), 22);
// assert_eq!(dark(41), 23);
// assert_eq!(dark(42), 235);
// assert_eq!(dark(43), 235);
// assert_eq!(dark(44), 236);
// assert_eq!(dark(45), 27);
// assert_eq!(dark(46), 46);
// assert_eq!(dark(47), 47);
// assert_eq!(dark(48), 47);
// assert_eq!(dark(49), 47);
// assert_eq!(dark(50), 47);
// assert_eq!(dark(51), 51);
// assert_eq!(dark(52), 23);
// assert_eq!(dark(53), 16);
// assert_eq!(dark(54), 203);
// assert_eq!(dark(55), 235);
// assert_eq!(dark(56), 235);
// assert_eq!(dark(57), 52);
// assert_eq!(dark(58), 16);
// assert_eq!(dark(59), 23);
// assert_eq!(dark(60), 63);
// assert_eq!(dark(61), 240);
// assert_eq!(dark(62), 59);
// assert_eq!(dark(63), 63);
// assert_eq!(dark(64), 236);
// assert_eq!(dark(65), 236);
// assert_eq!(dark(66), 236);
// assert_eq!(dark(67), 236);
// assert_eq!(dark(68), 236);
// assert_eq!(dark(69), 63);
// assert_eq!(dark(70), 58);
// assert_eq!(dark(71), 237);
// assert_eq!(dark(72), 237);
// assert_eq!(dark(73), 237);
// assert_eq!(dark(74), 237);
// assert_eq!(dark(75), 63);
// assert_eq!(dark(76), 58);
// assert_eq!(dark(77), 238);
// assert_eq!(dark(78), 237);
// assert_eq!(dark(79), 238);
// assert_eq!(dark(80), 238);
// assert_eq!(dark(81), 63);
// assert_eq!(dark(82), 82);
// assert_eq!(dark(83), 83);
// assert_eq!(dark(84), 83);
// assert_eq!(dark(85), 83);
// assert_eq!(dark(86), 83);
// assert_eq!(dark(87), 87);
// assert_eq!(dark(88), 63);
// assert_eq!(dark(89), 203);
// assert_eq!(dark(90), 16);
// assert_eq!(dark(91), 22);
// assert_eq!(dark(92), 238);
// assert_eq!(dark(93), 21);
// assert_eq!(dark(94), 22);
// assert_eq!(dark(95), 23);
// assert_eq!(dark(96), 239);
// assert_eq!(dark(97), 239);
// assert_eq!(dark(98), 239);
// assert_eq!(dark(99), 27);
// assert_eq!(dark(100), 234);
// assert_eq!(dark(101), 235);
// assert_eq!(dark(102), 235);
// assert_eq!(dark(103), 235);
// assert_eq!(dark(104), 235);
// assert_eq!(dark(105), 27);
// assert_eq!(dark(106), 235);
// assert_eq!(dark(107), 236);
// assert_eq!(dark(108), 235);
// assert_eq!(dark(109), 236);
// assert_eq!(dark(110), 236);
// assert_eq!(dark(111), 27);
// assert_eq!(dark(112), 236);
// assert_eq!(dark(113), 237);
// assert_eq!(dark(114), 236);
// assert_eq!(dark(115), 236);
// assert_eq!(dark(116), 236);
// assert_eq!(dark(117), 27);
// assert_eq!(dark(118), 46);
// assert_eq!(dark(119), 47);
// assert_eq!(dark(120), 47);
// assert_eq!(dark(121), 47);
// assert_eq!(dark(122), 47);
// assert_eq!(dark(123), 51);
// assert_eq!(dark(124), 232);
// assert_eq!(dark(125), 53);
// assert_eq!(dark(126), 232);
// assert_eq!(dark(127), 232);
// assert_eq!(dark(128), 233);
// assert_eq!(dark(129), 57);
// assert_eq!(dark(130), 58);
// assert_eq!(dark(131), 240);
// assert_eq!(dark(132), 239);
// assert_eq!(dark(133), 239);
// assert_eq!(dark(134), 239);
// assert_eq!(dark(135), 63);
// assert_eq!(dark(136), 235);
// assert_eq!(dark(137), 235);
// assert_eq!(dark(138), 235);
// assert_eq!(dark(139), 235);
// assert_eq!(dark(140), 235);
// assert_eq!(dark(141), 63);
// assert_eq!(dark(142), 235);
// assert_eq!(dark(143), 236);
// assert_eq!(dark(144), 236);
// assert_eq!(dark(145), 236);
// assert_eq!(dark(146), 236);
// assert_eq!(dark(147), 63);
// assert_eq!(dark(148), 236);
// assert_eq!(dark(149), 237);
// assert_eq!(dark(150), 236);
// assert_eq!(dark(151), 236);
// assert_eq!(dark(152), 237);
// assert_eq!(dark(153), 63);
// assert_eq!(dark(154), 82);
// assert_eq!(dark(155), 83);
// assert_eq!(dark(156), 83);
// assert_eq!(dark(157), 83);
// assert_eq!(dark(158), 83);
// assert_eq!(dark(159), 87);
// assert_eq!(dark(160), 52);
// assert_eq!(dark(161), 53);
// assert_eq!(dark(162), 233);
// assert_eq!(dark(163), 233);
// assert_eq!(dark(164), 53);
// assert_eq!(dark(165), 57);
// assert_eq!(dark(166), 58);
// assert_eq!(dark(167), 240);
// assert_eq!(dark(168), 239);
// assert_eq!(dark(169), 239);
// assert_eq!(dark(170), 240);
// assert_eq!(dark(171), 63);
// assert_eq!(dark(172), 235);
// assert_eq!(dark(173), 236);
// assert_eq!(dark(174), 235);
// assert_eq!(dark(175), 235);
// assert_eq!(dark(176), 235);
// assert_eq!(dark(177), 63);
// assert_eq!(dark(178), 236);
// assert_eq!(dark(179), 236);
// assert_eq!(dark(180), 236);
// assert_eq!(dark(181), 236);
// assert_eq!(dark(182), 236);
// assert_eq!(dark(183), 63);
// assert_eq!(dark(184), 236);
// assert_eq!(dark(185), 237);
// assert_eq!(dark(186), 237);
// assert_eq!(dark(187), 237);
// assert_eq!(dark(188), 237);
// assert_eq!(dark(189), 63);
// assert_eq!(dark(190), 82);
// assert_eq!(dark(191), 83);
// assert_eq!(dark(192), 83);
// assert_eq!(dark(193), 83);
// assert_eq!(dark(194), 83);
// assert_eq!(dark(195), 87);
// assert_eq!(dark(196), 196);
// assert_eq!(dark(197), 197);
// assert_eq!(dark(198), 197);
// assert_eq!(dark(199), 197);
// assert_eq!(dark(200), 197);
// assert_eq!(dark(201), 201);
// assert_eq!(dark(202), 202);
// assert_eq!(dark(203), 203);
// assert_eq!(dark(204), 203);
// assert_eq!(dark(205), 203);
// assert_eq!(dark(206), 203);
// assert_eq!(dark(207), 207);
// assert_eq!(dark(208), 202);
// assert_eq!(dark(209), 203);
// assert_eq!(dark(210), 203);
// assert_eq!(dark(211), 203);
// assert_eq!(dark(212), 203);
// assert_eq!(dark(213), 207);
// assert_eq!(dark(214), 202);
// assert_eq!(dark(215), 203);
// assert_eq!(dark(216), 203);
// assert_eq!(dark(217), 203);
// assert_eq!(dark(218), 203);
// assert_eq!(dark(219), 207);
// assert_eq!(dark(220), 202);
// assert_eq!(dark(221), 203);
// assert_eq!(dark(222), 203);
// assert_eq!(dark(223), 203);
// assert_eq!(dark(224), 203);
// assert_eq!(dark(225), 207);
// assert_eq!(dark(226), 226);
// assert_eq!(dark(227), 227);
// assert_eq!(dark(228), 227);
// assert_eq!(dark(229), 227);
// assert_eq!(dark(230), 227);
// assert_eq!(dark(231), 255);
// assert_eq!(dark(232), 235);
// assert_eq!(dark(233), 16);
// assert_eq!(dark(234), 234);
// assert_eq!(dark(235), 235);
// assert_eq!(dark(236), 47);
// assert_eq!(dark(237), 58);
// assert_eq!(dark(238), 236);
// assert_eq!(dark(239), 239);
// assert_eq!(dark(240), 235);
// assert_eq!(dark(241), 241);
// assert_eq!(dark(242), 242);
// assert_eq!(dark(243), 234);
// assert_eq!(dark(244), 234);
// assert_eq!(dark(245), 235);
// assert_eq!(dark(246), 235);
// assert_eq!(dark(247), 235);
// assert_eq!(dark(248), 235);
// assert_eq!(dark(249), 236);
// assert_eq!(dark(250), 236);
// assert_eq!(dark(251), 236);
// assert_eq!(dark(252), 236);
// assert_eq!(dark(253), 237);
// assert_eq!(dark(254), 237);
// assert_eq!(dark(255), 238);
}