Testing with TEST_LENGTH = 67
test _bit_byte, _bit_mask, and bitstr_size
i _bit_byte(i) _bit_mask(i) bitstr_size(i)
0 0 1 0
1 0 2 1
2 0 4 1
3 0 8 1
4 0 16 1
5 0 32 1
6 0 64 1
7 0 128 1
8 1 1 1
9 1 2 2
10 1 4 2
11 1 8 2
12 1 16 2
13 1 32 2
14 1 64 2
15 1 128 2
16 2 1 2
17 2 2 3
18 2 4 3
19 2 8 3
20 2 16 3
21 2 32 3
22 2 64 3
23 2 128 3
24 3 1 3
25 3 2 4
26 3 4 4
27 3 8 4
28 3 16 4
29 3 32 4
30 3 64 4
31 3 128 4
32 4 1 4
33 4 2 5
34 4 4 5
35 4 8 5
36 4 16 5
37 4 32 5
38 4 64 5
39 4 128 5
40 5 1 5
41 5 2 6
42 5 4 6
43 5 8 6
44 5 16 6
45 5 32 6
46 5 64 6
47 5 128 6
48 6 1 6
49 6 2 7
50 6 4 7
51 6 8 7
52 6 16 7
53 6 32 7
54 6 64 7
55 6 128 7
56 7 1 7
57 7 2 8
58 7 4 8
59 7 8 8
60 7 16 8
61 7 32 8
62 7 64 8
63 7 128 8
64 8 1 8
65 8 2 9
66 8 4 9
test bit_alloc, clearbits, bit_ffc, bit_ffs
be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
test bit_set
be: 1 0 1001001001001001001001001001001001001001001001001001001001001001001
is: 1 0 1001001001001001001001001001001001001001001001001001001001001001001
test bit_clear
be: 0 3 0001000001000001000001000001000001000001000001000001000001000001000
is: 0 3 0001000001000001000001000001000001000001000001000001000001000001000
test bit_test using previous bitstring
i bit_test(i)
0 0
1 0
2 0
3 8
4 0
5 0
6 0
7 0
8 0
9 2
10 0
11 0
12 0
13 0
14 0
15 128
16 0
17 0
18 0
19 0
20 0
21 32
22 0
23 0
24 0
25 0
26 0
27 8
28 0
29 0
30 0
31 0
32 0
33 2
34 0
35 0
36 0
37 0
38 0
39 128
40 0
41 0
42 0
43 0
44 0
45 32
46 0
47 0
48 0
49 0
50 0
51 8
52 0
53 0
54 0
55 0
56 0
57 2
58 0
59 0
60 0
61 0
62 0
63 128
64 0
65 0
66 0
test clearbits
be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
test bit_nset and bit_nclear
be: 0 1 0111111111111111111111111111111111111111111111111111111111111111110
is: 0 1 0111111111111111111111111111111111111111111111111111111111111111110
be: 0 1 0100000000000000000000000000000000000000000000000000000000000000010
is: 0 1 0100000000000000000000000000000000000000000000000000000000000000010
be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
be: 66 0 1111111111111111111111111111111111111111111111111111111111111111110
is: 66 0 1111111111111111111111111111111111111111111111111111111111111111110
be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
first 1 bit should move right 1 position each line
0 -1 0 1111111111111111111111111111111111111111111111111111111111111111111
1 0 1 0111111111111111111111111111111111111111111111111111111111111111111
2 0 2 0011111111111111111111111111111111111111111111111111111111111111111
3 0 3 0001111111111111111111111111111111111111111111111111111111111111111
4 0 4 0000111111111111111111111111111111111111111111111111111111111111111
5 0 5 0000011111111111111111111111111111111111111111111111111111111111111
6 0 6 0000001111111111111111111111111111111111111111111111111111111111111
7 0 7 0000000111111111111111111111111111111111111111111111111111111111111
8 0 8 0000000011111111111111111111111111111111111111111111111111111111111
9 0 9 0000000001111111111111111111111111111111111111111111111111111111111
10 0 10 0000000000111111111111111111111111111111111111111111111111111111111
11 0 11 0000000000011111111111111111111111111111111111111111111111111111111
12 0 12 0000000000001111111111111111111111111111111111111111111111111111111
13 0 13 0000000000000111111111111111111111111111111111111111111111111111111
14 0 14 0000000000000011111111111111111111111111111111111111111111111111111
15 0 15 0000000000000001111111111111111111111111111111111111111111111111111
16 0 16 0000000000000000111111111111111111111111111111111111111111111111111
17 0 17 0000000000000000011111111111111111111111111111111111111111111111111
18 0 18 0000000000000000001111111111111111111111111111111111111111111111111
19 0 19 0000000000000000000111111111111111111111111111111111111111111111111
20 0 20 0000000000000000000011111111111111111111111111111111111111111111111
21 0 21 0000000000000000000001111111111111111111111111111111111111111111111
22 0 22 0000000000000000000000111111111111111111111111111111111111111111111
23 0 23 0000000000000000000000011111111111111111111111111111111111111111111
24 0 24 0000000000000000000000001111111111111111111111111111111111111111111
25 0 25 0000000000000000000000000111111111111111111111111111111111111111111
26 0 26 0000000000000000000000000011111111111111111111111111111111111111111
27 0 27 0000000000000000000000000001111111111111111111111111111111111111111
28 0 28 0000000000000000000000000000111111111111111111111111111111111111111
29 0 29 0000000000000000000000000000011111111111111111111111111111111111111
30 0 30 0000000000000000000000000000001111111111111111111111111111111111111
31 0 31 0000000000000000000000000000000111111111111111111111111111111111111
32 0 32 0000000000000000000000000000000011111111111111111111111111111111111
33 0 33 0000000000000000000000000000000001111111111111111111111111111111111
34 0 34 0000000000000000000000000000000000111111111111111111111111111111111
35 0 35 0000000000000000000000000000000000011111111111111111111111111111111
36 0 36 0000000000000000000000000000000000001111111111111111111111111111111
37 0 37 0000000000000000000000000000000000000111111111111111111111111111111
38 0 38 0000000000000000000000000000000000000011111111111111111111111111111
39 0 39 0000000000000000000000000000000000000001111111111111111111111111111
40 0 40 0000000000000000000000000000000000000000111111111111111111111111111
41 0 41 0000000000000000000000000000000000000000011111111111111111111111111
42 0 42 0000000000000000000000000000000000000000001111111111111111111111111
43 0 43 0000000000000000000000000000000000000000000111111111111111111111111
44 0 44 0000000000000000000000000000000000000000000011111111111111111111111
45 0 45 0000000000000000000000000000000000000000000001111111111111111111111
46 0 46 0000000000000000000000000000000000000000000000111111111111111111111
47 0 47 0000000000000000000000000000000000000000000000011111111111111111111
48 0 48 0000000000000000000000000000000000000000000000001111111111111111111
49 0 49 0000000000000000000000000000000000000000000000000111111111111111111
50 0 50 0000000000000000000000000000000000000000000000000011111111111111111
51 0 51 0000000000000000000000000000000000000000000000000001111111111111111
52 0 52 0000000000000000000000000000000000000000000000000000111111111111111
53 0 53 0000000000000000000000000000000000000000000000000000011111111111111
54 0 54 0000000000000000000000000000000000000000000000000000001111111111111
55 0 55 0000000000000000000000000000000000000000000000000000000111111111111
56 0 56 0000000000000000000000000000000000000000000000000000000011111111111
57 0 57 0000000000000000000000000000000000000000000000000000000001111111111
58 0 58 0000000000000000000000000000000000000000000000000000000000111111111
59 0 59 0000000000000000000000000000000000000000000000000000000000011111111
60 0 60 0000000000000000000000000000000000000000000000000000000000001111111
61 0 61 0000000000000000000000000000000000000000000000000000000000000111111
62 0 62 0000000000000000000000000000000000000000000000000000000000000011111
63 0 63 0000000000000000000000000000000000000000000000000000000000000001111
64 0 64 0000000000000000000000000000000000000000000000000000000000000000111
65 0 65 0000000000000000000000000000000000000000000000000000000000000000011
66 0 66 0000000000000000000000000000000000000000000000000000000000000000001
first 0 bit should move right 1 position each line
0 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
1 1 0 1000000000000000000000000000000000000000000000000000000000000000000
2 2 0 1100000000000000000000000000000000000000000000000000000000000000000
3 3 0 1110000000000000000000000000000000000000000000000000000000000000000
4 4 0 1111000000000000000000000000000000000000000000000000000000000000000
5 5 0 1111100000000000000000000000000000000000000000000000000000000000000
6 6 0 1111110000000000000000000000000000000000000000000000000000000000000
7 7 0 1111111000000000000000000000000000000000000000000000000000000000000
8 8 0 1111111100000000000000000000000000000000000000000000000000000000000
9 9 0 1111111110000000000000000000000000000000000000000000000000000000000
10 10 0 1111111111000000000000000000000000000000000000000000000000000000000
11 11 0 1111111111100000000000000000000000000000000000000000000000000000000
12 12 0 1111111111110000000000000000000000000000000000000000000000000000000
13 13 0 1111111111111000000000000000000000000000000000000000000000000000000
14 14 0 1111111111111100000000000000000000000000000000000000000000000000000
15 15 0 1111111111111110000000000000000000000000000000000000000000000000000
16 16 0 1111111111111111000000000000000000000000000000000000000000000000000
17 17 0 1111111111111111100000000000000000000000000000000000000000000000000
18 18 0 1111111111111111110000000000000000000000000000000000000000000000000
19 19 0 1111111111111111111000000000000000000000000000000000000000000000000
20 20 0 1111111111111111111100000000000000000000000000000000000000000000000
21 21 0 1111111111111111111110000000000000000000000000000000000000000000000
22 22 0 1111111111111111111111000000000000000000000000000000000000000000000
23 23 0 1111111111111111111111100000000000000000000000000000000000000000000
24 24 0 1111111111111111111111110000000000000000000000000000000000000000000
25 25 0 1111111111111111111111111000000000000000000000000000000000000000000
26 26 0 1111111111111111111111111100000000000000000000000000000000000000000
27 27 0 1111111111111111111111111110000000000000000000000000000000000000000
28 28 0 1111111111111111111111111111000000000000000000000000000000000000000
29 29 0 1111111111111111111111111111100000000000000000000000000000000000000
30 30 0 1111111111111111111111111111110000000000000000000000000000000000000
31 31 0 1111111111111111111111111111111000000000000000000000000000000000000
32 32 0 1111111111111111111111111111111100000000000000000000000000000000000
33 33 0 1111111111111111111111111111111110000000000000000000000000000000000
34 34 0 1111111111111111111111111111111111000000000000000000000000000000000
35 35 0 1111111111111111111111111111111111100000000000000000000000000000000
36 36 0 1111111111111111111111111111111111110000000000000000000000000000000
37 37 0 1111111111111111111111111111111111111000000000000000000000000000000
38 38 0 1111111111111111111111111111111111111100000000000000000000000000000
39 39 0 1111111111111111111111111111111111111110000000000000000000000000000
40 40 0 1111111111111111111111111111111111111111000000000000000000000000000
41 41 0 1111111111111111111111111111111111111111100000000000000000000000000
42 42 0 1111111111111111111111111111111111111111110000000000000000000000000
43 43 0 1111111111111111111111111111111111111111111000000000000000000000000
44 44 0 1111111111111111111111111111111111111111111100000000000000000000000
45 45 0 1111111111111111111111111111111111111111111110000000000000000000000
46 46 0 1111111111111111111111111111111111111111111111000000000000000000000
47 47 0 1111111111111111111111111111111111111111111111100000000000000000000
48 48 0 1111111111111111111111111111111111111111111111110000000000000000000
49 49 0 1111111111111111111111111111111111111111111111111000000000000000000
50 50 0 1111111111111111111111111111111111111111111111111100000000000000000
51 51 0 1111111111111111111111111111111111111111111111111110000000000000000
52 52 0 1111111111111111111111111111111111111111111111111111000000000000000
53 53 0 1111111111111111111111111111111111111111111111111111100000000000000
54 54 0 1111111111111111111111111111111111111111111111111111110000000000000
55 55 0 1111111111111111111111111111111111111111111111111111111000000000000
56 56 0 1111111111111111111111111111111111111111111111111111111100000000000
57 57 0 1111111111111111111111111111111111111111111111111111111110000000000
58 58 0 1111111111111111111111111111111111111111111111111111111111000000000
59 59 0 1111111111111111111111111111111111111111111111111111111111100000000
60 60 0 1111111111111111111111111111111111111111111111111111111111110000000
61 61 0 1111111111111111111111111111111111111111111111111111111111111000000
62 62 0 1111111111111111111111111111111111111111111111111111111111111100000
63 63 0 1111111111111111111111111111111111111111111111111111111111111110000
64 64 0 1111111111111111111111111111111111111111111111111111111111111111000
65 65 0 1111111111111111111111111111111111111111111111111111111111111111100
66 66 0 1111111111111111111111111111111111111111111111111111111111111111110
first 0 bit should move left 1 position each line
0 -1 0 1111111111111111111111111111111111111111111111111111111111111111111
1 66 0 1111111111111111111111111111111111111111111111111111111111111111110
2 65 0 1111111111111111111111111111111111111111111111111111111111111111100
3 64 0 1111111111111111111111111111111111111111111111111111111111111111000
4 63 0 1111111111111111111111111111111111111111111111111111111111111110000
5 62 0 1111111111111111111111111111111111111111111111111111111111111100000
6 61 0 1111111111111111111111111111111111111111111111111111111111111000000
7 60 0 1111111111111111111111111111111111111111111111111111111111110000000
8 59 0 1111111111111111111111111111111111111111111111111111111111100000000
9 58 0 1111111111111111111111111111111111111111111111111111111111000000000
10 57 0 1111111111111111111111111111111111111111111111111111111110000000000
11 56 0 1111111111111111111111111111111111111111111111111111111100000000000
12 55 0 1111111111111111111111111111111111111111111111111111111000000000000
13 54 0 1111111111111111111111111111111111111111111111111111110000000000000
14 53 0 1111111111111111111111111111111111111111111111111111100000000000000
15 52 0 1111111111111111111111111111111111111111111111111111000000000000000
16 51 0 1111111111111111111111111111111111111111111111111110000000000000000
17 50 0 1111111111111111111111111111111111111111111111111100000000000000000
18 49 0 1111111111111111111111111111111111111111111111111000000000000000000
19 48 0 1111111111111111111111111111111111111111111111110000000000000000000
20 47 0 1111111111111111111111111111111111111111111111100000000000000000000
21 46 0 1111111111111111111111111111111111111111111111000000000000000000000
22 45 0 1111111111111111111111111111111111111111111110000000000000000000000
23 44 0 1111111111111111111111111111111111111111111100000000000000000000000
24 43 0 1111111111111111111111111111111111111111111000000000000000000000000
25 42 0 1111111111111111111111111111111111111111110000000000000000000000000
26 41 0 1111111111111111111111111111111111111111100000000000000000000000000
27 40 0 1111111111111111111111111111111111111111000000000000000000000000000
28 39 0 1111111111111111111111111111111111111110000000000000000000000000000
29 38 0 1111111111111111111111111111111111111100000000000000000000000000000
30 37 0 1111111111111111111111111111111111111000000000000000000000000000000
31 36 0 1111111111111111111111111111111111110000000000000000000000000000000
32 35 0 1111111111111111111111111111111111100000000000000000000000000000000
33 34 0 1111111111111111111111111111111111000000000000000000000000000000000
34 33 0 1111111111111111111111111111111110000000000000000000000000000000000
35 32 0 1111111111111111111111111111111100000000000000000000000000000000000
36 31 0 1111111111111111111111111111111000000000000000000000000000000000000
37 30 0 1111111111111111111111111111110000000000000000000000000000000000000
38 29 0 1111111111111111111111111111100000000000000000000000000000000000000
39 28 0 1111111111111111111111111111000000000000000000000000000000000000000
40 27 0 1111111111111111111111111110000000000000000000000000000000000000000
41 26 0 1111111111111111111111111100000000000000000000000000000000000000000
42 25 0 1111111111111111111111111000000000000000000000000000000000000000000
43 24 0 1111111111111111111111110000000000000000000000000000000000000000000
44 23 0 1111111111111111111111100000000000000000000000000000000000000000000
45 22 0 1111111111111111111111000000000000000000000000000000000000000000000
46 21 0 1111111111111111111110000000000000000000000000000000000000000000000
47 20 0 1111111111111111111100000000000000000000000000000000000000000000000
48 19 0 1111111111111111111000000000000000000000000000000000000000000000000
49 18 0 1111111111111111110000000000000000000000000000000000000000000000000
50 17 0 1111111111111111100000000000000000000000000000000000000000000000000
51 16 0 1111111111111111000000000000000000000000000000000000000000000000000
52 15 0 1111111111111110000000000000000000000000000000000000000000000000000
53 14 0 1111111111111100000000000000000000000000000000000000000000000000000
54 13 0 1111111111111000000000000000000000000000000000000000000000000000000
55 12 0 1111111111110000000000000000000000000000000000000000000000000000000
56 11 0 1111111111100000000000000000000000000000000000000000000000000000000
57 10 0 1111111111000000000000000000000000000000000000000000000000000000000
58 9 0 1111111110000000000000000000000000000000000000000000000000000000000
59 8 0 1111111100000000000000000000000000000000000000000000000000000000000
60 7 0 1111111000000000000000000000000000000000000000000000000000000000000
61 6 0 1111110000000000000000000000000000000000000000000000000000000000000
62 5 0 1111100000000000000000000000000000000000000000000000000000000000000
63 4 0 1111000000000000000000000000000000000000000000000000000000000000000
64 3 0 1110000000000000000000000000000000000000000000000000000000000000000
65 2 0 1100000000000000000000000000000000000000000000000000000000000000000
66 1 0 1000000000000000000000000000000000000000000000000000000000000000000
first 1 bit should move left 1 position each line
0 0 -1 0000000000000000000000000000000000000000000000000000000000000000000
1 0 66 0000000000000000000000000000000000000000000000000000000000000000001
2 0 65 0000000000000000000000000000000000000000000000000000000000000000011
3 0 64 0000000000000000000000000000000000000000000000000000000000000000111
4 0 63 0000000000000000000000000000000000000000000000000000000000000001111
5 0 62 0000000000000000000000000000000000000000000000000000000000000011111
6 0 61 0000000000000000000000000000000000000000000000000000000000000111111
7 0 60 0000000000000000000000000000000000000000000000000000000000001111111
8 0 59 0000000000000000000000000000000000000000000000000000000000011111111
9 0 58 0000000000000000000000000000000000000000000000000000000000111111111
10 0 57 0000000000000000000000000000000000000000000000000000000001111111111
11 0 56 0000000000000000000000000000000000000000000000000000000011111111111
12 0 55 0000000000000000000000000000000000000000000000000000000111111111111
13 0 54 0000000000000000000000000000000000000000000000000000001111111111111
14 0 53 0000000000000000000000000000000000000000000000000000011111111111111
15 0 52 0000000000000000000000000000000000000000000000000000111111111111111
16 0 51 0000000000000000000000000000000000000000000000000001111111111111111
17 0 50 0000000000000000000000000000000000000000000000000011111111111111111
18 0 49 0000000000000000000000000000000000000000000000000111111111111111111
19 0 48 0000000000000000000000000000000000000000000000001111111111111111111
20 0 47 0000000000000000000000000000000000000000000000011111111111111111111
21 0 46 0000000000000000000000000000000000000000000000111111111111111111111
22 0 45 0000000000000000000000000000000000000000000001111111111111111111111
23 0 44 0000000000000000000000000000000000000000000011111111111111111111111
24 0 43 0000000000000000000000000000000000000000000111111111111111111111111
25 0 42 0000000000000000000000000000000000000000001111111111111111111111111
26 0 41 0000000000000000000000000000000000000000011111111111111111111111111
27 0 40 0000000000000000000000000000000000000000111111111111111111111111111
28 0 39 0000000000000000000000000000000000000001111111111111111111111111111
29 0 38 0000000000000000000000000000000000000011111111111111111111111111111
30 0 37 0000000000000000000000000000000000000111111111111111111111111111111
31 0 36 0000000000000000000000000000000000001111111111111111111111111111111
32 0 35 0000000000000000000000000000000000011111111111111111111111111111111
33 0 34 0000000000000000000000000000000000111111111111111111111111111111111
34 0 33 0000000000000000000000000000000001111111111111111111111111111111111
35 0 32 0000000000000000000000000000000011111111111111111111111111111111111
36 0 31 0000000000000000000000000000000111111111111111111111111111111111111
37 0 30 0000000000000000000000000000001111111111111111111111111111111111111
38 0 29 0000000000000000000000000000011111111111111111111111111111111111111
39 0 28 0000000000000000000000000000111111111111111111111111111111111111111
40 0 27 0000000000000000000000000001111111111111111111111111111111111111111
41 0 26 0000000000000000000000000011111111111111111111111111111111111111111
42 0 25 0000000000000000000000000111111111111111111111111111111111111111111
43 0 24 0000000000000000000000001111111111111111111111111111111111111111111
44 0 23 0000000000000000000000011111111111111111111111111111111111111111111
45 0 22 0000000000000000000000111111111111111111111111111111111111111111111
46 0 21 0000000000000000000001111111111111111111111111111111111111111111111
47 0 20 0000000000000000000011111111111111111111111111111111111111111111111
48 0 19 0000000000000000000111111111111111111111111111111111111111111111111
49 0 18 0000000000000000001111111111111111111111111111111111111111111111111
50 0 17 0000000000000000011111111111111111111111111111111111111111111111111
51 0 16 0000000000000000111111111111111111111111111111111111111111111111111
52 0 15 0000000000000001111111111111111111111111111111111111111111111111111
53 0 14 0000000000000011111111111111111111111111111111111111111111111111111
54 0 13 0000000000000111111111111111111111111111111111111111111111111111111
55 0 12 0000000000001111111111111111111111111111111111111111111111111111111
56 0 11 0000000000011111111111111111111111111111111111111111111111111111111
57 0 10 0000000000111111111111111111111111111111111111111111111111111111111
58 0 9 0000000001111111111111111111111111111111111111111111111111111111111
59 0 8 0000000011111111111111111111111111111111111111111111111111111111111
60 0 7 0000000111111111111111111111111111111111111111111111111111111111111
61 0 6 0000001111111111111111111111111111111111111111111111111111111111111
62 0 5 0000011111111111111111111111111111111111111111111111111111111111111
63 0 4 0000111111111111111111111111111111111111111111111111111111111111111
64 0 3 0001111111111111111111111111111111111111111111111111111111111111111
65 0 2 0011111111111111111111111111111111111111111111111111111111111111111
66 0 1 0111111111111111111111111111111111111111111111111111111111111111111
0 bit should move right 1 position each line
0 0 1 0111111111111111111111111111111111111111111111111111111111111111111
1 1 0 1011111111111111111111111111111111111111111111111111111111111111111
2 2 0 1101111111111111111111111111111111111111111111111111111111111111111
3 3 0 1110111111111111111111111111111111111111111111111111111111111111111
4 4 0 1111011111111111111111111111111111111111111111111111111111111111111
5 5 0 1111101111111111111111111111111111111111111111111111111111111111111
6 6 0 1111110111111111111111111111111111111111111111111111111111111111111
7 7 0 1111111011111111111111111111111111111111111111111111111111111111111
8 8 0 1111111101111111111111111111111111111111111111111111111111111111111
9 9 0 1111111110111111111111111111111111111111111111111111111111111111111
10 10 0 1111111111011111111111111111111111111111111111111111111111111111111
11 11 0 1111111111101111111111111111111111111111111111111111111111111111111
12 12 0 1111111111110111111111111111111111111111111111111111111111111111111
13 13 0 1111111111111011111111111111111111111111111111111111111111111111111
14 14 0 1111111111111101111111111111111111111111111111111111111111111111111
15 15 0 1111111111111110111111111111111111111111111111111111111111111111111
16 16 0 1111111111111111011111111111111111111111111111111111111111111111111
17 17 0 1111111111111111101111111111111111111111111111111111111111111111111
18 18 0 1111111111111111110111111111111111111111111111111111111111111111111
19 19 0 1111111111111111111011111111111111111111111111111111111111111111111
20 20 0 1111111111111111111101111111111111111111111111111111111111111111111
21 21 0 1111111111111111111110111111111111111111111111111111111111111111111
22 22 0 1111111111111111111111011111111111111111111111111111111111111111111
23 23 0 1111111111111111111111101111111111111111111111111111111111111111111
24 24 0 1111111111111111111111110111111111111111111111111111111111111111111
25 25 0 1111111111111111111111111011111111111111111111111111111111111111111
26 26 0 1111111111111111111111111101111111111111111111111111111111111111111
27 27 0 1111111111111111111111111110111111111111111111111111111111111111111
28 28 0 1111111111111111111111111111011111111111111111111111111111111111111
29 29 0 1111111111111111111111111111101111111111111111111111111111111111111
30 30 0 1111111111111111111111111111110111111111111111111111111111111111111
31 31 0 1111111111111111111111111111111011111111111111111111111111111111111
32 32 0 1111111111111111111111111111111101111111111111111111111111111111111
33 33 0 1111111111111111111111111111111110111111111111111111111111111111111
34 34 0 1111111111111111111111111111111111011111111111111111111111111111111
35 35 0 1111111111111111111111111111111111101111111111111111111111111111111
36 36 0 1111111111111111111111111111111111110111111111111111111111111111111
37 37 0 1111111111111111111111111111111111111011111111111111111111111111111
38 38 0 1111111111111111111111111111111111111101111111111111111111111111111
39 39 0 1111111111111111111111111111111111111110111111111111111111111111111
40 40 0 1111111111111111111111111111111111111111011111111111111111111111111
41 41 0 1111111111111111111111111111111111111111101111111111111111111111111
42 42 0 1111111111111111111111111111111111111111110111111111111111111111111
43 43 0 1111111111111111111111111111111111111111111011111111111111111111111
44 44 0 1111111111111111111111111111111111111111111101111111111111111111111
45 45 0 1111111111111111111111111111111111111111111110111111111111111111111
46 46 0 1111111111111111111111111111111111111111111111011111111111111111111
47 47 0 1111111111111111111111111111111111111111111111101111111111111111111
48 48 0 1111111111111111111111111111111111111111111111110111111111111111111
49 49 0 1111111111111111111111111111111111111111111111111011111111111111111
50 50 0 1111111111111111111111111111111111111111111111111101111111111111111
51 51 0 1111111111111111111111111111111111111111111111111110111111111111111
52 52 0 1111111111111111111111111111111111111111111111111111011111111111111
53 53 0 1111111111111111111111111111111111111111111111111111101111111111111
54 54 0 1111111111111111111111111111111111111111111111111111110111111111111
55 55 0 1111111111111111111111111111111111111111111111111111111011111111111
56 56 0 1111111111111111111111111111111111111111111111111111111101111111111
57 57 0 1111111111111111111111111111111111111111111111111111111110111111111
58 58 0 1111111111111111111111111111111111111111111111111111111111011111111
59 59 0 1111111111111111111111111111111111111111111111111111111111101111111
60 60 0 1111111111111111111111111111111111111111111111111111111111110111111
61 61 0 1111111111111111111111111111111111111111111111111111111111111011111
62 62 0 1111111111111111111111111111111111111111111111111111111111111101111
63 63 0 1111111111111111111111111111111111111111111111111111111111111110111
64 64 0 1111111111111111111111111111111111111111111111111111111111111111011
65 65 0 1111111111111111111111111111111111111111111111111111111111111111101
66 66 0 1111111111111111111111111111111111111111111111111111111111111111110
1 bit should move right 1 position each line
0 1 0 1000000000000000000000000000000000000000000000000000000000000000000
1 0 1 0100000000000000000000000000000000000000000000000000000000000000000
2 0 2 0010000000000000000000000000000000000000000000000000000000000000000
3 0 3 0001000000000000000000000000000000000000000000000000000000000000000
4 0 4 0000100000000000000000000000000000000000000000000000000000000000000
5 0 5 0000010000000000000000000000000000000000000000000000000000000000000
6 0 6 0000001000000000000000000000000000000000000000000000000000000000000
7 0 7 0000000100000000000000000000000000000000000000000000000000000000000
8 0 8 0000000010000000000000000000000000000000000000000000000000000000000
9 0 9 0000000001000000000000000000000000000000000000000000000000000000000
10 0 10 0000000000100000000000000000000000000000000000000000000000000000000
11 0 11 0000000000010000000000000000000000000000000000000000000000000000000
12 0 12 0000000000001000000000000000000000000000000000000000000000000000000
13 0 13 0000000000000100000000000000000000000000000000000000000000000000000
14 0 14 0000000000000010000000000000000000000000000000000000000000000000000
15 0 15 0000000000000001000000000000000000000000000000000000000000000000000
16 0 16 0000000000000000100000000000000000000000000000000000000000000000000
17 0 17 0000000000000000010000000000000000000000000000000000000000000000000
18 0 18 0000000000000000001000000000000000000000000000000000000000000000000
19 0 19 0000000000000000000100000000000000000000000000000000000000000000000
20 0 20 0000000000000000000010000000000000000000000000000000000000000000000
21 0 21 0000000000000000000001000000000000000000000000000000000000000000000
22 0 22 0000000000000000000000100000000000000000000000000000000000000000000
23 0 23 0000000000000000000000010000000000000000000000000000000000000000000
24 0 24 0000000000000000000000001000000000000000000000000000000000000000000
25 0 25 0000000000000000000000000100000000000000000000000000000000000000000
26 0 26 0000000000000000000000000010000000000000000000000000000000000000000
27 0 27 0000000000000000000000000001000000000000000000000000000000000000000
28 0 28 0000000000000000000000000000100000000000000000000000000000000000000
29 0 29 0000000000000000000000000000010000000000000000000000000000000000000
30 0 30 0000000000000000000000000000001000000000000000000000000000000000000
31 0 31 0000000000000000000000000000000100000000000000000000000000000000000
32 0 32 0000000000000000000000000000000010000000000000000000000000000000000
33 0 33 0000000000000000000000000000000001000000000000000000000000000000000
34 0 34 0000000000000000000000000000000000100000000000000000000000000000000
35 0 35 0000000000000000000000000000000000010000000000000000000000000000000
36 0 36 0000000000000000000000000000000000001000000000000000000000000000000
37 0 37 0000000000000000000000000000000000000100000000000000000000000000000
38 0 38 0000000000000000000000000000000000000010000000000000000000000000000
39 0 39 0000000000000000000000000000000000000001000000000000000000000000000
40 0 40 0000000000000000000000000000000000000000100000000000000000000000000
41 0 41 0000000000000000000000000000000000000000010000000000000000000000000
42 0 42 0000000000000000000000000000000000000000001000000000000000000000000
43 0 43 0000000000000000000000000000000000000000000100000000000000000000000
44 0 44 0000000000000000000000000000000000000000000010000000000000000000000
45 0 45 0000000000000000000000000000000000000000000001000000000000000000000
46 0 46 0000000000000000000000000000000000000000000000100000000000000000000
47 0 47 0000000000000000000000000000000000000000000000010000000000000000000
48 0 48 0000000000000000000000000000000000000000000000001000000000000000000
49 0 49 0000000000000000000000000000000000000000000000000100000000000000000
50 0 50 0000000000000000000000000000000000000000000000000010000000000000000
51 0 51 0000000000000000000000000000000000000000000000000001000000000000000
52 0 52 0000000000000000000000000000000000000000000000000000100000000000000
53 0 53 0000000000000000000000000000000000000000000000000000010000000000000
54 0 54 0000000000000000000000000000000000000000000000000000001000000000000
55 0 55 0000000000000000000000000000000000000000000000000000000100000000000
56 0 56 0000000000000000000000000000000000000000000000000000000010000000000
57 0 57 0000000000000000000000000000000000000000000000000000000001000000000
58 0 58 0000000000000000000000000000000000000000000000000000000000100000000
59 0 59 0000000000000000000000000000000000000000000000000000000000010000000
60 0 60 0000000000000000000000000000000000000000000000000000000000001000000
61 0 61 0000000000000000000000000000000000000000000000000000000000000100000
62 0 62 0000000000000000000000000000000000000000000000000000000000000010000
63 0 63 0000000000000000000000000000000000000000000000000000000000000001000
64 0 64 0000000000000000000000000000000000000000000000000000000000000000100
65 0 65 0000000000000000000000000000000000000000000000000000000000000000010
66 0 66 0000000000000000000000000000000000000000000000000000000000000000001