1272343SngieTesting with TEST_LENGTH = 67 2272343Sngie 3272343Sngietest _bit_byte, _bit_mask, and bitstr_size 4272343Sngie i _bit_byte(i) _bit_mask(i) bitstr_size(i) 5272343Sngie 0 0 1 0 6272343Sngie 1 0 2 1 7272343Sngie 2 0 4 1 8272343Sngie 3 0 8 1 9272343Sngie 4 0 16 1 10272343Sngie 5 0 32 1 11272343Sngie 6 0 64 1 12272343Sngie 7 0 128 1 13272343Sngie 8 1 1 1 14272343Sngie 9 1 2 2 15272343Sngie 10 1 4 2 16272343Sngie 11 1 8 2 17272343Sngie 12 1 16 2 18272343Sngie 13 1 32 2 19272343Sngie 14 1 64 2 20272343Sngie 15 1 128 2 21272343Sngie 16 2 1 2 22272343Sngie 17 2 2 3 23272343Sngie 18 2 4 3 24272343Sngie 19 2 8 3 25272343Sngie 20 2 16 3 26272343Sngie 21 2 32 3 27272343Sngie 22 2 64 3 28272343Sngie 23 2 128 3 29272343Sngie 24 3 1 3 30272343Sngie 25 3 2 4 31272343Sngie 26 3 4 4 32272343Sngie 27 3 8 4 33272343Sngie 28 3 16 4 34272343Sngie 29 3 32 4 35272343Sngie 30 3 64 4 36272343Sngie 31 3 128 4 37272343Sngie 32 4 1 4 38272343Sngie 33 4 2 5 39272343Sngie 34 4 4 5 40272343Sngie 35 4 8 5 41272343Sngie 36 4 16 5 42272343Sngie 37 4 32 5 43272343Sngie 38 4 64 5 44272343Sngie 39 4 128 5 45272343Sngie 40 5 1 5 46272343Sngie 41 5 2 6 47272343Sngie 42 5 4 6 48272343Sngie 43 5 8 6 49272343Sngie 44 5 16 6 50272343Sngie 45 5 32 6 51272343Sngie 46 5 64 6 52272343Sngie 47 5 128 6 53272343Sngie 48 6 1 6 54272343Sngie 49 6 2 7 55272343Sngie 50 6 4 7 56272343Sngie 51 6 8 7 57272343Sngie 52 6 16 7 58272343Sngie 53 6 32 7 59272343Sngie 54 6 64 7 60272343Sngie 55 6 128 7 61272343Sngie 56 7 1 7 62272343Sngie 57 7 2 8 63272343Sngie 58 7 4 8 64272343Sngie 59 7 8 8 65272343Sngie 60 7 16 8 66272343Sngie 61 7 32 8 67272343Sngie 62 7 64 8 68272343Sngie 63 7 128 8 69272343Sngie 64 8 1 8 70272343Sngie 65 8 2 9 71272343Sngie 66 8 4 9 72272343Sngie 73272343Sngietest bit_alloc, clearbits, bit_ffc, bit_ffs 74272343Sngiebe: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 75272343Sngieis: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 76272343Sngie 77272343Sngietest bit_set 78272343Sngiebe: 1 0 1001001001001001001001001001001001001001001001001001001001001001001 79272343Sngieis: 1 0 1001001001001001001001001001001001001001001001001001001001001001001 80272343Sngie 81272343Sngietest bit_clear 82272343Sngiebe: 0 3 0001000001000001000001000001000001000001000001000001000001000001000 83272343Sngieis: 0 3 0001000001000001000001000001000001000001000001000001000001000001000 84272343Sngie 85272343Sngietest bit_test using previous bitstring 86272343Sngie i bit_test(i) 87272343Sngie 0 0 88272343Sngie 1 0 89272343Sngie 2 0 90272343Sngie 3 8 91272343Sngie 4 0 92272343Sngie 5 0 93272343Sngie 6 0 94272343Sngie 7 0 95272343Sngie 8 0 96272343Sngie 9 2 97272343Sngie 10 0 98272343Sngie 11 0 99272343Sngie 12 0 100272343Sngie 13 0 101272343Sngie 14 0 102272343Sngie 15 128 103272343Sngie 16 0 104272343Sngie 17 0 105272343Sngie 18 0 106272343Sngie 19 0 107272343Sngie 20 0 108272343Sngie 21 32 109272343Sngie 22 0 110272343Sngie 23 0 111272343Sngie 24 0 112272343Sngie 25 0 113272343Sngie 26 0 114272343Sngie 27 8 115272343Sngie 28 0 116272343Sngie 29 0 117272343Sngie 30 0 118272343Sngie 31 0 119272343Sngie 32 0 120272343Sngie 33 2 121272343Sngie 34 0 122272343Sngie 35 0 123272343Sngie 36 0 124272343Sngie 37 0 125272343Sngie 38 0 126272343Sngie 39 128 127272343Sngie 40 0 128272343Sngie 41 0 129272343Sngie 42 0 130272343Sngie 43 0 131272343Sngie 44 0 132272343Sngie 45 32 133272343Sngie 46 0 134272343Sngie 47 0 135272343Sngie 48 0 136272343Sngie 49 0 137272343Sngie 50 0 138272343Sngie 51 8 139272343Sngie 52 0 140272343Sngie 53 0 141272343Sngie 54 0 142272343Sngie 55 0 143272343Sngie 56 0 144272343Sngie 57 2 145272343Sngie 58 0 146272343Sngie 59 0 147272343Sngie 60 0 148272343Sngie 61 0 149272343Sngie 62 0 150272343Sngie 63 128 151272343Sngie 64 0 152272343Sngie 65 0 153272343Sngie 66 0 154272343Sngie 155272343Sngietest clearbits 156272343Sngiebe: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 157272343Sngieis: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 158272343Sngie 159272343Sngietest bit_nset and bit_nclear 160272343Sngiebe: 0 1 0111111111111111111111111111111111111111111111111111111111111111110 161272343Sngieis: 0 1 0111111111111111111111111111111111111111111111111111111111111111110 162272343Sngiebe: 0 1 0100000000000000000000000000000000000000000000000000000000000000010 163272343Sngieis: 0 1 0100000000000000000000000000000000000000000000000000000000000000010 164272343Sngiebe: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 165272343Sngieis: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 166272343Sngiebe: 66 0 1111111111111111111111111111111111111111111111111111111111111111110 167272343Sngieis: 66 0 1111111111111111111111111111111111111111111111111111111111111111110 168272343Sngiebe: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 169272343Sngieis: 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 170272343Sngie 171272343Sngiefirst 1 bit should move right 1 position each line 172272343Sngie 0 -1 0 1111111111111111111111111111111111111111111111111111111111111111111 173272343Sngie 1 0 1 0111111111111111111111111111111111111111111111111111111111111111111 174272343Sngie 2 0 2 0011111111111111111111111111111111111111111111111111111111111111111 175272343Sngie 3 0 3 0001111111111111111111111111111111111111111111111111111111111111111 176272343Sngie 4 0 4 0000111111111111111111111111111111111111111111111111111111111111111 177272343Sngie 5 0 5 0000011111111111111111111111111111111111111111111111111111111111111 178272343Sngie 6 0 6 0000001111111111111111111111111111111111111111111111111111111111111 179272343Sngie 7 0 7 0000000111111111111111111111111111111111111111111111111111111111111 180272343Sngie 8 0 8 0000000011111111111111111111111111111111111111111111111111111111111 181272343Sngie 9 0 9 0000000001111111111111111111111111111111111111111111111111111111111 182272343Sngie 10 0 10 0000000000111111111111111111111111111111111111111111111111111111111 183272343Sngie 11 0 11 0000000000011111111111111111111111111111111111111111111111111111111 184272343Sngie 12 0 12 0000000000001111111111111111111111111111111111111111111111111111111 185272343Sngie 13 0 13 0000000000000111111111111111111111111111111111111111111111111111111 186272343Sngie 14 0 14 0000000000000011111111111111111111111111111111111111111111111111111 187272343Sngie 15 0 15 0000000000000001111111111111111111111111111111111111111111111111111 188272343Sngie 16 0 16 0000000000000000111111111111111111111111111111111111111111111111111 189272343Sngie 17 0 17 0000000000000000011111111111111111111111111111111111111111111111111 190272343Sngie 18 0 18 0000000000000000001111111111111111111111111111111111111111111111111 191272343Sngie 19 0 19 0000000000000000000111111111111111111111111111111111111111111111111 192272343Sngie 20 0 20 0000000000000000000011111111111111111111111111111111111111111111111 193272343Sngie 21 0 21 0000000000000000000001111111111111111111111111111111111111111111111 194272343Sngie 22 0 22 0000000000000000000000111111111111111111111111111111111111111111111 195272343Sngie 23 0 23 0000000000000000000000011111111111111111111111111111111111111111111 196272343Sngie 24 0 24 0000000000000000000000001111111111111111111111111111111111111111111 197272343Sngie 25 0 25 0000000000000000000000000111111111111111111111111111111111111111111 198272343Sngie 26 0 26 0000000000000000000000000011111111111111111111111111111111111111111 199272343Sngie 27 0 27 0000000000000000000000000001111111111111111111111111111111111111111 200272343Sngie 28 0 28 0000000000000000000000000000111111111111111111111111111111111111111 201272343Sngie 29 0 29 0000000000000000000000000000011111111111111111111111111111111111111 202272343Sngie 30 0 30 0000000000000000000000000000001111111111111111111111111111111111111 203272343Sngie 31 0 31 0000000000000000000000000000000111111111111111111111111111111111111 204272343Sngie 32 0 32 0000000000000000000000000000000011111111111111111111111111111111111 205272343Sngie 33 0 33 0000000000000000000000000000000001111111111111111111111111111111111 206272343Sngie 34 0 34 0000000000000000000000000000000000111111111111111111111111111111111 207272343Sngie 35 0 35 0000000000000000000000000000000000011111111111111111111111111111111 208272343Sngie 36 0 36 0000000000000000000000000000000000001111111111111111111111111111111 209272343Sngie 37 0 37 0000000000000000000000000000000000000111111111111111111111111111111 210272343Sngie 38 0 38 0000000000000000000000000000000000000011111111111111111111111111111 211272343Sngie 39 0 39 0000000000000000000000000000000000000001111111111111111111111111111 212272343Sngie 40 0 40 0000000000000000000000000000000000000000111111111111111111111111111 213272343Sngie 41 0 41 0000000000000000000000000000000000000000011111111111111111111111111 214272343Sngie 42 0 42 0000000000000000000000000000000000000000001111111111111111111111111 215272343Sngie 43 0 43 0000000000000000000000000000000000000000000111111111111111111111111 216272343Sngie 44 0 44 0000000000000000000000000000000000000000000011111111111111111111111 217272343Sngie 45 0 45 0000000000000000000000000000000000000000000001111111111111111111111 218272343Sngie 46 0 46 0000000000000000000000000000000000000000000000111111111111111111111 219272343Sngie 47 0 47 0000000000000000000000000000000000000000000000011111111111111111111 220272343Sngie 48 0 48 0000000000000000000000000000000000000000000000001111111111111111111 221272343Sngie 49 0 49 0000000000000000000000000000000000000000000000000111111111111111111 222272343Sngie 50 0 50 0000000000000000000000000000000000000000000000000011111111111111111 223272343Sngie 51 0 51 0000000000000000000000000000000000000000000000000001111111111111111 224272343Sngie 52 0 52 0000000000000000000000000000000000000000000000000000111111111111111 225272343Sngie 53 0 53 0000000000000000000000000000000000000000000000000000011111111111111 226272343Sngie 54 0 54 0000000000000000000000000000000000000000000000000000001111111111111 227272343Sngie 55 0 55 0000000000000000000000000000000000000000000000000000000111111111111 228272343Sngie 56 0 56 0000000000000000000000000000000000000000000000000000000011111111111 229272343Sngie 57 0 57 0000000000000000000000000000000000000000000000000000000001111111111 230272343Sngie 58 0 58 0000000000000000000000000000000000000000000000000000000000111111111 231272343Sngie 59 0 59 0000000000000000000000000000000000000000000000000000000000011111111 232272343Sngie 60 0 60 0000000000000000000000000000000000000000000000000000000000001111111 233272343Sngie 61 0 61 0000000000000000000000000000000000000000000000000000000000000111111 234272343Sngie 62 0 62 0000000000000000000000000000000000000000000000000000000000000011111 235272343Sngie 63 0 63 0000000000000000000000000000000000000000000000000000000000000001111 236272343Sngie 64 0 64 0000000000000000000000000000000000000000000000000000000000000000111 237272343Sngie 65 0 65 0000000000000000000000000000000000000000000000000000000000000000011 238272343Sngie 66 0 66 0000000000000000000000000000000000000000000000000000000000000000001 239272343Sngie 240272343Sngiefirst 0 bit should move right 1 position each line 241272343Sngie 0 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 242272343Sngie 1 1 0 1000000000000000000000000000000000000000000000000000000000000000000 243272343Sngie 2 2 0 1100000000000000000000000000000000000000000000000000000000000000000 244272343Sngie 3 3 0 1110000000000000000000000000000000000000000000000000000000000000000 245272343Sngie 4 4 0 1111000000000000000000000000000000000000000000000000000000000000000 246272343Sngie 5 5 0 1111100000000000000000000000000000000000000000000000000000000000000 247272343Sngie 6 6 0 1111110000000000000000000000000000000000000000000000000000000000000 248272343Sngie 7 7 0 1111111000000000000000000000000000000000000000000000000000000000000 249272343Sngie 8 8 0 1111111100000000000000000000000000000000000000000000000000000000000 250272343Sngie 9 9 0 1111111110000000000000000000000000000000000000000000000000000000000 251272343Sngie 10 10 0 1111111111000000000000000000000000000000000000000000000000000000000 252272343Sngie 11 11 0 1111111111100000000000000000000000000000000000000000000000000000000 253272343Sngie 12 12 0 1111111111110000000000000000000000000000000000000000000000000000000 254272343Sngie 13 13 0 1111111111111000000000000000000000000000000000000000000000000000000 255272343Sngie 14 14 0 1111111111111100000000000000000000000000000000000000000000000000000 256272343Sngie 15 15 0 1111111111111110000000000000000000000000000000000000000000000000000 257272343Sngie 16 16 0 1111111111111111000000000000000000000000000000000000000000000000000 258272343Sngie 17 17 0 1111111111111111100000000000000000000000000000000000000000000000000 259272343Sngie 18 18 0 1111111111111111110000000000000000000000000000000000000000000000000 260272343Sngie 19 19 0 1111111111111111111000000000000000000000000000000000000000000000000 261272343Sngie 20 20 0 1111111111111111111100000000000000000000000000000000000000000000000 262272343Sngie 21 21 0 1111111111111111111110000000000000000000000000000000000000000000000 263272343Sngie 22 22 0 1111111111111111111111000000000000000000000000000000000000000000000 264272343Sngie 23 23 0 1111111111111111111111100000000000000000000000000000000000000000000 265272343Sngie 24 24 0 1111111111111111111111110000000000000000000000000000000000000000000 266272343Sngie 25 25 0 1111111111111111111111111000000000000000000000000000000000000000000 267272343Sngie 26 26 0 1111111111111111111111111100000000000000000000000000000000000000000 268272343Sngie 27 27 0 1111111111111111111111111110000000000000000000000000000000000000000 269272343Sngie 28 28 0 1111111111111111111111111111000000000000000000000000000000000000000 270272343Sngie 29 29 0 1111111111111111111111111111100000000000000000000000000000000000000 271272343Sngie 30 30 0 1111111111111111111111111111110000000000000000000000000000000000000 272272343Sngie 31 31 0 1111111111111111111111111111111000000000000000000000000000000000000 273272343Sngie 32 32 0 1111111111111111111111111111111100000000000000000000000000000000000 274272343Sngie 33 33 0 1111111111111111111111111111111110000000000000000000000000000000000 275272343Sngie 34 34 0 1111111111111111111111111111111111000000000000000000000000000000000 276272343Sngie 35 35 0 1111111111111111111111111111111111100000000000000000000000000000000 277272343Sngie 36 36 0 1111111111111111111111111111111111110000000000000000000000000000000 278272343Sngie 37 37 0 1111111111111111111111111111111111111000000000000000000000000000000 279272343Sngie 38 38 0 1111111111111111111111111111111111111100000000000000000000000000000 280272343Sngie 39 39 0 1111111111111111111111111111111111111110000000000000000000000000000 281272343Sngie 40 40 0 1111111111111111111111111111111111111111000000000000000000000000000 282272343Sngie 41 41 0 1111111111111111111111111111111111111111100000000000000000000000000 283272343Sngie 42 42 0 1111111111111111111111111111111111111111110000000000000000000000000 284272343Sngie 43 43 0 1111111111111111111111111111111111111111111000000000000000000000000 285272343Sngie 44 44 0 1111111111111111111111111111111111111111111100000000000000000000000 286272343Sngie 45 45 0 1111111111111111111111111111111111111111111110000000000000000000000 287272343Sngie 46 46 0 1111111111111111111111111111111111111111111111000000000000000000000 288272343Sngie 47 47 0 1111111111111111111111111111111111111111111111100000000000000000000 289272343Sngie 48 48 0 1111111111111111111111111111111111111111111111110000000000000000000 290272343Sngie 49 49 0 1111111111111111111111111111111111111111111111111000000000000000000 291272343Sngie 50 50 0 1111111111111111111111111111111111111111111111111100000000000000000 292272343Sngie 51 51 0 1111111111111111111111111111111111111111111111111110000000000000000 293272343Sngie 52 52 0 1111111111111111111111111111111111111111111111111111000000000000000 294272343Sngie 53 53 0 1111111111111111111111111111111111111111111111111111100000000000000 295272343Sngie 54 54 0 1111111111111111111111111111111111111111111111111111110000000000000 296272343Sngie 55 55 0 1111111111111111111111111111111111111111111111111111111000000000000 297272343Sngie 56 56 0 1111111111111111111111111111111111111111111111111111111100000000000 298272343Sngie 57 57 0 1111111111111111111111111111111111111111111111111111111110000000000 299272343Sngie 58 58 0 1111111111111111111111111111111111111111111111111111111111000000000 300272343Sngie 59 59 0 1111111111111111111111111111111111111111111111111111111111100000000 301272343Sngie 60 60 0 1111111111111111111111111111111111111111111111111111111111110000000 302272343Sngie 61 61 0 1111111111111111111111111111111111111111111111111111111111111000000 303272343Sngie 62 62 0 1111111111111111111111111111111111111111111111111111111111111100000 304272343Sngie 63 63 0 1111111111111111111111111111111111111111111111111111111111111110000 305272343Sngie 64 64 0 1111111111111111111111111111111111111111111111111111111111111111000 306272343Sngie 65 65 0 1111111111111111111111111111111111111111111111111111111111111111100 307272343Sngie 66 66 0 1111111111111111111111111111111111111111111111111111111111111111110 308272343Sngie 309272343Sngiefirst 0 bit should move left 1 position each line 310272343Sngie 0 -1 0 1111111111111111111111111111111111111111111111111111111111111111111 311272343Sngie 1 66 0 1111111111111111111111111111111111111111111111111111111111111111110 312272343Sngie 2 65 0 1111111111111111111111111111111111111111111111111111111111111111100 313272343Sngie 3 64 0 1111111111111111111111111111111111111111111111111111111111111111000 314272343Sngie 4 63 0 1111111111111111111111111111111111111111111111111111111111111110000 315272343Sngie 5 62 0 1111111111111111111111111111111111111111111111111111111111111100000 316272343Sngie 6 61 0 1111111111111111111111111111111111111111111111111111111111111000000 317272343Sngie 7 60 0 1111111111111111111111111111111111111111111111111111111111110000000 318272343Sngie 8 59 0 1111111111111111111111111111111111111111111111111111111111100000000 319272343Sngie 9 58 0 1111111111111111111111111111111111111111111111111111111111000000000 320272343Sngie 10 57 0 1111111111111111111111111111111111111111111111111111111110000000000 321272343Sngie 11 56 0 1111111111111111111111111111111111111111111111111111111100000000000 322272343Sngie 12 55 0 1111111111111111111111111111111111111111111111111111111000000000000 323272343Sngie 13 54 0 1111111111111111111111111111111111111111111111111111110000000000000 324272343Sngie 14 53 0 1111111111111111111111111111111111111111111111111111100000000000000 325272343Sngie 15 52 0 1111111111111111111111111111111111111111111111111111000000000000000 326272343Sngie 16 51 0 1111111111111111111111111111111111111111111111111110000000000000000 327272343Sngie 17 50 0 1111111111111111111111111111111111111111111111111100000000000000000 328272343Sngie 18 49 0 1111111111111111111111111111111111111111111111111000000000000000000 329272343Sngie 19 48 0 1111111111111111111111111111111111111111111111110000000000000000000 330272343Sngie 20 47 0 1111111111111111111111111111111111111111111111100000000000000000000 331272343Sngie 21 46 0 1111111111111111111111111111111111111111111111000000000000000000000 332272343Sngie 22 45 0 1111111111111111111111111111111111111111111110000000000000000000000 333272343Sngie 23 44 0 1111111111111111111111111111111111111111111100000000000000000000000 334272343Sngie 24 43 0 1111111111111111111111111111111111111111111000000000000000000000000 335272343Sngie 25 42 0 1111111111111111111111111111111111111111110000000000000000000000000 336272343Sngie 26 41 0 1111111111111111111111111111111111111111100000000000000000000000000 337272343Sngie 27 40 0 1111111111111111111111111111111111111111000000000000000000000000000 338272343Sngie 28 39 0 1111111111111111111111111111111111111110000000000000000000000000000 339272343Sngie 29 38 0 1111111111111111111111111111111111111100000000000000000000000000000 340272343Sngie 30 37 0 1111111111111111111111111111111111111000000000000000000000000000000 341272343Sngie 31 36 0 1111111111111111111111111111111111110000000000000000000000000000000 342272343Sngie 32 35 0 1111111111111111111111111111111111100000000000000000000000000000000 343272343Sngie 33 34 0 1111111111111111111111111111111111000000000000000000000000000000000 344272343Sngie 34 33 0 1111111111111111111111111111111110000000000000000000000000000000000 345272343Sngie 35 32 0 1111111111111111111111111111111100000000000000000000000000000000000 346272343Sngie 36 31 0 1111111111111111111111111111111000000000000000000000000000000000000 347272343Sngie 37 30 0 1111111111111111111111111111110000000000000000000000000000000000000 348272343Sngie 38 29 0 1111111111111111111111111111100000000000000000000000000000000000000 349272343Sngie 39 28 0 1111111111111111111111111111000000000000000000000000000000000000000 350272343Sngie 40 27 0 1111111111111111111111111110000000000000000000000000000000000000000 351272343Sngie 41 26 0 1111111111111111111111111100000000000000000000000000000000000000000 352272343Sngie 42 25 0 1111111111111111111111111000000000000000000000000000000000000000000 353272343Sngie 43 24 0 1111111111111111111111110000000000000000000000000000000000000000000 354272343Sngie 44 23 0 1111111111111111111111100000000000000000000000000000000000000000000 355272343Sngie 45 22 0 1111111111111111111111000000000000000000000000000000000000000000000 356272343Sngie 46 21 0 1111111111111111111110000000000000000000000000000000000000000000000 357272343Sngie 47 20 0 1111111111111111111100000000000000000000000000000000000000000000000 358272343Sngie 48 19 0 1111111111111111111000000000000000000000000000000000000000000000000 359272343Sngie 49 18 0 1111111111111111110000000000000000000000000000000000000000000000000 360272343Sngie 50 17 0 1111111111111111100000000000000000000000000000000000000000000000000 361272343Sngie 51 16 0 1111111111111111000000000000000000000000000000000000000000000000000 362272343Sngie 52 15 0 1111111111111110000000000000000000000000000000000000000000000000000 363272343Sngie 53 14 0 1111111111111100000000000000000000000000000000000000000000000000000 364272343Sngie 54 13 0 1111111111111000000000000000000000000000000000000000000000000000000 365272343Sngie 55 12 0 1111111111110000000000000000000000000000000000000000000000000000000 366272343Sngie 56 11 0 1111111111100000000000000000000000000000000000000000000000000000000 367272343Sngie 57 10 0 1111111111000000000000000000000000000000000000000000000000000000000 368272343Sngie 58 9 0 1111111110000000000000000000000000000000000000000000000000000000000 369272343Sngie 59 8 0 1111111100000000000000000000000000000000000000000000000000000000000 370272343Sngie 60 7 0 1111111000000000000000000000000000000000000000000000000000000000000 371272343Sngie 61 6 0 1111110000000000000000000000000000000000000000000000000000000000000 372272343Sngie 62 5 0 1111100000000000000000000000000000000000000000000000000000000000000 373272343Sngie 63 4 0 1111000000000000000000000000000000000000000000000000000000000000000 374272343Sngie 64 3 0 1110000000000000000000000000000000000000000000000000000000000000000 375272343Sngie 65 2 0 1100000000000000000000000000000000000000000000000000000000000000000 376272343Sngie 66 1 0 1000000000000000000000000000000000000000000000000000000000000000000 377272343Sngie 378272343Sngiefirst 1 bit should move left 1 position each line 379272343Sngie 0 0 -1 0000000000000000000000000000000000000000000000000000000000000000000 380272343Sngie 1 0 66 0000000000000000000000000000000000000000000000000000000000000000001 381272343Sngie 2 0 65 0000000000000000000000000000000000000000000000000000000000000000011 382272343Sngie 3 0 64 0000000000000000000000000000000000000000000000000000000000000000111 383272343Sngie 4 0 63 0000000000000000000000000000000000000000000000000000000000000001111 384272343Sngie 5 0 62 0000000000000000000000000000000000000000000000000000000000000011111 385272343Sngie 6 0 61 0000000000000000000000000000000000000000000000000000000000000111111 386272343Sngie 7 0 60 0000000000000000000000000000000000000000000000000000000000001111111 387272343Sngie 8 0 59 0000000000000000000000000000000000000000000000000000000000011111111 388272343Sngie 9 0 58 0000000000000000000000000000000000000000000000000000000000111111111 389272343Sngie 10 0 57 0000000000000000000000000000000000000000000000000000000001111111111 390272343Sngie 11 0 56 0000000000000000000000000000000000000000000000000000000011111111111 391272343Sngie 12 0 55 0000000000000000000000000000000000000000000000000000000111111111111 392272343Sngie 13 0 54 0000000000000000000000000000000000000000000000000000001111111111111 393272343Sngie 14 0 53 0000000000000000000000000000000000000000000000000000011111111111111 394272343Sngie 15 0 52 0000000000000000000000000000000000000000000000000000111111111111111 395272343Sngie 16 0 51 0000000000000000000000000000000000000000000000000001111111111111111 396272343Sngie 17 0 50 0000000000000000000000000000000000000000000000000011111111111111111 397272343Sngie 18 0 49 0000000000000000000000000000000000000000000000000111111111111111111 398272343Sngie 19 0 48 0000000000000000000000000000000000000000000000001111111111111111111 399272343Sngie 20 0 47 0000000000000000000000000000000000000000000000011111111111111111111 400272343Sngie 21 0 46 0000000000000000000000000000000000000000000000111111111111111111111 401272343Sngie 22 0 45 0000000000000000000000000000000000000000000001111111111111111111111 402272343Sngie 23 0 44 0000000000000000000000000000000000000000000011111111111111111111111 403272343Sngie 24 0 43 0000000000000000000000000000000000000000000111111111111111111111111 404272343Sngie 25 0 42 0000000000000000000000000000000000000000001111111111111111111111111 405272343Sngie 26 0 41 0000000000000000000000000000000000000000011111111111111111111111111 406272343Sngie 27 0 40 0000000000000000000000000000000000000000111111111111111111111111111 407272343Sngie 28 0 39 0000000000000000000000000000000000000001111111111111111111111111111 408272343Sngie 29 0 38 0000000000000000000000000000000000000011111111111111111111111111111 409272343Sngie 30 0 37 0000000000000000000000000000000000000111111111111111111111111111111 410272343Sngie 31 0 36 0000000000000000000000000000000000001111111111111111111111111111111 411272343Sngie 32 0 35 0000000000000000000000000000000000011111111111111111111111111111111 412272343Sngie 33 0 34 0000000000000000000000000000000000111111111111111111111111111111111 413272343Sngie 34 0 33 0000000000000000000000000000000001111111111111111111111111111111111 414272343Sngie 35 0 32 0000000000000000000000000000000011111111111111111111111111111111111 415272343Sngie 36 0 31 0000000000000000000000000000000111111111111111111111111111111111111 416272343Sngie 37 0 30 0000000000000000000000000000001111111111111111111111111111111111111 417272343Sngie 38 0 29 0000000000000000000000000000011111111111111111111111111111111111111 418272343Sngie 39 0 28 0000000000000000000000000000111111111111111111111111111111111111111 419272343Sngie 40 0 27 0000000000000000000000000001111111111111111111111111111111111111111 420272343Sngie 41 0 26 0000000000000000000000000011111111111111111111111111111111111111111 421272343Sngie 42 0 25 0000000000000000000000000111111111111111111111111111111111111111111 422272343Sngie 43 0 24 0000000000000000000000001111111111111111111111111111111111111111111 423272343Sngie 44 0 23 0000000000000000000000011111111111111111111111111111111111111111111 424272343Sngie 45 0 22 0000000000000000000000111111111111111111111111111111111111111111111 425272343Sngie 46 0 21 0000000000000000000001111111111111111111111111111111111111111111111 426272343Sngie 47 0 20 0000000000000000000011111111111111111111111111111111111111111111111 427272343Sngie 48 0 19 0000000000000000000111111111111111111111111111111111111111111111111 428272343Sngie 49 0 18 0000000000000000001111111111111111111111111111111111111111111111111 429272343Sngie 50 0 17 0000000000000000011111111111111111111111111111111111111111111111111 430272343Sngie 51 0 16 0000000000000000111111111111111111111111111111111111111111111111111 431272343Sngie 52 0 15 0000000000000001111111111111111111111111111111111111111111111111111 432272343Sngie 53 0 14 0000000000000011111111111111111111111111111111111111111111111111111 433272343Sngie 54 0 13 0000000000000111111111111111111111111111111111111111111111111111111 434272343Sngie 55 0 12 0000000000001111111111111111111111111111111111111111111111111111111 435272343Sngie 56 0 11 0000000000011111111111111111111111111111111111111111111111111111111 436272343Sngie 57 0 10 0000000000111111111111111111111111111111111111111111111111111111111 437272343Sngie 58 0 9 0000000001111111111111111111111111111111111111111111111111111111111 438272343Sngie 59 0 8 0000000011111111111111111111111111111111111111111111111111111111111 439272343Sngie 60 0 7 0000000111111111111111111111111111111111111111111111111111111111111 440272343Sngie 61 0 6 0000001111111111111111111111111111111111111111111111111111111111111 441272343Sngie 62 0 5 0000011111111111111111111111111111111111111111111111111111111111111 442272343Sngie 63 0 4 0000111111111111111111111111111111111111111111111111111111111111111 443272343Sngie 64 0 3 0001111111111111111111111111111111111111111111111111111111111111111 444272343Sngie 65 0 2 0011111111111111111111111111111111111111111111111111111111111111111 445272343Sngie 66 0 1 0111111111111111111111111111111111111111111111111111111111111111111 446272343Sngie 447272343Sngie0 bit should move right 1 position each line 448272343Sngie 0 0 1 0111111111111111111111111111111111111111111111111111111111111111111 449272343Sngie 1 1 0 1011111111111111111111111111111111111111111111111111111111111111111 450272343Sngie 2 2 0 1101111111111111111111111111111111111111111111111111111111111111111 451272343Sngie 3 3 0 1110111111111111111111111111111111111111111111111111111111111111111 452272343Sngie 4 4 0 1111011111111111111111111111111111111111111111111111111111111111111 453272343Sngie 5 5 0 1111101111111111111111111111111111111111111111111111111111111111111 454272343Sngie 6 6 0 1111110111111111111111111111111111111111111111111111111111111111111 455272343Sngie 7 7 0 1111111011111111111111111111111111111111111111111111111111111111111 456272343Sngie 8 8 0 1111111101111111111111111111111111111111111111111111111111111111111 457272343Sngie 9 9 0 1111111110111111111111111111111111111111111111111111111111111111111 458272343Sngie 10 10 0 1111111111011111111111111111111111111111111111111111111111111111111 459272343Sngie 11 11 0 1111111111101111111111111111111111111111111111111111111111111111111 460272343Sngie 12 12 0 1111111111110111111111111111111111111111111111111111111111111111111 461272343Sngie 13 13 0 1111111111111011111111111111111111111111111111111111111111111111111 462272343Sngie 14 14 0 1111111111111101111111111111111111111111111111111111111111111111111 463272343Sngie 15 15 0 1111111111111110111111111111111111111111111111111111111111111111111 464272343Sngie 16 16 0 1111111111111111011111111111111111111111111111111111111111111111111 465272343Sngie 17 17 0 1111111111111111101111111111111111111111111111111111111111111111111 466272343Sngie 18 18 0 1111111111111111110111111111111111111111111111111111111111111111111 467272343Sngie 19 19 0 1111111111111111111011111111111111111111111111111111111111111111111 468272343Sngie 20 20 0 1111111111111111111101111111111111111111111111111111111111111111111 469272343Sngie 21 21 0 1111111111111111111110111111111111111111111111111111111111111111111 470272343Sngie 22 22 0 1111111111111111111111011111111111111111111111111111111111111111111 471272343Sngie 23 23 0 1111111111111111111111101111111111111111111111111111111111111111111 472272343Sngie 24 24 0 1111111111111111111111110111111111111111111111111111111111111111111 473272343Sngie 25 25 0 1111111111111111111111111011111111111111111111111111111111111111111 474272343Sngie 26 26 0 1111111111111111111111111101111111111111111111111111111111111111111 475272343Sngie 27 27 0 1111111111111111111111111110111111111111111111111111111111111111111 476272343Sngie 28 28 0 1111111111111111111111111111011111111111111111111111111111111111111 477272343Sngie 29 29 0 1111111111111111111111111111101111111111111111111111111111111111111 478272343Sngie 30 30 0 1111111111111111111111111111110111111111111111111111111111111111111 479272343Sngie 31 31 0 1111111111111111111111111111111011111111111111111111111111111111111 480272343Sngie 32 32 0 1111111111111111111111111111111101111111111111111111111111111111111 481272343Sngie 33 33 0 1111111111111111111111111111111110111111111111111111111111111111111 482272343Sngie 34 34 0 1111111111111111111111111111111111011111111111111111111111111111111 483272343Sngie 35 35 0 1111111111111111111111111111111111101111111111111111111111111111111 484272343Sngie 36 36 0 1111111111111111111111111111111111110111111111111111111111111111111 485272343Sngie 37 37 0 1111111111111111111111111111111111111011111111111111111111111111111 486272343Sngie 38 38 0 1111111111111111111111111111111111111101111111111111111111111111111 487272343Sngie 39 39 0 1111111111111111111111111111111111111110111111111111111111111111111 488272343Sngie 40 40 0 1111111111111111111111111111111111111111011111111111111111111111111 489272343Sngie 41 41 0 1111111111111111111111111111111111111111101111111111111111111111111 490272343Sngie 42 42 0 1111111111111111111111111111111111111111110111111111111111111111111 491272343Sngie 43 43 0 1111111111111111111111111111111111111111111011111111111111111111111 492272343Sngie 44 44 0 1111111111111111111111111111111111111111111101111111111111111111111 493272343Sngie 45 45 0 1111111111111111111111111111111111111111111110111111111111111111111 494272343Sngie 46 46 0 1111111111111111111111111111111111111111111111011111111111111111111 495272343Sngie 47 47 0 1111111111111111111111111111111111111111111111101111111111111111111 496272343Sngie 48 48 0 1111111111111111111111111111111111111111111111110111111111111111111 497272343Sngie 49 49 0 1111111111111111111111111111111111111111111111111011111111111111111 498272343Sngie 50 50 0 1111111111111111111111111111111111111111111111111101111111111111111 499272343Sngie 51 51 0 1111111111111111111111111111111111111111111111111110111111111111111 500272343Sngie 52 52 0 1111111111111111111111111111111111111111111111111111011111111111111 501272343Sngie 53 53 0 1111111111111111111111111111111111111111111111111111101111111111111 502272343Sngie 54 54 0 1111111111111111111111111111111111111111111111111111110111111111111 503272343Sngie 55 55 0 1111111111111111111111111111111111111111111111111111111011111111111 504272343Sngie 56 56 0 1111111111111111111111111111111111111111111111111111111101111111111 505272343Sngie 57 57 0 1111111111111111111111111111111111111111111111111111111110111111111 506272343Sngie 58 58 0 1111111111111111111111111111111111111111111111111111111111011111111 507272343Sngie 59 59 0 1111111111111111111111111111111111111111111111111111111111101111111 508272343Sngie 60 60 0 1111111111111111111111111111111111111111111111111111111111110111111 509272343Sngie 61 61 0 1111111111111111111111111111111111111111111111111111111111111011111 510272343Sngie 62 62 0 1111111111111111111111111111111111111111111111111111111111111101111 511272343Sngie 63 63 0 1111111111111111111111111111111111111111111111111111111111111110111 512272343Sngie 64 64 0 1111111111111111111111111111111111111111111111111111111111111111011 513272343Sngie 65 65 0 1111111111111111111111111111111111111111111111111111111111111111101 514272343Sngie 66 66 0 1111111111111111111111111111111111111111111111111111111111111111110 515272343Sngie 516272343Sngie1 bit should move right 1 position each line 517272343Sngie 0 1 0 1000000000000000000000000000000000000000000000000000000000000000000 518272343Sngie 1 0 1 0100000000000000000000000000000000000000000000000000000000000000000 519272343Sngie 2 0 2 0010000000000000000000000000000000000000000000000000000000000000000 520272343Sngie 3 0 3 0001000000000000000000000000000000000000000000000000000000000000000 521272343Sngie 4 0 4 0000100000000000000000000000000000000000000000000000000000000000000 522272343Sngie 5 0 5 0000010000000000000000000000000000000000000000000000000000000000000 523272343Sngie 6 0 6 0000001000000000000000000000000000000000000000000000000000000000000 524272343Sngie 7 0 7 0000000100000000000000000000000000000000000000000000000000000000000 525272343Sngie 8 0 8 0000000010000000000000000000000000000000000000000000000000000000000 526272343Sngie 9 0 9 0000000001000000000000000000000000000000000000000000000000000000000 527272343Sngie 10 0 10 0000000000100000000000000000000000000000000000000000000000000000000 528272343Sngie 11 0 11 0000000000010000000000000000000000000000000000000000000000000000000 529272343Sngie 12 0 12 0000000000001000000000000000000000000000000000000000000000000000000 530272343Sngie 13 0 13 0000000000000100000000000000000000000000000000000000000000000000000 531272343Sngie 14 0 14 0000000000000010000000000000000000000000000000000000000000000000000 532272343Sngie 15 0 15 0000000000000001000000000000000000000000000000000000000000000000000 533272343Sngie 16 0 16 0000000000000000100000000000000000000000000000000000000000000000000 534272343Sngie 17 0 17 0000000000000000010000000000000000000000000000000000000000000000000 535272343Sngie 18 0 18 0000000000000000001000000000000000000000000000000000000000000000000 536272343Sngie 19 0 19 0000000000000000000100000000000000000000000000000000000000000000000 537272343Sngie 20 0 20 0000000000000000000010000000000000000000000000000000000000000000000 538272343Sngie 21 0 21 0000000000000000000001000000000000000000000000000000000000000000000 539272343Sngie 22 0 22 0000000000000000000000100000000000000000000000000000000000000000000 540272343Sngie 23 0 23 0000000000000000000000010000000000000000000000000000000000000000000 541272343Sngie 24 0 24 0000000000000000000000001000000000000000000000000000000000000000000 542272343Sngie 25 0 25 0000000000000000000000000100000000000000000000000000000000000000000 543272343Sngie 26 0 26 0000000000000000000000000010000000000000000000000000000000000000000 544272343Sngie 27 0 27 0000000000000000000000000001000000000000000000000000000000000000000 545272343Sngie 28 0 28 0000000000000000000000000000100000000000000000000000000000000000000 546272343Sngie 29 0 29 0000000000000000000000000000010000000000000000000000000000000000000 547272343Sngie 30 0 30 0000000000000000000000000000001000000000000000000000000000000000000 548272343Sngie 31 0 31 0000000000000000000000000000000100000000000000000000000000000000000 549272343Sngie 32 0 32 0000000000000000000000000000000010000000000000000000000000000000000 550272343Sngie 33 0 33 0000000000000000000000000000000001000000000000000000000000000000000 551272343Sngie 34 0 34 0000000000000000000000000000000000100000000000000000000000000000000 552272343Sngie 35 0 35 0000000000000000000000000000000000010000000000000000000000000000000 553272343Sngie 36 0 36 0000000000000000000000000000000000001000000000000000000000000000000 554272343Sngie 37 0 37 0000000000000000000000000000000000000100000000000000000000000000000 555272343Sngie 38 0 38 0000000000000000000000000000000000000010000000000000000000000000000 556272343Sngie 39 0 39 0000000000000000000000000000000000000001000000000000000000000000000 557272343Sngie 40 0 40 0000000000000000000000000000000000000000100000000000000000000000000 558272343Sngie 41 0 41 0000000000000000000000000000000000000000010000000000000000000000000 559272343Sngie 42 0 42 0000000000000000000000000000000000000000001000000000000000000000000 560272343Sngie 43 0 43 0000000000000000000000000000000000000000000100000000000000000000000 561272343Sngie 44 0 44 0000000000000000000000000000000000000000000010000000000000000000000 562272343Sngie 45 0 45 0000000000000000000000000000000000000000000001000000000000000000000 563272343Sngie 46 0 46 0000000000000000000000000000000000000000000000100000000000000000000 564272343Sngie 47 0 47 0000000000000000000000000000000000000000000000010000000000000000000 565272343Sngie 48 0 48 0000000000000000000000000000000000000000000000001000000000000000000 566272343Sngie 49 0 49 0000000000000000000000000000000000000000000000000100000000000000000 567272343Sngie 50 0 50 0000000000000000000000000000000000000000000000000010000000000000000 568272343Sngie 51 0 51 0000000000000000000000000000000000000000000000000001000000000000000 569272343Sngie 52 0 52 0000000000000000000000000000000000000000000000000000100000000000000 570272343Sngie 53 0 53 0000000000000000000000000000000000000000000000000000010000000000000 571272343Sngie 54 0 54 0000000000000000000000000000000000000000000000000000001000000000000 572272343Sngie 55 0 55 0000000000000000000000000000000000000000000000000000000100000000000 573272343Sngie 56 0 56 0000000000000000000000000000000000000000000000000000000010000000000 574272343Sngie 57 0 57 0000000000000000000000000000000000000000000000000000000001000000000 575272343Sngie 58 0 58 0000000000000000000000000000000000000000000000000000000000100000000 576272343Sngie 59 0 59 0000000000000000000000000000000000000000000000000000000000010000000 577272343Sngie 60 0 60 0000000000000000000000000000000000000000000000000000000000001000000 578272343Sngie 61 0 61 0000000000000000000000000000000000000000000000000000000000000100000 579272343Sngie 62 0 62 0000000000000000000000000000000000000000000000000000000000000010000 580272343Sngie 63 0 63 0000000000000000000000000000000000000000000000000000000000000001000 581272343Sngie 64 0 64 0000000000000000000000000000000000000000000000000000000000000000100 582272343Sngie 65 0 65 0000000000000000000000000000000000000000000000000000000000000000010 583272343Sngie 66 0 66 0000000000000000000000000000000000000000000000000000000000000000001 584