aoc-2021-rust

Advent of Code 2021 Solutions in Rust
git clone https://git.sinitax.com/sinitax/aoc-2021-rust
Log | Files | Refs | README | sfeed.txt

input (13000B)


      1000001100010
      2100111011010
      3001100011001
      4011010001010
      5011010101011
      6001001110101
      7100110001101
      8100010010011
      9011110000110
     10011000110110
     11011111111110
     12100111110011
     13110000100101
     14011010011111
     15001010011101
     16110110001010
     17101111110101
     18000010101101
     19111010111110
     20111110001110
     21100110111011
     22101011010101
     23001001000101
     24111101000100
     25001100000010
     26010001100101
     27001010011111
     28101010010100
     29100001110011
     30100000111010
     31100101010101
     32000000101000
     33011010100011
     34110100111110
     35010010011000
     36000101000010
     37001100011100
     38011101000000
     39010110111010
     40101101100100
     41000000010011
     42000101001111
     43011011100111
     44101111100101
     45101001101011
     46101100010100
     47001001110111
     48110011011110
     49111001101000
     50101101111111
     51001100110100
     52000001000111
     53000111101111
     54110101011100
     55010111011100
     56010011101000
     57100011101011
     58110000110011
     59110000100010
     60100101001110
     61011000001100
     62100000101110
     63101010110001
     64000111101110
     65011111101111
     66000000100010
     67101000010100
     68011000111001
     69001011001101
     70011111111111
     71100111000100
     72101010011010
     73001100100011
     74011101011110
     75011111100010
     76110111110011
     77111011111010
     78000101101011
     79001111011011
     80000011101000
     81000101111011
     82000010100110
     83111001000100
     84011110001111
     85010001011000
     86100010100100
     87100100111100
     88010010010101
     89001101110011
     90000000010000
     91000110001100
     92100110110111
     93001000100100
     94101010111010
     95000011101100
     96100000100001
     97011111110000
     98101001001111
     99100000111111
    100110111000111
    101111000010001
    102011011011111
    103110011011010
    104100011010101
    105011110010100
    106001001101010
    107100100111000
    108100110110011
    109010010111000
    110111011101111
    111111001101010
    112100000010011
    113011011101111
    114011100101011
    115110101011000
    116101111011110
    117100111000010
    118001110110101
    119111001111100
    120010000110111
    121011100001010
    122110111110101
    123011011100010
    124111101101000
    125101000000111
    126110000001001
    127001100101101
    128100111100010
    129000100010100
    130111101100110
    131101001010001
    132011000000001
    133010100100100
    134010001001000
    135010000010111
    136100011110001
    137000011100110
    138001001000001
    139000100001100
    140001001101111
    141001001100000
    142000111011100
    143100001010110
    144101010001110
    145010010101001
    146110010001100
    147101011101100
    148111000110111
    149100011010100
    150001110001101
    151101011011010
    152110101011010
    153011100010001
    154010011010011
    155001011111001
    156100011101100
    157011101100011
    158010000011111
    159011001101011
    160011110011100
    161001100011010
    162101100001110
    163011001111101
    164100101011111
    165011111100001
    166111001010111
    167010111000100
    168111110110111
    169100011011001
    170100000010000
    171111110111111
    172101111101011
    173110011010011
    174100001111110
    175101011011011
    176110111111110
    177101110101001
    178011100001100
    179000101011100
    180011010100111
    181110111011000
    182100110111100
    183111010001100
    184010010011111
    185000011010100
    186010111101111
    187111111000011
    188000111111010
    189000011111111
    190010010001010
    191100101110010
    192111110010100
    193111110000000
    194111110111110
    195110010100111
    196110011000010
    197001101010011
    198100100010001
    199101010110110
    200110110011100
    201111111001011
    202000011010001
    203010111011001
    204010100100010
    205010001101100
    206001101001110
    207010101000100
    208111010010010
    209000100100101
    210000011001001
    211011000110111
    212010111110111
    213011000100110
    214011110001110
    215011100111010
    216001111101100
    217100100001100
    218001100110101
    219011101111001
    220100001000000
    221110100001010
    222110111111000
    223010110010001
    224110010011101
    225101101011111
    226111111100110
    227101110001000
    228111100110100
    229110001111011
    230001011000011
    231011000000100
    232101100000001
    233001110000100
    234111110001111
    235100001001101
    236111111111011
    237101101110001
    238111001110111
    239100001101000
    240001100101001
    241000101000000
    242001011111011
    243000001011111
    244100000101011
    245101100000000
    246101110001001
    247110111111010
    248010000011000
    249110111100100
    250001100010011
    251111111100100
    252101011010100
    253101101001100
    254110110101001
    255011001101000
    256011101110001
    257010010010000
    258110001010101
    259110111110001
    260100011111110
    261110011111101
    262011111110110
    263110110101101
    264000010111000
    265111110011000
    266100111101110
    267101011000010
    268111101111000
    269001001110010
    270011000100101
    271011010100100
    272101111010001
    273111101101011
    274101110100110
    275011111100000
    276000101100001
    277110100100000
    278010011110111
    279001011010011
    280010001101111
    281100111110010
    282100111010001
    283110001111111
    284000110110011
    285000100000101
    286011111111001
    287110011100110
    288111011000110
    289100101101101
    290001111000010
    291001101011100
    292011001101111
    293101110111100
    294110011001110
    295011001011000
    296110010001001
    297000100000110
    298011101001000
    299100111010111
    300000101010000
    301011110110110
    302010110111001
    303111110100101
    304100100011010
    305111011100110
    306100111010000
    307011111100111
    308101010100001
    309110001101110
    310000101000001
    311010011011100
    312111101011111
    313101001100111
    314011101111000
    315100001100111
    316110011001001
    317011101000111
    318000011011100
    319100111001001
    320001001101100
    321101101111101
    322100100001111
    323111100111011
    324010011000001
    325000101010101
    326000100100010
    327100001011100
    328110011100010
    329010110011010
    330001110100001
    331001110111011
    332101110100111
    333011101101110
    334110100101110
    335111101110010
    336001001110110
    337100011010111
    338111110101100
    339011100111101
    340001010000100
    341000111001111
    342110101010110
    343101010101011
    344011101011000
    345111000111010
    346000010011001
    347011010111101
    348000111111101
    349000010111101
    350111011000000
    351111100001100
    352110101111111
    353000111011000
    354010010001111
    355100011101000
    356110100010001
    357110101001111
    358100011100100
    359000010111100
    360011010010011
    361111001000010
    362101010101111
    363110100101010
    364001100101011
    365001111101011
    366000011100111
    367111011001001
    368110110000010
    369010000010011
    370010110110010
    371110100100101
    372001101110101
    373001011001011
    374010100100000
    375000010000000
    376110110011101
    377101001100011
    378010111000001
    379001111100111
    380110111111101
    381011010100000
    382011011110101
    383011110100001
    384010100110001
    385100000000101
    386010011101111
    387101111110111
    388101000100100
    389011010101001
    390010000000110
    391110011110111
    392010011011011
    393101101101111
    394001111011101
    395100111101111
    396000111000101
    397100100101010
    398011110011110
    399010011101110
    400000000100110
    401010100110101
    402101101010100
    403101001000010
    404111000000110
    405010001000000
    406000100010110
    407110101101001
    408010010111110
    409010011100001
    410001011111111
    411111001101001
    412111100001110
    413101110010101
    414111101111011
    415110011010000
    416111101011011
    417111100101101
    418111010100110
    419111000001011
    420011011001011
    421000000010010
    422100100000000
    423110011111001
    424010000101000
    425111010110100
    426010101101011
    427111111001111
    428010101001110
    429101110111011
    430011101111010
    431101110110011
    432000110111101
    433111100011100
    434000010101001
    435000011011010
    436100010011100
    437000110100001
    438101001111110
    439000010100010
    440001110000000
    441100011100110
    442010011110110
    443110000111000
    444010110001110
    445110001100011
    446001010000011
    447101001010000
    448101110110100
    449111010000100
    450111011011001
    451000100001011
    452011010001101
    453011000101000
    454011101011100
    455110111110100
    456101000000010
    457101000100011
    458011101110011
    459011100011010
    460001010001111
    461001011101011
    462100001010010
    463111110111101
    464110000010001
    465011001010101
    466100100101000
    467110000000111
    468001111110101
    469101000010010
    470011110111100
    471101111111000
    472000011101101
    473110001100110
    474001111011000
    475000011000100
    476001101000010
    477011111111000
    478011111001010
    479000110000010
    480010000010110
    481101111000010
    482001101111101
    483101011101010
    484101110110010
    485001000000111
    486100000101001
    487011111110010
    488011001100100
    489011010010111
    490001010110011
    491001001011010
    492000111000001
    493000111000000
    494011000001111
    495010001001101
    496001100010110
    497010100000011
    498110110110100
    499011100000100
    500101111000101
    501110101010010
    502001110010111
    503110000011010
    504000110100000
    505111101000011
    506000100011100
    507010010100010
    508000000010001
    509110001111101
    510100011001101
    511010011110011
    512000101010001
    513110111101001
    514110010000011
    515100100000101
    516100001010101
    517111111111110
    518100011101101
    519100100100011
    520110000001111
    521010101001010
    522101000111000
    523010010011100
    524110011101001
    525011101011111
    526011111001011
    527111110011100
    528010001111111
    529100011110100
    530010000001101
    531100111111100
    532101000101011
    533110110101011
    534110101001100
    535101010110010
    536110110100011
    537001001010001
    538011110010000
    539000001111111
    540101010101000
    541010001111101
    542100110101111
    543100101000011
    544001010110010
    545001111001100
    546100101011100
    547111001000101
    548010100100101
    549100010101101
    550100101110001
    551101000100010
    552110101111110
    553111100110110
    554100101100100
    555001000001100
    556010011110001
    557011100101000
    558101111101010
    559100101100001
    560000110000000
    561001001001111
    562001111100000
    563111110001011
    564011110011010
    565111001100110
    566000010100000
    567010110110001
    568100111001101
    569111101010110
    570110001010100
    571110110100000
    572011100000011
    573100101110111
    574000001000011
    575100100100110
    576111100000010
    577100110110100
    578000101111110
    579001110100110
    580010101110100
    581111010110101
    582000001100111
    583100010001101
    584101011011111
    585010011111101
    586101010011111
    587000011111000
    588110001100000
    589100010111011
    590010111101011
    591010100101011
    592100010001110
    593111100000100
    594101011101110
    595000101100011
    596100000111000
    597110011001010
    598000001110011
    599000111010100
    600111110110100
    601100101011001
    602110010010001
    603010100111101
    604111100100000
    605101000110000
    606011101111111
    607001101111111
    608001001000110
    609000001100110
    610110100101000
    611001111000000
    612111101100010
    613100111001011
    614001001100101
    615100000001001
    616101010100101
    617010001000010
    618111100000000
    619001100010101
    620101111111101
    621110100010100
    622101000100101
    623111001010000
    624011001000100
    625011110011011
    626101100010011
    627100100110111
    628111100101011
    629011100100110
    630000111001001
    631111101101001
    632001111101111
    633101111111001
    634101100110101
    635101000011000
    636100100011111
    637101011001011
    638001101111001
    639111010011100
    640001011000001
    641100011001110
    642101101010010
    643111000101010
    644101101100110
    645101111010100
    646101011000100
    647100111111010
    648110110001011
    649100101001001
    650110001101100
    651010000100000
    652110100010010
    653101011110001
    654001000011010
    655001011110000
    656101111010110
    657000101110111
    658110111110000
    659101110001100
    660111010110001
    661010001110001
    662100010001000
    663001001000111
    664100010110010
    665000011100101
    666111111000111
    667010010001110
    668011011011110
    669111110100011
    670101111111111
    671000010011111
    672010101011101
    673101101011011
    674001111010111
    675001010010100
    676101010111001
    677010110111111
    678000110111110
    679001101101100
    680011000101001
    681110011000001
    682100111001010
    683001101011010
    684100000100111
    685110100010111
    686100000111001
    687100011011111
    688010111100011
    689110111000010
    690011110101001
    691010110101000
    692011110111110
    693110000110001
    694100100001010
    695011111001000
    696110110110010
    697011000101011
    698000000000010
    699000010000100
    700110000000011
    701011111101101
    702011000101101
    703110011101110
    704000000001001
    705101001110010
    706101101000001
    707011011001111
    708110010010010
    709000100101011
    710010111010001
    711111101000110
    712111010111111
    713111001010100
    714011010110101
    715001001000010
    716011001000010
    717000000101101
    718010000111110
    719010011100101
    720100111000110
    721111111001100
    722101100100110
    723011110100110
    724001110101101
    725001101001000
    726111111011000
    727011100100000
    728001000011001
    729001001111111
    730111010011011
    731001001111101
    732101000110110
    733100000111101
    734001011000110
    735100010010010
    736101010011001
    737101010110011
    738101010110000
    739000001000110
    740001101110110
    741010010011011
    742101111110000
    743011110001011
    744001011111100
    745111011111111
    746101101010111
    747000001010101
    748010110101111
    749111100000001
    750010101100010
    751101111010011
    752010001011010
    753011100101101
    754111100101010
    755001100111001
    756001101000111
    757011010111010
    758010011100000
    759110000011001
    760111101100101
    761010111101110
    762011110001010
    763011101000100
    764011000110011
    765110111001000
    766011000001001
    767010111111001
    768111001110010
    769110110110000
    770000100110000
    771101011110110
    772111000011010
    773011001110100
    774100011101001
    775111010110110
    776000110100010
    777011101010110
    778001100111010
    779010010101101
    780000101110011
    781100000000010
    782100111100011
    783101110111000
    784100001111011
    785001111001000
    786000110010110
    787010001110101
    788111100010011
    789100000010101
    790111111111101
    791000001001100
    792100111111110
    793111100110001
    794111000100011
    795110101100110
    796000101010100
    797010000001001
    798011010000011
    799011011011000
    800101100011010
    801101001001011
    802000010110111
    803101111000111
    804100101010001
    805001111011001
    806000010111111
    807010001010100
    808011110101111
    809001110101010
    810010000001100
    811011011101011
    812100111110100
    813101101100101
    814101101000011
    815111110101111
    816110010110110
    817100011000101
    818011011110011
    819101010101100
    820001101000001
    821100010111010
    822100101011101
    823101011000001
    824101100000011
    825001011000100
    826000011100000
    827010110001011
    828000111111100
    829111011000011
    830110100111001
    831001110001110
    832001010100001
    833110111111001
    834011011101110
    835010100010000
    836101011111000
    837010001100001
    838000001010111
    839110011101010
    840001110111110
    841011101110110
    842010110001000
    843110101111010
    844100101100000
    845000100111001
    846110110111010
    847111010010101
    848110111111100
    849010101010111
    850100001011110
    851010101001001
    852001101011101
    853011100100100
    854010001110111
    855100111001100
    856101010111011
    857100000111110
    858101111011011
    859011110110001
    860000100000100
    861010111100100
    862110101010111
    863101101101011
    864110101101010
    865001010000111
    866111001111111
    867100100011001
    868101111010000
    869110111011010
    870110001110101
    871011100001001
    872001111100011
    873000100010111
    874100110010011
    875011110011001
    876010110001111
    877011111011010
    878111011111000
    879011110111101
    880000001000100
    881111000010000
    882010010000101
    883011100100111
    884110001001000
    885110100111111
    886100000010110
    887110111100011
    888101001110100
    889001001011001
    890010011100111
    891101001010011
    892101000001101
    893000100001111
    894111111011111
    895000101001010
    896011011010010
    897101010000101
    898001101001010
    899000001100001
    900010010110100
    901010011000010
    902111110011111
    903010011111011
    904111100010111
    905000000010100
    906110011011111
    907000100110100
    908011001000101
    909010110100011
    910100011010011
    911010111001110
    912100101010000
    913001001010110
    914110000001000
    915101111110001
    916101101001101
    917010100000100
    918100101111010
    919001111011010
    920101110011111
    921110000010111
    922100011011110
    923000000100111
    924010111010111
    925100001011011
    926101001011010
    927001111001111
    928110101100001
    929010010011101
    930010010101011
    931111100111111
    932000110110000
    933000100100110
    934100100111001
    935011100101001
    936110011100000
    937100111111001
    938101011110100
    939001010101001
    940011111010110
    941110010110100
    942111101011000
    943100110011000
    944100100001000
    945010111100001
    946111001110011
    947100110100011
    948011000011001
    949000000000100
    950000010110010
    951011010111000
    952010111010000
    953011000100010
    954100110011100
    955101110011000
    956001100100010
    957010100111100
    958001101101010
    959110111100001
    960101110010000
    961000000110100
    962111010000001
    963010011001001
    964000010001100
    965001001101101
    966010010000011
    967011111100110
    968111010000101
    969110101110000
    970010011001100
    971100101111111
    972000010001110
    973111100001011
    974111100110111
    975110101000100
    976000111110111
    977011100011101
    978110011101101
    979000101100111
    980101100101100
    981111110101000
    982000110101011
    983010110011110
    984000000111000
    985100000000100
    986110101101000
    987101011100101
    988101111000000
    989110111000001
    990010001100110
    991110010010100
    992111011010111
    993101110011110
    994111100110000
    995001101110010
    996010010100001
    997000111100110
    998010000110000
    999001011010000
   1000110011010100