Home | History | Annotate | Line # | Download | only in include
      1 Testing with TEST_LENGTH = 67
      2 
      3 test _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 
     73 test bit_alloc, clearbits, bit_ffc, bit_ffs
     74 be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
     75 is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
     76 
     77 test bit_set
     78 be:   1   0 1001001001001001001001001001001001001001001001001001001001001001001
     79 is:   1   0 1001001001001001001001001001001001001001001001001001001001001001001
     80 
     81 test bit_clear
     82 be:   0   3 0001000001000001000001000001000001000001000001000001000001000001000
     83 is:   0   3 0001000001000001000001000001000001000001000001000001000001000001000
     84 
     85 test 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 
    155 test clearbits
    156 be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
    157 is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
    158 
    159 test bit_nset and bit_nclear
    160 be:   0   1 0111111111111111111111111111111111111111111111111111111111111111110
    161 is:   0   1 0111111111111111111111111111111111111111111111111111111111111111110
    162 be:   0   1 0100000000000000000000000000000000000000000000000000000000000000010
    163 is:   0   1 0100000000000000000000000000000000000000000000000000000000000000010
    164 be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
    165 is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
    166 be:  66   0 1111111111111111111111111111111111111111111111111111111111111111110
    167 is:  66   0 1111111111111111111111111111111111111111111111111111111111111111110
    168 be:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
    169 is:   0  -1 0000000000000000000000000000000000000000000000000000000000000000000
    170 
    171 first 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 
    240 first 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 
    309 first 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 
    378 first 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 
    447 0 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 
    516 1 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