1Testing with TEST_LENGTH = 67
2
3test _bit_byte, _bit_mask, and bitstr_size
4  i   _bit_byte(i)   _bit_mask(i) bitstr_size(i)
5  0              0              1              0
6  1              0              2              1
7  2              0              4              1
8  3              0              8              1
9  4              0             16              1
10  5              0             32              1
11  6              0             64              1
12  7              0            128              1
13  8              1              1              1
14  9              1              2              2
15 10              1              4              2
16 11              1              8              2
17 12              1             16              2
18 13              1             32              2
19 14              1             64              2
20 15              1            128              2
21 16              2              1              2
22 17              2              2              3
23 18              2              4              3
24 19              2              8              3
25 20              2             16              3
26 21              2             32              3
27 22              2             64              3
28 23              2            128              3
29 24              3              1              3
30 25              3              2              4
31 26              3              4              4
32 27              3              8              4
33 28              3             16              4
34 29              3             32              4
35 30              3             64              4
36 31              3            128              4
37 32              4              1              4
38 33              4              2              5
39 34              4              4              5
40 35              4              8              5
41 36              4             16              5
42 37              4             32              5
43 38              4             64              5
44 39              4            128              5
45 40              5              1              5
46 41              5              2              6
47 42              5              4              6
48 43              5              8              6
49 44              5             16              6
50 45              5             32              6
51 46              5             64              6
52 47              5            128              6
53 48              6              1              6
54 49              6              2              7
55 50              6              4              7
56 51              6              8              7
57 52              6             16              7
58 53              6             32              7
59 54              6             64              7
60 55              6            128              7
61 56              7              1              7
62 57              7              2              8
63 58              7              4              8
64 59              7              8              8
65 60              7             16              8
66 61              7             32              8
67 62              7             64              8
68 63              7            128              8
69 64              8              1              8
70 65              8              2              9
71 66              8              4              9
72
73test bit_alloc, clearbits, bit_ffc, bit_ffs
74be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
75is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
76
77test bit_set
78be:   1   0 1001001001001001001001001001001001001001001001001001001001001001001
79is:   1   0 1001001001001001001001001001001001001001001001001001001001001001001
80
81test bit_clear
82be:   0   3 0001000001000001000001000001000001000001000001000001000001000001000
83is:   0   3 0001000001000001000001000001000001000001000001000001000001000001000
84
85test bit_test using previous bitstring
86  i    bit_test(i)
87  0              0
88  1              0
89  2              0
90  3              8
91  4              0
92  5              0
93  6              0
94  7              0
95  8              0
96  9              2
97 10              0
98 11              0
99 12              0
100 13              0
101 14              0
102 15            128
103 16              0
104 17              0
105 18              0
106 19              0
107 20              0
108 21             32
109 22              0
110 23              0
111 24              0
112 25              0
113 26              0
114 27              8
115 28              0
116 29              0
117 30              0
118 31              0
119 32              0
120 33              2
121 34              0
122 35              0
123 36              0
124 37              0
125 38              0
126 39            128
127 40              0
128 41              0
129 42              0
130 43              0
131 44              0
132 45             32
133 46              0
134 47              0
135 48              0
136 49              0
137 50              0
138 51              8
139 52              0
140 53              0
141 54              0
142 55              0
143 56              0
144 57              2
145 58              0
146 59              0
147 60              0
148 61              0
149 62              0
150 63            128
151 64              0
152 65              0
153 66              0
154
155test clearbits
156be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
157is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
158
159test bit_nset and bit_nclear
160be:   0   1 0111111111111111111111111111111111111111111111111111111111111111110
161is:   0   1 0111111111111111111111111111111111111111111111111111111111111111110
162be:   0   1 0100000000000000000000000000000000000000000000000000000000000000010
163is:   0   1 0100000000000000000000000000000000000000000000000000000000000000010
164be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
165is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
166be:  66   0 1111111111111111111111111111111111111111111111111111111111111111110
167is:  66   0 1111111111111111111111111111111111111111111111111111111111111111110
168be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
169is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
170
171first 1 bit should move right 1 position each line
172  0  -1   0 1111111111111111111111111111111111111111111111111111111111111111111
173  1   0   1 0111111111111111111111111111111111111111111111111111111111111111111
174  2   0   2 0011111111111111111111111111111111111111111111111111111111111111111
175  3   0   3 0001111111111111111111111111111111111111111111111111111111111111111
176  4   0   4 0000111111111111111111111111111111111111111111111111111111111111111
177  5   0   5 0000011111111111111111111111111111111111111111111111111111111111111
178  6   0   6 0000001111111111111111111111111111111111111111111111111111111111111
179  7   0   7 0000000111111111111111111111111111111111111111111111111111111111111
180  8   0   8 0000000011111111111111111111111111111111111111111111111111111111111
181  9   0   9 0000000001111111111111111111111111111111111111111111111111111111111
182 10   0  10 0000000000111111111111111111111111111111111111111111111111111111111
183 11   0  11 0000000000011111111111111111111111111111111111111111111111111111111
184 12   0  12 0000000000001111111111111111111111111111111111111111111111111111111
185 13   0  13 0000000000000111111111111111111111111111111111111111111111111111111
186 14   0  14 0000000000000011111111111111111111111111111111111111111111111111111
187 15   0  15 0000000000000001111111111111111111111111111111111111111111111111111
188 16   0  16 0000000000000000111111111111111111111111111111111111111111111111111
189 17   0  17 0000000000000000011111111111111111111111111111111111111111111111111
190 18   0  18 0000000000000000001111111111111111111111111111111111111111111111111
191 19   0  19 0000000000000000000111111111111111111111111111111111111111111111111
192 20   0  20 0000000000000000000011111111111111111111111111111111111111111111111
193 21   0  21 0000000000000000000001111111111111111111111111111111111111111111111
194 22   0  22 0000000000000000000000111111111111111111111111111111111111111111111
195 23   0  23 0000000000000000000000011111111111111111111111111111111111111111111
196 24   0  24 0000000000000000000000001111111111111111111111111111111111111111111
197 25   0  25 0000000000000000000000000111111111111111111111111111111111111111111
198 26   0  26 0000000000000000000000000011111111111111111111111111111111111111111
199 27   0  27 0000000000000000000000000001111111111111111111111111111111111111111
200 28   0  28 0000000000000000000000000000111111111111111111111111111111111111111
201 29   0  29 0000000000000000000000000000011111111111111111111111111111111111111
202 30   0  30 0000000000000000000000000000001111111111111111111111111111111111111
203 31   0  31 0000000000000000000000000000000111111111111111111111111111111111111
204 32   0  32 0000000000000000000000000000000011111111111111111111111111111111111
205 33   0  33 0000000000000000000000000000000001111111111111111111111111111111111
206 34   0  34 0000000000000000000000000000000000111111111111111111111111111111111
207 35   0  35 0000000000000000000000000000000000011111111111111111111111111111111
208 36   0  36 0000000000000000000000000000000000001111111111111111111111111111111
209 37   0  37 0000000000000000000000000000000000000111111111111111111111111111111
210 38   0  38 0000000000000000000000000000000000000011111111111111111111111111111
211 39   0  39 0000000000000000000000000000000000000001111111111111111111111111111
212 40   0  40 0000000000000000000000000000000000000000111111111111111111111111111
213 41   0  41 0000000000000000000000000000000000000000011111111111111111111111111
214 42   0  42 0000000000000000000000000000000000000000001111111111111111111111111
215 43   0  43 0000000000000000000000000000000000000000000111111111111111111111111
216 44   0  44 0000000000000000000000000000000000000000000011111111111111111111111
217 45   0  45 0000000000000000000000000000000000000000000001111111111111111111111
218 46   0  46 0000000000000000000000000000000000000000000000111111111111111111111
219 47   0  47 0000000000000000000000000000000000000000000000011111111111111111111
220 48   0  48 0000000000000000000000000000000000000000000000001111111111111111111
221 49   0  49 0000000000000000000000000000000000000000000000000111111111111111111
222 50   0  50 0000000000000000000000000000000000000000000000000011111111111111111
223 51   0  51 0000000000000000000000000000000000000000000000000001111111111111111
224 52   0  52 0000000000000000000000000000000000000000000000000000111111111111111
225 53   0  53 0000000000000000000000000000000000000000000000000000011111111111111
226 54   0  54 0000000000000000000000000000000000000000000000000000001111111111111
227 55   0  55 0000000000000000000000000000000000000000000000000000000111111111111
228 56   0  56 0000000000000000000000000000000000000000000000000000000011111111111
229 57   0  57 0000000000000000000000000000000000000000000000000000000001111111111
230 58   0  58 0000000000000000000000000000000000000000000000000000000000111111111
231 59   0  59 0000000000000000000000000000000000000000000000000000000000011111111
232 60   0  60 0000000000000000000000000000000000000000000000000000000000001111111
233 61   0  61 0000000000000000000000000000000000000000000000000000000000000111111
234 62   0  62 0000000000000000000000000000000000000000000000000000000000000011111
235 63   0  63 0000000000000000000000000000000000000000000000000000000000000001111
236 64   0  64 0000000000000000000000000000000000000000000000000000000000000000111
237 65   0  65 0000000000000000000000000000000000000000000000000000000000000000011
238 66   0  66 0000000000000000000000000000000000000000000000000000000000000000001
239
240first 0 bit should move right 1 position each line
241  0   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
242  1   1   0 1000000000000000000000000000000000000000000000000000000000000000000
243  2   2   0 1100000000000000000000000000000000000000000000000000000000000000000
244  3   3   0 1110000000000000000000000000000000000000000000000000000000000000000
245  4   4   0 1111000000000000000000000000000000000000000000000000000000000000000
246  5   5   0 1111100000000000000000000000000000000000000000000000000000000000000
247  6   6   0 1111110000000000000000000000000000000000000000000000000000000000000
248  7   7   0 1111111000000000000000000000000000000000000000000000000000000000000
249  8   8   0 1111111100000000000000000000000000000000000000000000000000000000000
250  9   9   0 1111111110000000000000000000000000000000000000000000000000000000000
251 10  10   0 1111111111000000000000000000000000000000000000000000000000000000000
252 11  11   0 1111111111100000000000000000000000000000000000000000000000000000000
253 12  12   0 1111111111110000000000000000000000000000000000000000000000000000000
254 13  13   0 1111111111111000000000000000000000000000000000000000000000000000000
255 14  14   0 1111111111111100000000000000000000000000000000000000000000000000000
256 15  15   0 1111111111111110000000000000000000000000000000000000000000000000000
257 16  16   0 1111111111111111000000000000000000000000000000000000000000000000000
258 17  17   0 1111111111111111100000000000000000000000000000000000000000000000000
259 18  18   0 1111111111111111110000000000000000000000000000000000000000000000000
260 19  19   0 1111111111111111111000000000000000000000000000000000000000000000000
261 20  20   0 1111111111111111111100000000000000000000000000000000000000000000000
262 21  21   0 1111111111111111111110000000000000000000000000000000000000000000000
263 22  22   0 1111111111111111111111000000000000000000000000000000000000000000000
264 23  23   0 1111111111111111111111100000000000000000000000000000000000000000000
265 24  24   0 1111111111111111111111110000000000000000000000000000000000000000000
266 25  25   0 1111111111111111111111111000000000000000000000000000000000000000000
267 26  26   0 1111111111111111111111111100000000000000000000000000000000000000000
268 27  27   0 1111111111111111111111111110000000000000000000000000000000000000000
269 28  28   0 1111111111111111111111111111000000000000000000000000000000000000000
270 29  29   0 1111111111111111111111111111100000000000000000000000000000000000000
271 30  30   0 1111111111111111111111111111110000000000000000000000000000000000000
272 31  31   0 1111111111111111111111111111111000000000000000000000000000000000000
273 32  32   0 1111111111111111111111111111111100000000000000000000000000000000000
274 33  33   0 1111111111111111111111111111111110000000000000000000000000000000000
275 34  34   0 1111111111111111111111111111111111000000000000000000000000000000000
276 35  35   0 1111111111111111111111111111111111100000000000000000000000000000000
277 36  36   0 1111111111111111111111111111111111110000000000000000000000000000000
278 37  37   0 1111111111111111111111111111111111111000000000000000000000000000000
279 38  38   0 1111111111111111111111111111111111111100000000000000000000000000000
280 39  39   0 1111111111111111111111111111111111111110000000000000000000000000000
281 40  40   0 1111111111111111111111111111111111111111000000000000000000000000000
282 41  41   0 1111111111111111111111111111111111111111100000000000000000000000000
283 42  42   0 1111111111111111111111111111111111111111110000000000000000000000000
284 43  43   0 1111111111111111111111111111111111111111111000000000000000000000000
285 44  44   0 1111111111111111111111111111111111111111111100000000000000000000000
286 45  45   0 1111111111111111111111111111111111111111111110000000000000000000000
287 46  46   0 1111111111111111111111111111111111111111111111000000000000000000000
288 47  47   0 1111111111111111111111111111111111111111111111100000000000000000000
289 48  48   0 1111111111111111111111111111111111111111111111110000000000000000000
290 49  49   0 1111111111111111111111111111111111111111111111111000000000000000000
291 50  50   0 1111111111111111111111111111111111111111111111111100000000000000000
292 51  51   0 1111111111111111111111111111111111111111111111111110000000000000000
293 52  52   0 1111111111111111111111111111111111111111111111111111000000000000000
294 53  53   0 1111111111111111111111111111111111111111111111111111100000000000000
295 54  54   0 1111111111111111111111111111111111111111111111111111110000000000000
296 55  55   0 1111111111111111111111111111111111111111111111111111111000000000000
297 56  56   0 1111111111111111111111111111111111111111111111111111111100000000000
298 57  57   0 1111111111111111111111111111111111111111111111111111111110000000000
299 58  58   0 1111111111111111111111111111111111111111111111111111111111000000000
300 59  59   0 1111111111111111111111111111111111111111111111111111111111100000000
301 60  60   0 1111111111111111111111111111111111111111111111111111111111110000000
302 61  61   0 1111111111111111111111111111111111111111111111111111111111111000000
303 62  62   0 1111111111111111111111111111111111111111111111111111111111111100000
304 63  63   0 1111111111111111111111111111111111111111111111111111111111111110000
305 64  64   0 1111111111111111111111111111111111111111111111111111111111111111000
306 65  65   0 1111111111111111111111111111111111111111111111111111111111111111100
307 66  66   0 1111111111111111111111111111111111111111111111111111111111111111110
308
309first 0 bit should move left 1 position each line
310  0  -1   0 1111111111111111111111111111111111111111111111111111111111111111111
311  1  66   0 1111111111111111111111111111111111111111111111111111111111111111110
312  2  65   0 1111111111111111111111111111111111111111111111111111111111111111100
313  3  64   0 1111111111111111111111111111111111111111111111111111111111111111000
314  4  63   0 1111111111111111111111111111111111111111111111111111111111111110000
315  5  62   0 1111111111111111111111111111111111111111111111111111111111111100000
316  6  61   0 1111111111111111111111111111111111111111111111111111111111111000000
317  7  60   0 1111111111111111111111111111111111111111111111111111111111110000000
318  8  59   0 1111111111111111111111111111111111111111111111111111111111100000000
319  9  58   0 1111111111111111111111111111111111111111111111111111111111000000000
320 10  57   0 1111111111111111111111111111111111111111111111111111111110000000000
321 11  56   0 1111111111111111111111111111111111111111111111111111111100000000000
322 12  55   0 1111111111111111111111111111111111111111111111111111111000000000000
323 13  54   0 1111111111111111111111111111111111111111111111111111110000000000000
324 14  53   0 1111111111111111111111111111111111111111111111111111100000000000000
325 15  52   0 1111111111111111111111111111111111111111111111111111000000000000000
326 16  51   0 1111111111111111111111111111111111111111111111111110000000000000000
327 17  50   0 1111111111111111111111111111111111111111111111111100000000000000000
328 18  49   0 1111111111111111111111111111111111111111111111111000000000000000000
329 19  48   0 1111111111111111111111111111111111111111111111110000000000000000000
330 20  47   0 1111111111111111111111111111111111111111111111100000000000000000000
331 21  46   0 1111111111111111111111111111111111111111111111000000000000000000000
332 22  45   0 1111111111111111111111111111111111111111111110000000000000000000000
333 23  44   0 1111111111111111111111111111111111111111111100000000000000000000000
334 24  43   0 1111111111111111111111111111111111111111111000000000000000000000000
335 25  42   0 1111111111111111111111111111111111111111110000000000000000000000000
336 26  41   0 1111111111111111111111111111111111111111100000000000000000000000000
337 27  40   0 1111111111111111111111111111111111111111000000000000000000000000000
338 28  39   0 1111111111111111111111111111111111111110000000000000000000000000000
339 29  38   0 1111111111111111111111111111111111111100000000000000000000000000000
340 30  37   0 1111111111111111111111111111111111111000000000000000000000000000000
341 31  36   0 1111111111111111111111111111111111110000000000000000000000000000000
342 32  35   0 1111111111111111111111111111111111100000000000000000000000000000000
343 33  34   0 1111111111111111111111111111111111000000000000000000000000000000000
344 34  33   0 1111111111111111111111111111111110000000000000000000000000000000000
345 35  32   0 1111111111111111111111111111111100000000000000000000000000000000000
346 36  31   0 1111111111111111111111111111111000000000000000000000000000000000000
347 37  30   0 1111111111111111111111111111110000000000000000000000000000000000000
348 38  29   0 1111111111111111111111111111100000000000000000000000000000000000000
349 39  28   0 1111111111111111111111111111000000000000000000000000000000000000000
350 40  27   0 1111111111111111111111111110000000000000000000000000000000000000000
351 41  26   0 1111111111111111111111111100000000000000000000000000000000000000000
352 42  25   0 1111111111111111111111111000000000000000000000000000000000000000000
353 43  24   0 1111111111111111111111110000000000000000000000000000000000000000000
354 44  23   0 1111111111111111111111100000000000000000000000000000000000000000000
355 45  22   0 1111111111111111111111000000000000000000000000000000000000000000000
356 46  21   0 1111111111111111111110000000000000000000000000000000000000000000000
357 47  20   0 1111111111111111111100000000000000000000000000000000000000000000000
358 48  19   0 1111111111111111111000000000000000000000000000000000000000000000000
359 49  18   0 1111111111111111110000000000000000000000000000000000000000000000000
360 50  17   0 1111111111111111100000000000000000000000000000000000000000000000000
361 51  16   0 1111111111111111000000000000000000000000000000000000000000000000000
362 52  15   0 1111111111111110000000000000000000000000000000000000000000000000000
363 53  14   0 1111111111111100000000000000000000000000000000000000000000000000000
364 54  13   0 1111111111111000000000000000000000000000000000000000000000000000000
365 55  12   0 1111111111110000000000000000000000000000000000000000000000000000000
366 56  11   0 1111111111100000000000000000000000000000000000000000000000000000000
367 57  10   0 1111111111000000000000000000000000000000000000000000000000000000000
368 58   9   0 1111111110000000000000000000000000000000000000000000000000000000000
369 59   8   0 1111111100000000000000000000000000000000000000000000000000000000000
370 60   7   0 1111111000000000000000000000000000000000000000000000000000000000000
371 61   6   0 1111110000000000000000000000000000000000000000000000000000000000000
372 62   5   0 1111100000000000000000000000000000000000000000000000000000000000000
373 63   4   0 1111000000000000000000000000000000000000000000000000000000000000000
374 64   3   0 1110000000000000000000000000000000000000000000000000000000000000000
375 65   2   0 1100000000000000000000000000000000000000000000000000000000000000000
376 66   1   0 1000000000000000000000000000000000000000000000000000000000000000000
377
378first 1 bit should move left 1 position each line
379  0   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
380  1   0  66 0000000000000000000000000000000000000000000000000000000000000000001
381  2   0  65 0000000000000000000000000000000000000000000000000000000000000000011
382  3   0  64 0000000000000000000000000000000000000000000000000000000000000000111
383  4   0  63 0000000000000000000000000000000000000000000000000000000000000001111
384  5   0  62 0000000000000000000000000000000000000000000000000000000000000011111
385  6   0  61 0000000000000000000000000000000000000000000000000000000000000111111
386  7   0  60 0000000000000000000000000000000000000000000000000000000000001111111
387  8   0  59 0000000000000000000000000000000000000000000000000000000000011111111
388  9   0  58 0000000000000000000000000000000000000000000000000000000000111111111
389 10   0  57 0000000000000000000000000000000000000000000000000000000001111111111
390 11   0  56 0000000000000000000000000000000000000000000000000000000011111111111
391 12   0  55 0000000000000000000000000000000000000000000000000000000111111111111
392 13   0  54 0000000000000000000000000000000000000000000000000000001111111111111
393 14   0  53 0000000000000000000000000000000000000000000000000000011111111111111
394 15   0  52 0000000000000000000000000000000000000000000000000000111111111111111
395 16   0  51 0000000000000000000000000000000000000000000000000001111111111111111
396 17   0  50 0000000000000000000000000000000000000000000000000011111111111111111
397 18   0  49 0000000000000000000000000000000000000000000000000111111111111111111
398 19   0  48 0000000000000000000000000000000000000000000000001111111111111111111
399 20   0  47 0000000000000000000000000000000000000000000000011111111111111111111
400 21   0  46 0000000000000000000000000000000000000000000000111111111111111111111
401 22   0  45 0000000000000000000000000000000000000000000001111111111111111111111
402 23   0  44 0000000000000000000000000000000000000000000011111111111111111111111
403 24   0  43 0000000000000000000000000000000000000000000111111111111111111111111
404 25   0  42 0000000000000000000000000000000000000000001111111111111111111111111
405 26   0  41 0000000000000000000000000000000000000000011111111111111111111111111
406 27   0  40 0000000000000000000000000000000000000000111111111111111111111111111
407 28   0  39 0000000000000000000000000000000000000001111111111111111111111111111
408 29   0  38 0000000000000000000000000000000000000011111111111111111111111111111
409 30   0  37 0000000000000000000000000000000000000111111111111111111111111111111
410 31   0  36 0000000000000000000000000000000000001111111111111111111111111111111
411 32   0  35 0000000000000000000000000000000000011111111111111111111111111111111
412 33   0  34 0000000000000000000000000000000000111111111111111111111111111111111
413 34   0  33 0000000000000000000000000000000001111111111111111111111111111111111
414 35   0  32 0000000000000000000000000000000011111111111111111111111111111111111
415 36   0  31 0000000000000000000000000000000111111111111111111111111111111111111
416 37   0  30 0000000000000000000000000000001111111111111111111111111111111111111
417 38   0  29 0000000000000000000000000000011111111111111111111111111111111111111
418 39   0  28 0000000000000000000000000000111111111111111111111111111111111111111
419 40   0  27 0000000000000000000000000001111111111111111111111111111111111111111
420 41   0  26 0000000000000000000000000011111111111111111111111111111111111111111
421 42   0  25 0000000000000000000000000111111111111111111111111111111111111111111
422 43   0  24 0000000000000000000000001111111111111111111111111111111111111111111
423 44   0  23 0000000000000000000000011111111111111111111111111111111111111111111
424 45   0  22 0000000000000000000000111111111111111111111111111111111111111111111
425 46   0  21 0000000000000000000001111111111111111111111111111111111111111111111
426 47   0  20 0000000000000000000011111111111111111111111111111111111111111111111
427 48   0  19 0000000000000000000111111111111111111111111111111111111111111111111
428 49   0  18 0000000000000000001111111111111111111111111111111111111111111111111
429 50   0  17 0000000000000000011111111111111111111111111111111111111111111111111
430 51   0  16 0000000000000000111111111111111111111111111111111111111111111111111
431 52   0  15 0000000000000001111111111111111111111111111111111111111111111111111
432 53   0  14 0000000000000011111111111111111111111111111111111111111111111111111
433 54   0  13 0000000000000111111111111111111111111111111111111111111111111111111
434 55   0  12 0000000000001111111111111111111111111111111111111111111111111111111
435 56   0  11 0000000000011111111111111111111111111111111111111111111111111111111
436 57   0  10 0000000000111111111111111111111111111111111111111111111111111111111
437 58   0   9 0000000001111111111111111111111111111111111111111111111111111111111
438 59   0   8 0000000011111111111111111111111111111111111111111111111111111111111
439 60   0   7 0000000111111111111111111111111111111111111111111111111111111111111
440 61   0   6 0000001111111111111111111111111111111111111111111111111111111111111
441 62   0   5 0000011111111111111111111111111111111111111111111111111111111111111
442 63   0   4 0000111111111111111111111111111111111111111111111111111111111111111
443 64   0   3 0001111111111111111111111111111111111111111111111111111111111111111
444 65   0   2 0011111111111111111111111111111111111111111111111111111111111111111
445 66   0   1 0111111111111111111111111111111111111111111111111111111111111111111
446
4470 bit should move right 1 position each line
448  0   0   1 0111111111111111111111111111111111111111111111111111111111111111111
449  1   1   0 1011111111111111111111111111111111111111111111111111111111111111111
450  2   2   0 1101111111111111111111111111111111111111111111111111111111111111111
451  3   3   0 1110111111111111111111111111111111111111111111111111111111111111111
452  4   4   0 1111011111111111111111111111111111111111111111111111111111111111111
453  5   5   0 1111101111111111111111111111111111111111111111111111111111111111111
454  6   6   0 1111110111111111111111111111111111111111111111111111111111111111111
455  7   7   0 1111111011111111111111111111111111111111111111111111111111111111111
456  8   8   0 1111111101111111111111111111111111111111111111111111111111111111111
457  9   9   0 1111111110111111111111111111111111111111111111111111111111111111111
458 10  10   0 1111111111011111111111111111111111111111111111111111111111111111111
459 11  11   0 1111111111101111111111111111111111111111111111111111111111111111111
460 12  12   0 1111111111110111111111111111111111111111111111111111111111111111111
461 13  13   0 1111111111111011111111111111111111111111111111111111111111111111111
462 14  14   0 1111111111111101111111111111111111111111111111111111111111111111111
463 15  15   0 1111111111111110111111111111111111111111111111111111111111111111111
464 16  16   0 1111111111111111011111111111111111111111111111111111111111111111111
465 17  17   0 1111111111111111101111111111111111111111111111111111111111111111111
466 18  18   0 1111111111111111110111111111111111111111111111111111111111111111111
467 19  19   0 1111111111111111111011111111111111111111111111111111111111111111111
468 20  20   0 1111111111111111111101111111111111111111111111111111111111111111111
469 21  21   0 1111111111111111111110111111111111111111111111111111111111111111111
470 22  22   0 1111111111111111111111011111111111111111111111111111111111111111111
471 23  23   0 1111111111111111111111101111111111111111111111111111111111111111111
472 24  24   0 1111111111111111111111110111111111111111111111111111111111111111111
473 25  25   0 1111111111111111111111111011111111111111111111111111111111111111111
474 26  26   0 1111111111111111111111111101111111111111111111111111111111111111111
475 27  27   0 1111111111111111111111111110111111111111111111111111111111111111111
476 28  28   0 1111111111111111111111111111011111111111111111111111111111111111111
477 29  29   0 1111111111111111111111111111101111111111111111111111111111111111111
478 30  30   0 1111111111111111111111111111110111111111111111111111111111111111111
479 31  31   0 1111111111111111111111111111111011111111111111111111111111111111111
480 32  32   0 1111111111111111111111111111111101111111111111111111111111111111111
481 33  33   0 1111111111111111111111111111111110111111111111111111111111111111111
482 34  34   0 1111111111111111111111111111111111011111111111111111111111111111111
483 35  35   0 1111111111111111111111111111111111101111111111111111111111111111111
484 36  36   0 1111111111111111111111111111111111110111111111111111111111111111111
485 37  37   0 1111111111111111111111111111111111111011111111111111111111111111111
486 38  38   0 1111111111111111111111111111111111111101111111111111111111111111111
487 39  39   0 1111111111111111111111111111111111111110111111111111111111111111111
488 40  40   0 1111111111111111111111111111111111111111011111111111111111111111111
489 41  41   0 1111111111111111111111111111111111111111101111111111111111111111111
490 42  42   0 1111111111111111111111111111111111111111110111111111111111111111111
491 43  43   0 1111111111111111111111111111111111111111111011111111111111111111111
492 44  44   0 1111111111111111111111111111111111111111111101111111111111111111111
493 45  45   0 1111111111111111111111111111111111111111111110111111111111111111111
494 46  46   0 1111111111111111111111111111111111111111111111011111111111111111111
495 47  47   0 1111111111111111111111111111111111111111111111101111111111111111111
496 48  48   0 1111111111111111111111111111111111111111111111110111111111111111111
497 49  49   0 1111111111111111111111111111111111111111111111111011111111111111111
498 50  50   0 1111111111111111111111111111111111111111111111111101111111111111111
499 51  51   0 1111111111111111111111111111111111111111111111111110111111111111111
500 52  52   0 1111111111111111111111111111111111111111111111111111011111111111111
501 53  53   0 1111111111111111111111111111111111111111111111111111101111111111111
502 54  54   0 1111111111111111111111111111111111111111111111111111110111111111111
503 55  55   0 1111111111111111111111111111111111111111111111111111111011111111111
504 56  56   0 1111111111111111111111111111111111111111111111111111111101111111111
505 57  57   0 1111111111111111111111111111111111111111111111111111111110111111111
506 58  58   0 1111111111111111111111111111111111111111111111111111111111011111111
507 59  59   0 1111111111111111111111111111111111111111111111111111111111101111111
508 60  60   0 1111111111111111111111111111111111111111111111111111111111110111111
509 61  61   0 1111111111111111111111111111111111111111111111111111111111111011111
510 62  62   0 1111111111111111111111111111111111111111111111111111111111111101111
511 63  63   0 1111111111111111111111111111111111111111111111111111111111111110111
512 64  64   0 1111111111111111111111111111111111111111111111111111111111111111011
513 65  65   0 1111111111111111111111111111111111111111111111111111111111111111101
514 66  66   0 1111111111111111111111111111111111111111111111111111111111111111110
515
5161 bit should move right 1 position each line
517  0   1   0 1000000000000000000000000000000000000000000000000000000000000000000
518  1   0   1 0100000000000000000000000000000000000000000000000000000000000000000
519  2   0   2 0010000000000000000000000000000000000000000000000000000000000000000
520  3   0   3 0001000000000000000000000000000000000000000000000000000000000000000
521  4   0   4 0000100000000000000000000000000000000000000000000000000000000000000
522  5   0   5 0000010000000000000000000000000000000000000000000000000000000000000
523  6   0   6 0000001000000000000000000000000000000000000000000000000000000000000
524  7   0   7 0000000100000000000000000000000000000000000000000000000000000000000
525  8   0   8 0000000010000000000000000000000000000000000000000000000000000000000
526  9   0   9 0000000001000000000000000000000000000000000000000000000000000000000
527 10   0  10 0000000000100000000000000000000000000000000000000000000000000000000
528 11   0  11 0000000000010000000000000000000000000000000000000000000000000000000
529 12   0  12 0000000000001000000000000000000000000000000000000000000000000000000
530 13   0  13 0000000000000100000000000000000000000000000000000000000000000000000
531 14   0  14 0000000000000010000000000000000000000000000000000000000000000000000
532 15   0  15 0000000000000001000000000000000000000000000000000000000000000000000
533 16   0  16 0000000000000000100000000000000000000000000000000000000000000000000
534 17   0  17 0000000000000000010000000000000000000000000000000000000000000000000
535 18   0  18 0000000000000000001000000000000000000000000000000000000000000000000
536 19   0  19 0000000000000000000100000000000000000000000000000000000000000000000
537 20   0  20 0000000000000000000010000000000000000000000000000000000000000000000
538 21   0  21 0000000000000000000001000000000000000000000000000000000000000000000
539 22   0  22 0000000000000000000000100000000000000000000000000000000000000000000
540 23   0  23 0000000000000000000000010000000000000000000000000000000000000000000
541 24   0  24 0000000000000000000000001000000000000000000000000000000000000000000
542 25   0  25 0000000000000000000000000100000000000000000000000000000000000000000
543 26   0  26 0000000000000000000000000010000000000000000000000000000000000000000
544 27   0  27 0000000000000000000000000001000000000000000000000000000000000000000
545 28   0  28 0000000000000000000000000000100000000000000000000000000000000000000
546 29   0  29 0000000000000000000000000000010000000000000000000000000000000000000
547 30   0  30 0000000000000000000000000000001000000000000000000000000000000000000
548 31   0  31 0000000000000000000000000000000100000000000000000000000000000000000
549 32   0  32 0000000000000000000000000000000010000000000000000000000000000000000
550 33   0  33 0000000000000000000000000000000001000000000000000000000000000000000
551 34   0  34 0000000000000000000000000000000000100000000000000000000000000000000
552 35   0  35 0000000000000000000000000000000000010000000000000000000000000000000
553 36   0  36 0000000000000000000000000000000000001000000000000000000000000000000
554 37   0  37 0000000000000000000000000000000000000100000000000000000000000000000
555 38   0  38 0000000000000000000000000000000000000010000000000000000000000000000
556 39   0  39 0000000000000000000000000000000000000001000000000000000000000000000
557 40   0  40 0000000000000000000000000000000000000000100000000000000000000000000
558 41   0  41 0000000000000000000000000000000000000000010000000000000000000000000
559 42   0  42 0000000000000000000000000000000000000000001000000000000000000000000
560 43   0  43 0000000000000000000000000000000000000000000100000000000000000000000
561 44   0  44 0000000000000000000000000000000000000000000010000000000000000000000
562 45   0  45 0000000000000000000000000000000000000000000001000000000000000000000
563 46   0  46 0000000000000000000000000000000000000000000000100000000000000000000
564 47   0  47 0000000000000000000000000000000000000000000000010000000000000000000
565 48   0  48 0000000000000000000000000000000000000000000000001000000000000000000
566 49   0  49 0000000000000000000000000000000000000000000000000100000000000000000
567 50   0  50 0000000000000000000000000000000000000000000000000010000000000000000
568 51   0  51 0000000000000000000000000000000000000000000000000001000000000000000
569 52   0  52 0000000000000000000000000000000000000000000000000000100000000000000
570 53   0  53 0000000000000000000000000000000000000000000000000000010000000000000
571 54   0  54 0000000000000000000000000000000000000000000000000000001000000000000
572 55   0  55 0000000000000000000000000000000000000000000000000000000100000000000
573 56   0  56 0000000000000000000000000000000000000000000000000000000010000000000
574 57   0  57 0000000000000000000000000000000000000000000000000000000001000000000
575 58   0  58 0000000000000000000000000000000000000000000000000000000000100000000
576 59   0  59 0000000000000000000000000000000000000000000000000000000000010000000
577 60   0  60 0000000000000000000000000000000000000000000000000000000000001000000
578 61   0  61 0000000000000000000000000000000000000000000000000000000000000100000
579 62   0  62 0000000000000000000000000000000000000000000000000000000000000010000
580 63   0  63 0000000000000000000000000000000000000000000000000000000000000001000
581 64   0  64 0000000000000000000000000000000000000000000000000000000000000000100
582 65   0  65 0000000000000000000000000000000000000000000000000000000000000000010
583 66   0  66 0000000000000000000000000000000000000000000000000000000000000000001
584