30 0, 32, 32, 32, 33, 32, 32, 32,
31 32, 31, 32, 33, 33, 33, 33, 35,
32 36, 36, 34, 34, 36, 37, 37, 36,
33 36, 35, 36, 38, 39, 39, 37, 36,
34 37, 37, 39, 41, 42, 41, 39, 39,
35 40, 41, 42, 43, 42, 42, 41, 41,
36 41, 44, 47, 46, 46, 48, 51, 51,
37 50, 50, 53, 55, 55, 56, 60, 60,
41 0, 32, 33, 34, 34, 33, 34, 35,
42 37, 40, 43, 42, 39, 38, 39, 41,
43 43, 44, 47, 50, 55, 61, 63, 56,
44 48, 46, 49, 54, 59, 58, 55, 58,
45 63, 65, 67, 74, 84, 82, 75, 72,
46 70, 74, 84, 87, 87, 94, 93, 81,
47 75, 78, 83, 89, 91, 86, 82, 85,
48 90, 90, 85, 79, 73, 73, 73, 73,
53 0, 32, 33, 34, 34, 36, 37, 36,
54 36, 37, 38, 38, 38, 39, 41, 44,
55 43, 41, 40, 41, 46, 49, 47, 46,
56 47, 49, 51, 54, 60, 62, 59, 55,
57 54, 56, 58, 61, 65, 66, 64, 63,
58 66, 73, 78, 79, 80, 79, 78, 78,
59 82, 87, 89, 90, 93, 95, 96, 97,
60 97, 100, 104, 102, 98, 98, 99, 99,
65 0, 32, 36, 39, 39, 38, 39, 41,
66 45, 51, 57, 58, 53, 48, 47, 51,
67 55, 58, 66, 75, 81, 83, 82, 78,
68 73, 72, 74, 77, 83, 85, 83, 82,
69 89, 99, 96, 90, 94, 97, 99, 105,
70 109, 105, 95, 89, 92, 95, 94, 93,
71 92, 88, 89, 90, 93, 95, 96, 97,
72 97, 100, 104, 102, 98, 98, 99, 99,
76 0, 32, 32, 33, 34, 33, 33, 33,
77 33, 33, 33, 33, 33, 35, 37, 37,
78 36, 36, 35, 36, 38, 38, 36, 35,
79 36, 37, 38, 41, 42, 41, 39, 38,
80 38, 38, 39, 41, 42, 41, 39, 39,
81 40, 41, 43, 44, 44, 44, 44, 44,
82 45, 47, 47, 47, 49, 50, 51, 51,
83 51, 53, 55, 57, 58, 59, 57, 57,
87 0, 32, 35, 35, 35, 34, 34, 35,
88 39, 43, 45, 45, 41, 39, 40, 41,
89 42, 44, 48, 55, 59, 63, 65, 59,
90 53, 52, 52, 55, 61, 62, 58, 58,
91 63, 66, 66, 65, 70, 74, 70, 66,
92 65, 68, 75, 77, 74, 74, 77, 76,
93 73, 73, 73, 73, 76, 80, 89, 90,
94 82, 77, 80, 86, 84, 82, 82, 82,
98 0, 32, 33, 34, 34, 35, 36, 37,
99 36, 37, 38, 38, 38, 39, 39, 40,
100 40, 38, 38, 39, 38, 37, 39, 41,
101 41, 42, 43, 45, 45, 46, 47, 46,
102 45, 43, 39, 37, 37, 40, 44, 45,
103 45, 46, 46, 46, 47, 47, 46, 44,
104 42, 43, 45, 47, 48, 49, 50, 49,
105 48, 46, 47, 48, 48, 49, 49, 49,
109 0, 32, 36, 38, 37, 37, 40, 41,
110 40, 40, 42, 42, 41, 41, 41, 41,
111 42, 43, 44, 44, 45, 46, 46, 45,
112 44, 45, 45, 45, 45, 46, 47, 46,
113 45, 44, 42, 41, 43, 45, 45, 47,
114 48, 48, 48, 46, 47, 47, 46, 47,
115 46, 45, 45, 47, 48, 49, 50, 49,
116 48, 46, 48, 49, 48, 49, 49, 49,
120 0, 32, 33, 33, 34, 35, 36, 35,
121 33, 33, 35, 36, 37, 37, 38, 37,
122 37, 37, 36, 37, 37, 37, 38, 39,
123 37, 36, 37, 40, 42, 45, 46, 44,
124 41, 42, 44, 45, 47, 49, 50, 48,
125 46, 48, 49, 50, 52, 52, 50, 49,
126 47, 48, 50, 50, 51, 51, 50, 49,
127 49, 51, 52, 51, 49, 47, 47, 47,
131 0, 32, 37, 42, 45, 45, 45, 44,
132 38, 37, 40, 42, 44, 49, 51, 47,
133 41, 40, 43, 44, 46, 48, 51, 54,
134 51, 47, 47, 45, 47, 50, 51, 49,
135 46, 47, 49, 47, 50, 55, 55, 51,
136 48, 49, 51, 51, 52, 52, 54, 54,
137 49, 49, 52, 53, 54, 54, 53, 53,
138 55, 59, 63, 62, 60, 60, 60, 60,
142 0, 32, 32, 33, 33, 35, 35, 35,
143 35, 35, 35, 35, 34, 35, 38, 40,
144 39, 37, 37, 37, 36, 35, 36, 38,
145 40, 41, 42, 44, 45, 44, 42, 41,
146 40, 38, 36, 36, 37, 38, 40, 43,
147 44, 45, 45, 45, 45, 45, 45, 41,
148 39, 41, 45, 47, 47, 48, 48, 48,
149 46, 44, 45, 47, 47, 48, 47, 47,
153 0, 32, 36, 37, 36, 37, 39, 39,
154 41, 43, 43, 42, 41, 41, 41, 42,
155 43, 43, 43, 44, 44, 44, 46, 47,
156 46, 45, 45, 45, 45, 46, 44, 44,
157 45, 44, 42, 41, 43, 46, 45, 44,
158 45, 45, 45, 46, 46, 46, 45, 44,
159 45, 44, 45, 47, 47, 48, 49, 48,
160 46, 45, 46, 47, 47, 48, 47, 47,
164 0, 32, 32, 33, 34, 35, 35, 35,
165 34, 34, 35, 36, 36, 36, 36, 36,
166 37, 38, 38, 38, 38, 38, 39, 39,
167 38, 38, 39, 41, 43, 43, 42, 41,
168 40, 40, 39, 40, 41, 41, 39, 39,
169 40, 42, 47, 50, 47, 45, 46, 46,
170 44, 45, 46, 47, 49, 54, 58, 54,
171 48, 49, 54, 57, 60, 62, 63, 63,
175 0, 32, 35, 36, 36, 35, 36, 39,
176 41, 43, 45, 44, 41, 39, 40, 42,
177 43, 43, 45, 48, 49, 51, 52, 50,
178 50, 51, 51, 51, 51, 52, 53, 54,
179 51, 49, 51, 52, 52, 56, 57, 55,
180 54, 54, 55, 56, 55, 58, 58, 58,
181 60, 61, 62, 62, 59, 57, 58, 58,
182 61, 59, 59, 59, 60, 62, 63, 63,
186 0, 32, 32, 34, 34, 34, 34, 35,
187 35, 35, 36, 37, 36, 36, 35, 36,
188 38, 38, 38, 38, 38, 38, 38, 38,
189 38, 38, 39, 41, 44, 43, 41, 40,
190 40, 40, 40, 39, 40, 41, 40, 39,
191 40, 43, 46, 46, 44, 44, 44, 42,
192 41, 43, 46, 48, 50, 55, 58, 53,
193 48, 50, 55, 58, 61, 62, 62, 62,
197 0, 32, 35, 36, 36, 35, 36, 39,
198 41, 43, 45, 44, 41, 39, 40, 42,
199 43, 43, 45, 48, 48, 48, 50, 50,
200 50, 51, 51, 51, 51, 52, 53, 54,
201 51, 49, 51, 52, 52, 56, 57, 55,
202 54, 54, 55, 56, 55, 58, 58, 58,
203 60, 61, 62, 62, 59, 57, 58, 58,
204 61, 59, 59, 59, 61, 62, 62, 62,
209 0, 32, 34, 35, 36, 36, 36, 37,
210 36, 37, 39, 40, 41, 40, 40, 40,
211 41, 41, 42, 41, 41, 43, 44, 44,
212 45, 46, 48, 55, 60, 57, 52, 50,
213 49, 49, 52, 52, 53, 55, 58, 62,
214 65, 73, 82, 82, 80, 78, 73, 68,
215 71, 82, 90, 90, 88, 87, 90, 95,
216 100, 107, 103, 97, 95, 93, 99, 99,
221 0, 32, 35, 36, 37, 37, 38, 40,
222 42, 46, 49, 50, 50, 49, 49, 53,
223 56, 56, 57, 58, 60, 62, 64, 65,
224 63, 64, 64, 65, 66, 65, 67, 71,
225 72, 74, 74, 74, 74, 77, 81, 78,
226 72, 73, 82, 85, 89, 88, 84, 80,
227 90, 100, 90, 90, 88, 87, 90, 95,
228 114, 128, 125, 129, 134, 125, 116, 116,
232 0, 32, 32, 32, 32, 32, 32, 32,
233 32, 32, 32, 32, 32, 32, 32, 32,
234 32, 32, 32, 32, 32, 32, 37, 32,
235 32, 32, 32, 32, 33, 32, 32, 32,
236 32, 32, 33, 34, 37, 36, 32, 32,
237 32, 33, 34, 37, 36, 34, 35, 36,
238 39, 44, 40, 40, 39, 39, 44, 43,
239 43, 51, 56, 50, 49, 60, 61, 70,
243 0, 32, 33, 34, 36, 37, 37, 36,
244 34, 33, 34, 35, 37, 38, 40, 41,
245 40, 39, 38, 37, 34, 33, 34, 37,
246 40, 44, 48, 52, 53, 49, 47, 45,
247 42, 38, 36, 36, 38, 41, 43, 44,
248 46, 49, 52, 54, 54, 49, 44, 44,
249 44, 47, 51, 51, 52, 51, 48, 50,
250 52, 53, 53, 50, 50, 54, 54, 54,
254 0, 32, 34, 38, 42, 40, 38, 36,
255 35, 35, 38, 42, 43, 43, 42, 40,
256 38, 39, 43, 43, 42, 41, 43, 43,
257 42, 44, 46, 45, 45, 46, 47, 46,
258 44, 44, 45, 46, 46, 46, 50, 50,
259 47, 47, 49, 49, 49, 49, 51, 53,
260 51, 49, 53, 57, 56, 52, 50, 52,
261 56, 56, 53, 53, 53, 54, 58, 58,
266 10, 62, 11, 12, 13, 0, 1, 2, 3, 4, 14, 30, 126, 127,
271 4, 6, 4, 4, 4, 3, 3, 3, 3, 3, 4, 5, 7, 7,
276 0, 12, 13, 1, 2, 3, 4, 5, 14, 30, 62, 63,
281 3, 4, 4, 3, 3, 3, 3, 3, 4, 5, 6, 6,
286 0, 1, 4, 5, 12, 26, 27, 56,
287 57, 58, 59, 120, 121, 244, 245, 246,
288 247, 248, 498, 499, 500, 501, 502, 1006,
289 1007, 1008, 1009, 1010, 1011, 2024, 2025, 2026,
290 2027, 2028, 2029, 2030, 2031, 4064, 4065, 4066,
291 4067, 4068, 4069, 4070, 4071, 4072, 4073, 8148,
292 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156,
293 8157, 8158, 16318, 16319, 16320, 16321, 16322, 16323,
294 16324, 16325, 16326, 16327, 16328, 16329, 16330, 16331,
295 16332, 16333, 32668, 32669, 32670, 32671, 32672, 32673,
296 32674, 32675, 32676, 32677, 32678, 32679, 32680, 32681,
297 32682, 32683, 32684, 65370, 65371, 65372, 65373, 65374,
298 65375, 65376, 65377, 65378, 65379, 65380, 65381, 65382,
299 65383, 65384, 65385, 65386, 65387, 65388, 65389, 65390,
300 65391, 65392, 65393, 65394, 65395, 65396, 65397, 65398,
301 65399, 65400, 65401, 65402, 65403, 65404, 65405, 65406,
302 65407, 65408, 65409, 65410, 65411, 65412, 65413, 65414,
303 65415, 65416, 65417, 65418, 65419, 65420, 65421, 65422,
304 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430,
305 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438,
306 65439, 65440, 65441, 65442, 65443, 65444, 65445, 65446,
307 65447, 65448, 65449, 65450, 65451, 65452, 65453, 65454,
308 65455, 65456, 65457, 65458, 65459, 65460, 65461, 65462,
309 65463, 65464, 65465, 65466, 65467, 65468, 65469, 65470,
310 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478,
311 65479, 65480, 65481, 65482, 65483, 65484, 65485, 65486,
312 65487, 65488, 65489, 65490, 65491, 65492, 65493, 65494,
313 65495, 65496, 65497, 65498, 65499, 65500, 65501, 65502,
314 65503, 65504, 65505, 65506, 65507, 65508, 65509, 65510,
315 65511, 65512, 65513, 65514, 65515, 65516, 65517, 65518,
316 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526,
317 65527, 65528, 65529, 65530, 65531, 65532, 65533, 65534,
323 2, 2, 3, 3, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8,
324 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11,
325 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13,
326 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14,
327 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15,
328 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16,
329 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
330 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
331 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
332 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
333 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
334 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
335 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
336 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
337 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
338 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
344 3, 3, 5, 0, 7, 9, 5, 11, 13, 15, 7, 17, 19, 21, 23, 25,
345 9, 11, 27, 29, 31, 33, 13, 35, 37, 39, 41, 43, 15, 45, 47, 49,
346 51, 53, 55, 17, 19, 57, 59, 61, 63, 65, 67, 69, 21, 23, 25, 71,
347 73, 75, 77, 79, 81, 83, 27, 29, 31, 33, 85, 87, 89, 91, 93, 95,
348 97, 99,101,103,105, 35, 37, 39, 41, 43,107,109,111,113,115,117,
349 119,121,123,129, 3, 45, 47, 49, 51, 53, 55,125,127, 5, 7, 9,
350 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
351 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
352 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,101,103,105,
353 107,109,111,113,115,117,119,121,123,125,127,129, 57, 59, 61, 63,
354 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
355 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
356 129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
357 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
358 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
359 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
365 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0,
366 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0,
367 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0,
368 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
369 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
370 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1,
371 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
372 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
373 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
374 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
375 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
376 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
377 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
378 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
379 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
380 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
386 0, 1, 4, 10, 11, 24, 25, 26,
387 54, 55, 56, 57, 116, 117, 118, 119,
388 240, 241, 242, 243, 244, 245, 492, 493,
389 494, 495, 496, 497, 498, 499, 1000, 1001,
390 1002, 1003, 1004, 1005, 1006, 1007, 1008, 2018,
391 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026,
392 2027, 4056, 4057, 4058, 4059, 4060, 4061, 4062,
393 4063, 4064, 4065, 4066, 4067, 4068, 4069, 8140,
394 8141, 8142, 8143, 8144, 8145, 8146, 8147, 8148,
395 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156,
396 16314, 16315, 16316, 16317, 16318, 16319, 16320, 16321,
397 16322, 16323, 16324, 16325, 16326, 16327, 16328, 16329,
398 16330, 16331, 16332, 16333, 16334, 16335, 16336, 16337,
399 16338, 32678, 32679, 32680, 32681, 32682, 32683, 32684,
400 32685, 32686, 32687, 32688, 32689, 32690, 32691, 32692,
401 32693, 32694, 32695, 32696, 32697, 32698, 32699, 32700,
402 32701, 32702, 32703, 32704, 32705, 65412, 65413, 65414,
403 65415, 65416, 65417, 65418, 65419, 65420, 65421, 65422,
404 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430,
405 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438,
406 65439, 65440, 65441, 65442, 65443, 65444, 65445, 65446,
407 65447, 65448, 65449, 65450, 65451, 65452, 65453, 65454,
408 65455, 65456, 65457, 65458, 65459, 65460, 65461, 65462,
409 65463, 65464, 65465, 65466, 65467, 65468, 65469, 65470,
410 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478,
411 65479, 65480, 65481, 65482, 65483, 65484, 65485, 65486,
412 65487, 65488, 65489, 65490, 65491, 65492, 65493, 65494,
413 65495, 65496, 65497, 65498, 65499, 65500, 65501, 65502,
414 65503, 65504, 65505, 65506, 65507, 65508, 65509, 65510,
415 65511, 65512, 65513, 65514, 65515, 65516, 65517, 65518,
416 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526,
417 65527, 65528, 65529, 65530, 65531, 65532, 65533, 65534,
423 2, 2, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
424 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10,
425 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
426 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13,
427 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
428 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
429 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
430 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
431 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
432 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
433 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
434 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
435 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
436 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
437 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
438 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
444 3, 3, 5, 7, 0, 9, 11, 5, 13, 15, 17, 7, 19, 21, 23, 9,
445 25, 27, 29, 31, 33, 11, 35, 37, 39, 41, 43, 45, 13, 15, 47, 49,
446 51, 53, 55, 57, 59, 17, 19, 61, 63, 65, 67, 69, 71, 73, 75, 21,
447 23, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 25, 27, 29, 99,
448 101,103,105,107,109,111,113,115,117,119,121,123, 31, 33, 35, 37,
449 125,127,129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27,
450 29, 31, 33, 39, 41, 43, 45, 47, 49, 35, 37, 39, 41, 43, 45, 47,
451 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 81, 51,
452 53, 55, 57, 59, 61, 77, 79, 83, 85, 87, 89, 91, 93, 95, 97, 99,
453 101,103,105,107,109,111,113,115,117,119,121,123,125,127,129, 63,
454 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
455 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
456 129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
457 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
458 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
459 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
464 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2,
465 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0,
466 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2,
467 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0,
468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2,
469 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
470 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
472 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
474 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
475 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
476 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
477 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
478 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
479 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
485 0, 1, 4, 10, 11, 24, 25, 26,
486 54, 55, 56, 57, 116, 117, 118, 119,
487 240, 241, 242, 243, 244, 245, 492, 493,
488 494, 495, 496, 497, 498, 998, 999, 1000,
489 1001, 1002, 1003, 1004, 1005, 1006, 1007, 2016,
490 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
491 2025, 2026, 4054, 4055, 4056, 4057, 4058, 4059,
492 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4067,
493 4068, 4069, 8140, 8141, 8142, 8143, 8144, 8145,
494 8146, 8147, 8148, 8149, 8150, 8151, 8152, 8153,
495 8154, 8155, 8156, 8157, 16316, 16317, 16318, 16319,
496 16320, 16321, 16322, 16323, 16324, 16325, 16326, 16327,
497 16328, 16329, 16330, 16331, 16332, 16333, 16334, 16335,
498 16336, 16337, 32676, 32677, 32678, 32679, 32680, 32681,
499 32682, 32683, 32684, 32685, 32686, 32687, 32688, 32689,
500 32690, 32691, 32692, 32693, 32694, 32695, 32696, 32697,
501 32698, 32699, 32700, 32701, 32702, 32703, 32704, 32705,
502 32706, 32707, 32708, 65418, 65419, 65420, 65421, 65422,
503 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430,
504 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438,
505 65439, 65440, 65441, 65442, 65443, 65444, 65445, 65446,
506 65447, 65448, 65449, 65450, 65451, 65452, 65453, 65454,
507 65455, 65456, 65457, 65458, 65459, 65460, 65461, 65462,
508 65463, 65464, 65465, 65466, 65467, 65468, 65469, 65470,
509 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478,
510 65479, 65480, 65481, 65482, 65483, 65484, 65485, 65486,
511 65487, 65488, 65489, 65490, 65491, 65492, 65493, 65494,
512 65495, 65496, 65497, 65498, 65499, 65500, 65501, 65502,
513 65503, 65504, 65505, 65506, 65507, 65508, 65509, 65510,
514 65511, 65512, 65513, 65514, 65515, 65516, 65517, 65518,
515 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526,
516 65527, 65528, 65529, 65530, 65531, 65532, 65533, 65534,
522 2, 2, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
523 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10,
524 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
525 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
526 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
527 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
528 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15,
529 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
530 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16,
531 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
532 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
533 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
534 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
535 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
536 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
537 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
543 3, 3, 5, 7, 0, 9, 11, 5, 13, 15, 17, 7, 19, 21, 23, 9,
544 25, 27, 29, 31, 33, 11, 35, 37, 39, 41, 43, 13, 15, 45, 47, 49,
545 51, 53, 55, 57, 59, 17, 19, 61, 63, 65, 67, 69, 71, 73, 75, 77,
546 21, 23, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,101, 25, 27,
547 29, 31,103,105,107,109,111,113,115,117,119,121,123,125,127, 3,
548 33, 35, 37, 39,129, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25,
549 27, 29, 31, 33, 35, 41, 43, 45, 47, 49, 37, 39, 41, 43, 45, 47,
550 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
551 81, 83, 85, 51, 53, 55, 57, 59, 61, 63, 65, 87, 89, 91, 93, 95,
552 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
553 129, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
554 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
555 129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
556 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
557 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
558 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
564 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2,
565 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0,
566 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
567 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
568 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
569 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
572 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
574 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
577 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
578 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
579 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
584 0, 1, 4, 10, 11, 24, 25, 26,
585 54, 55, 56, 57, 116, 117, 118, 119,
586 240, 241, 242, 243, 244, 245, 492, 493,
587 494, 495, 496, 497, 498, 998, 999, 1000,
588 1001, 1002, 1003, 1004, 1005, 1006, 2014, 2015,
589 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
590 2024, 2025, 4052, 4053, 4054, 4055, 4056, 4057,
591 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065,
592 4066, 4067, 8136, 8137, 8138, 8139, 8140, 8141,
593 8142, 8143, 8144, 8145, 8146, 8147, 8148, 8149,
594 8150, 8151, 8152, 8153, 8154, 8155, 8156, 16314,
595 16315, 16316, 16317, 16318, 16319, 16320, 16321, 16322,
596 16323, 16324, 16325, 16326, 16327, 16328, 16329, 16330,
597 16331, 16332, 16333, 16334, 16335, 16336, 16337, 16338,
598 32678, 32679, 32680, 32681, 32682, 32683, 32684, 32685,
599 32686, 32687, 32688, 32689, 32690, 32691, 32692, 32693,
600 32694, 32695, 32696, 32697, 32698, 32699, 32700, 32701,
601 32702, 32703, 32704, 32705, 32706, 32707, 32708, 32709,
602 32710, 32711, 32712, 65426, 65427, 65428, 65429, 65430,
603 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438,
604 65439, 65440, 65441, 65442, 65443, 65444, 65445, 65446,
605 65447, 65448, 65449, 65450, 65451, 65452, 65453, 65454,
606 65455, 65456, 65457, 65458, 65459, 65460, 65461, 65462,
607 65463, 65464, 65465, 65466, 65467, 65468, 65469, 65470,
608 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478,
609 65479, 65480, 65481, 65482, 65483, 65484, 65485, 65486,
610 65487, 65488, 65489, 65490, 65491, 65492, 65493, 65494,
611 65495, 65496, 65497, 65498, 65499, 65500, 65501, 65502,
612 65503, 65504, 65505, 65506, 65507, 65508, 65509, 65510,
613 65511, 65512, 65513, 65514, 65515, 65516, 65517, 65518,
614 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526,
615 65527, 65528, 65529, 65530, 65531, 65532, 65533, 65534,
619 2, 2, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
620 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10,
621 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
622 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
623 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
624 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14,
625 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
626 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
627 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
628 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
629 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
630 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
631 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
632 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
633 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
634 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
638 3, 3, 5, 7, 0, 9, 11, 5, 13, 15, 17, 7, 19, 21, 23, 9,
639 25, 27, 29, 31, 33, 11, 35, 37, 39, 41, 43, 45, 13, 47, 49, 51,
640 53, 55, 57, 59, 15, 17, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
641 19, 21, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,101,103,105, 23,
642 25, 27,107,109,111,113,115,117,119,121,123,125,127,129, 3, 5,
643 7, 9, 11, 29, 31, 33, 35, 13, 15, 17, 19, 21, 23, 25, 27, 29,
644 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 37, 39, 41, 43,
645 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85,
646 87, 89, 91, 93, 95, 97, 99,101,103,105,107,111,113, 45, 47, 49,
647 51, 53, 55,109,115,117,119,121,123,125,127,129, 57, 59, 61, 63,
648 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
649 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
650 129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
651 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
652 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
653 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
657 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2,
658 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
659 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
661 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
662 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
666 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
669 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
670 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
671 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
672 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
677 0, 1, 4, 10, 11, 24, 25, 26,
678 54, 55, 56, 57, 116, 117, 118, 119,
679 240, 241, 242, 243, 244, 245, 492, 493,
680 494, 495, 496, 497, 996, 997, 998, 999,
681 1000, 1001, 1002, 1003, 1004, 1005, 2012, 2013,
682 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021,
683 2022, 2023, 2024, 2025, 4052, 4053, 4054, 4055,
684 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063,
685 4064, 4065, 4066, 8134, 8135, 8136, 8137, 8138,
686 8139, 8140, 8141, 8142, 8143, 8144, 8145, 8146,
687 8147, 8148, 8149, 8150, 8151, 8152, 8153, 8154,
688 8155, 8156, 16314, 16315, 16316, 16317, 16318, 16319,
689 16320, 16321, 16322, 16323, 16324, 16325, 16326, 16327,
690 16328, 16329, 16330, 16331, 16332, 16333, 16334, 16335,
691 16336, 16337, 16338, 16339, 32680, 32681, 32682, 32683,
692 32684, 32685, 32686, 32687, 32688, 32689, 32690, 32691,
693 32692, 32693, 32694, 32695, 32696, 32697, 32698, 32699,
694 32700, 32701, 32702, 32703, 32704, 32705, 32706, 32707,
695 32708, 32709, 32710, 32711, 32712, 32713, 32714, 65430,
696 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438,
697 65439, 65440, 65441, 65442, 65443, 65444, 65445, 65446,
698 65447, 65448, 65449, 65450, 65451, 65452, 65453, 65454,
699 65455, 65456, 65457, 65458, 65459, 65460, 65461, 65462,
700 65463, 65464, 65465, 65466, 65467, 65468, 65469, 65470,
701 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478,
702 65479, 65480, 65481, 65482, 65483, 65484, 65485, 65486,
703 65487, 65488, 65489, 65490, 65491, 65492, 65493, 65494,
704 65495, 65496, 65497, 65498, 65499, 65500, 65501, 65502,
705 65503, 65504, 65505, 65506, 65507, 65508, 65509, 65510,
706 65511, 65512, 65513, 65514, 65515, 65516, 65517, 65518,
707 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526,
708 65527, 65528, 65529, 65530, 65531, 65532, 65533, 65534,
713 2, 2, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
714 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10,
715 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
716 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
717 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
718 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14,
719 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
720 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
721 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
722 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16,
723 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
724 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
725 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
726 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
727 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
728 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
733 3, 3, 5, 7, 0, 9, 11, 5, 13, 15, 17, 7, 19, 21, 23, 9,
734 25, 27, 29, 31, 33, 11, 35, 37, 39, 41, 43, 13, 45, 47, 49, 51,
735 53, 55, 57, 59, 15, 17, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
736 81, 19, 21, 23, 83, 85, 87, 89, 91, 93, 95, 97, 99,101,103,105,
737 25, 27, 29,107,109,111,113,115,117,119,121,123,125,127,129, 3,
738 5, 7, 9, 11, 13, 15, 17, 31, 33, 35, 19, 21, 23, 25, 27, 29,
739 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 37,
740 39, 41, 43, 45, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83,
741 85, 87, 89, 91, 93, 95, 97, 99,101,103,105,107,109,111,113,115,
742 117, 47, 49, 51, 53, 55, 57,119,121,123,125,127,129, 59, 61, 63,
743 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
744 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
745 129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
746 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
747 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
748 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
753 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2,
754 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
755 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
756 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
757 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
758 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
760 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
761 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
762 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2,
763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
765 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
766 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
767 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
768 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
774 0, 1, 4, 10, 11, 12, 26, 27,
775 56, 57, 58, 118, 119, 120, 242, 243,
776 244, 245, 246, 247, 496, 497, 498, 499,
777 500, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
778 1009, 2020, 2021, 2022, 2023, 2024, 2025, 2026,
779 2027, 2028, 2029, 4060, 4061, 4062, 4063, 4064,
780 4065, 4066, 4067, 4068, 4069, 4070, 4071, 8144,
781 8145, 8146, 8147, 8148, 8149, 8150, 8151, 8152,
782 8153, 8154, 8155, 8156, 8157, 8158, 16318, 16319,
783 16320, 16321, 16322, 16323, 16324, 16325, 16326, 16327,
784 16328, 16329, 16330, 16331, 16332, 16333, 16334, 16335,
785 32672, 32673, 32674, 32675, 32676, 32677, 32678, 32679,
786 32680, 32681, 32682, 32683, 32684, 32685, 32686, 32687,
787 32688, 32689, 32690, 32691, 32692, 32693, 32694, 65390,
788 65391, 65392, 65393, 65394, 65395, 65396, 65397, 65398,
789 65399, 65400, 65401, 65402, 65403, 65404, 65405, 65406,
790 65407, 65408, 65409, 65410, 65411, 65412, 65413, 65414,
791 65415, 65416, 65417, 65418, 65419, 65420, 65421, 65422,
792 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430,
793 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438,
794 65439, 65440, 65441, 65442, 65443, 65444, 65445, 65446,
795 65447, 65448, 65449, 65450, 65451, 65452, 65453, 65454,
796 65455, 65456, 65457, 65458, 65459, 65460, 65461, 65462,
797 65463, 65464, 65465, 65466, 65467, 65468, 65469, 65470,
798 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478,
799 65479, 65480, 65481, 65482, 65483, 65484, 65485, 65486,
800 65487, 65488, 65489, 65490, 65491, 65492, 65493, 65494,
801 65495, 65496, 65497, 65498, 65499, 65500, 65501, 65502,
802 65503, 65504, 65505, 65506, 65507, 65508, 65509, 65510,
803 65511, 65512, 65513, 65514, 65515, 65516, 65517, 65518,
804 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526,
805 65527, 65528, 65529, 65530, 65531, 65532, 65533, 65534,
811 2, 2, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8,
812 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10,
813 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12,
814 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
815 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
816 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
817 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16,
818 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
819 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
820 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
821 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
822 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
823 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
824 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
825 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
826 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
832 3, 3, 5, 7, 5, 0, 9, 11, 13, 15, 7, 17, 19, 21, 23, 25,
833 27, 29, 9, 11, 31, 33, 35, 37, 13, 39, 41, 43, 45, 47, 49, 15,
834 17, 51, 53, 55, 57, 59, 61, 63, 65, 19, 21, 67, 69, 71, 73, 75,
835 77, 79, 81, 83, 23, 25, 27, 85, 87, 89, 91, 93, 95, 97, 99,101,
836 103,105,107, 29, 31, 33,109,111,113,115,117,119,121,123,125,127,
837 129, 3, 5, 7, 35, 37, 39, 41, 9, 11, 13, 15, 17, 19, 21, 23,
838 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 43, 45, 47, 49, 51, 45,
839 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
840 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,101,103,105,107,109,
841 111,113,115,117,119,121,123,125,127,129, 53, 55, 57, 59, 61, 63,
842 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
843 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
844 129, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
845 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
846 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,
847 97, 99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,
852 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
853 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2,
854 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
857 0, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
858 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1,
859 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
860 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
861 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
862 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
863 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
864 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
865 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
866 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
867 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
873 0, 4, 10, 11, 24, 25, 26, 27,
874 56, 57, 58, 59, 120, 242, 486, 487,
875 488, 489, 980, 981, 982, 983, 984, 985,
876 986, 987, 988, 989, 990, 991, 992, 993,
877 994, 995, 996, 997, 998, 999, 1000, 1001,
878 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
879 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
880 1018, 1019, 1020, 1021, 1022, 1023,
885 1, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 8, 9, 9,
886 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
887 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
888 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
893 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
894 18, 20, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
895 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
896 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
901 0, 4, 10, 11, 24, 25, 26, 54,
902 55, 56, 57, 58, 118, 119, 240, 482,
903 483, 484, 485, 486, 487, 488, 489, 490,
904 491, 492, 493, 494, 990, 991, 992, 993,
905 994, 995, 996, 997, 998, 999, 1000, 1001,
906 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
907 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
908 1018, 1019, 1020, 1021, 1022, 1023,
913 1, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 8, 9,
914 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10,
915 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
916 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
921 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
922 17, 18, 19, 20, 21, 53, 57, 58, 59, 60, 61, 62, 22, 23, 24, 25,
923 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
924 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56,
928 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
929 20, 21, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
930 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
931 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
936 0, 4, 5, 12, 26, 27, 28, 58,
937 118, 119, 120, 242, 486, 487, 976, 977,
938 978, 979, 980, 981, 982, 983, 984, 985,
939 986, 987, 988, 989, 990, 991, 992, 993,
940 994, 995, 996, 997, 998, 999, 1000, 1001,
941 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
942 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
943 1018, 1019, 1020, 1021, 1022, 1023,
948 1, 3, 3, 4, 5, 5, 5, 6, 7, 7, 7, 8, 9, 9, 10, 10,
949 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
950 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
951 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
956 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
957 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
958 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
959 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
963 { 1235, 1920, 1080, 0, 917504, 917504, 6, 10, 4,
969 { 175, 185, 365, 440 },
970 { { 24000, 1001 }, { 25, 1 }, { 50, 1 }, { 60000, 1001 } } },
971 { 1237, 1920, 1080, 0, 606208, 606208, 4, 8, 3,
977 { 115, 120, 145, 240, 290 },
978 { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
979 { 1238, 1920, 1080, 0, 917504, 917504, 4, 8, 4,
985 { 175, 185, 220, 365, 440 },
986 { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
987 { 1241, 1920, 1080, 1, 917504, 458752, 6, 10, 4,
994 { { 25, 1 }, { 30000, 1001 } } },
995 { 1242, 1920, 1080, 1, 606208, 303104, 4, 8, 3,
1002 { { 25, 1 }, { 30000, 1001 } } },
1003 { 1243, 1920, 1080, 1, 917504, 458752, 4, 8, 4,
1010 { { 25, 1 }, { 30000, 1001 } } },
1011 { 1250, 1280, 720, 0, 458752, 458752, 6, 10, 4,
1017 { 90, 90, 180, 220 },
1018 { { 24000, 1001 }, { 25, 1 }, { 50, 1 }, { 60000, 1001 } } },
1019 { 1251, 1280, 720, 0, 458752, 458752, 4, 8, 4,
1025 { 90, 90, 110, 180, 220 },
1026 { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
1027 { 1252, 1280, 720, 0, 303104, 303104, 4, 8, 5,
1033 { 60, 60, 75, 120, 145 },
1034 { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
1035 { 1253, 1920, 1080, 0, 188416, 188416, 4, 8, 3,
1041 { 36, 36, 45, 75, 90 },
1042 { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
1043 { 1256, 1920, 1080, 0, 1835008, 1835008, 6, 10, 4,
1049 { 350, 390, 440, 730, 880 },
1050 { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
1051 { 1258, 960, 720, 0, 212992, 212992, 4, 8, 5,
1057 { 42, 60, 75, 115 } },
1058 { 1259, 1440, 1080, 0, 417792, 417792, 4, 8, 3,
1064 { 63, 84, 100, 110 } },
1065 { 1260, 1440, 1080, 1, 835584, 417792, 4, 8, 3,
1071 { 80, 90, 100, 110 } },
1078 if (ff_dnxhd_cid_table[i].cid == cid)
1102 int mbs = avctx->
bit_rate / 1000000;
1106 const CIDEntry *cid = &ff_dnxhd_cid_table[i];
1123 const CIDEntry *cid = &ff_dnxhd_cid_table[i];
1128 av_log(avctx, loglevel,
"Frame size: %dx%d%c; bitrate: %dMbps; pixel format: %s; framerate: %d/%d\n",
static const uint8_t dnxhd_1237_ac_flags[257]
static const uint8_t dnxhd_1252_ac_flags[257]
static const uint8_t dnxhd_1237_run_bits[62]
AVRational frame_rates[5]
static const uint8_t dnxhd_1238_chroma_weight[]
static const uint8_t dnxhd_1251_ac_flags[257]
#define AV_CODEC_FLAG_INTERLACED_DCT
Use interlaced DCT.
static const uint8_t dnxhd_1242_luma_weight[]
static const uint8_t dnxhd_1250_luma_weight[]
static const uint8_t dnxhd_1250_run_bits[62]
const CIDEntry ff_dnxhd_cid_table[]
static const uint8_t dnxhd_1237_ac_level[257]
static const uint8_t dnxhd_1250_ac_level[257]
static const uint8_t dnxhd_1251_ac_level[257]
int avpriv_dnxhd_get_interlaced(int cid)
static const uint8_t dnxhd_1242_chroma_weight[]
static const uint16_t dnxhd_1238_ac_codes[257]
static const uint8_t dnxhd_1237_run[62]
static const uint8_t dnxhd_1251_ac_bits[257]
static const uint8_t dnxhd_1243_chroma_weight[]
int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth)
int avpriv_dnxhd_get_frame_size(int cid)
static const uint8_t dnxhd_1252_ac_bits[257]
static const uint8_t dnxhd_1251_chroma_weight[]
static const uint16_t dnxhd_1251_ac_codes[257]
static const uint16_t dnxhd_1250_run_codes[62]
static const uint8_t dnxhd_1238_ac_level[257]
int ff_dnxhd_get_cid_table(int cid)
static const uint8_t dnxhd_1238_ac_bits[257]
static const uint8_t dnxhd_1252_ac_level[257]
static const uint8_t dnxhd_1235_ac_flags[257]
static const uint16_t dnxhd_1237_run_codes[62]
int flags
AV_CODEC_FLAG_*.
static const uint8_t dnxhd_1241_chroma_weight[]
static const uint16_t dnxhd_1250_ac_codes[257]
Libavcodec external API header.
static const uint8_t dnxhd_1237_dc_codes[12]
static const uint8_t dnxhd_1237_luma_weight[]
static const uint8_t dnxhd_1237_dc_bits[12]
int bit_rate
the average bitrate
static const uint16_t dnxhd_1237_ac_codes[257]
int width
picture width / height.
static const uint16_t dnxhd_1252_ac_codes[257]
static const uint8_t dnxhd_1238_luma_weight[]
static const uint8_t dnxhd_1250_ac_flags[257]
static const uint8_t dnxhd_1235_ac_level[257]
static const uint8_t dnxhd_1243_luma_weight[]
void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel)
static const uint8_t dnxhd_1250_chroma_weight[]
#define FF_ARRAY_ELEMS(a)
static const uint8_t dnxhd_1250_run[62]
static const uint8_t dnxhd_1235_run[62]
static const uint8_t dnxhd_1260_luma_weight[]
main external API structure.
static const uint8_t dnxhd_1252_luma_weight[]
static const uint8_t dnxhd_1238_ac_flags[257]
static const uint16_t dnxhd_1235_ac_codes[257]
static const uint8_t dnxhd_1260_chroma_weight[]
static const uint8_t dnxhd_1235_dc_codes[14]
static const uint8_t dnxhd_1235_ac_bits[257]
common internal and external API header
static const uint8_t dnxhd_1235_dc_bits[14]
static unsigned bit_depth(uint64_t mask)
static const uint8_t dnxhd_1237_ac_bits[257]
static const uint8_t dnxhd_1251_luma_weight[]
static const uint8_t dnxhd_1250_ac_bits[257]
int bit_rates[5]
Helper to choose variants, rounded to nearest 5Mb/s.
static const uint8_t dnxhd_1256_chroma_weight[]
static const uint8_t dnxhd_1241_luma_weight[]
static const uint8_t dnxhd_1237_chroma_weight[]
static const uint8_t dnxhd_1235_chroma_weight[]
static const uint8_t dnxhd_1238_run[62]
static const uint8_t dnxhd_1235_run_bits[62]
static const uint8_t dnxhd_1252_chroma_weight[]
static const uint16_t dnxhd_1235_run_codes[62]
static const uint8_t dnxhd_1235_luma_weight[]