aoc-2020-zig

Advent of Code 2020 Solutions in Zig
git clone https://git.sinitax.com/sinitax/aoc-2020-zig
Log | Files | Refs | README | sfeed.txt

input (13113B)


      1mask = 0010011010X1000100X101011X10010X1010
      2mem[57319] = 8001842
      3mem[29943] = 1246
      4mem[3087] = 1055661079
      5mask = 0110010X0XXX001100111000X01XX101010X
      6mem[52073] = 42874573
      7mem[58090] = 125580
      8mem[56527] = 55839
      9mem[6576] = 6674834
     10mask = 1X100010101110001X1111011X001100X010
     11mem[688] = 288
     12mem[6462] = 467
     13mask = 1X100XX01011100X1X1110X11000111XX0X0
     14mem[4544] = 38913
     15mem[19739] = 27209989
     16mem[62629] = 29599367
     17mem[59303] = 56895590
     18mem[33209] = 99475224
     19mem[21064] = 2217881
     20mask = 00100101101X0011X0X1001X000011110X11
     21mem[59134] = 1621
     22mem[9901] = 3962186
     23mem[23399] = 15337615
     24mask = 00100100X00000X01011X0X1101X0XXX1011
     25mem[8460] = 62218793
     26mem[8888] = 6132600
     27mem[6738] = 81932640
     28mem[15913] = 937
     29mem[95] = 237
     30mem[65076] = 1887
     31mem[46066] = 267972
     32mask = 0010010110X11X101X1101X11X1001000001
     33mem[3111] = 757262
     34mem[18053] = 14564
     35mem[29590] = 84022571
     36mask = 0X100101X01100X1001XXX0X010010011001
     37mem[21123] = 50334
     38mem[14185] = 1548248
     39mem[19142] = 69122
     40mem[64375] = 311754222
     41mask = 00010100X001001011X00000011X001X11X0
     42mem[37483] = 1031
     43mem[9051] = 7137857
     44mem[1514] = 2951
     45mem[65519] = 3840
     46mem[2437] = 1853463
     47mem[1533] = 121088
     48mem[16607] = 404683
     49mask = 00X001X01001X0X110X1000000100X0111X1
     50mem[43309] = 53816426
     51mem[54492] = 8989842
     52mem[6603] = 109918
     53mask = 0010010X10X0000010110101011100XX0111
     54mem[50262] = 518
     55mem[19739] = 64862904
     56mem[59938] = 1898392
     57mem[10940] = 36316297
     58mask = X010X10X101110011X1XX01XX01011110110
     59mem[51493] = 94841150
     60mem[23379] = 66315661
     61mem[50538] = 6370026
     62mem[20576] = 3105
     63mem[524] = 704
     64mem[9470] = 572991
     65mask = 000001001011100000XXX1X1010000101100
     66mem[7193] = 373916
     67mem[8235] = 772308
     68mem[12693] = 1931
     69mask = 0010010110X1011XX01001X010X011110000
     70mem[53866] = 29908037
     71mem[10876] = 36809
     72mem[23306] = 1494967
     73mask = X100X1X1101101X010100X0X000111111010
     74mem[2279] = 25754
     75mem[9932] = 27669
     76mem[47170] = 228719
     77mem[6716] = 1055009534
     78mask = 0000011010X1X000001X010011X0X0110111
     79mem[17003] = 3981363
     80mem[51032] = 3041968
     81mem[6835] = 1135337
     82mem[49175] = 34584
     83mem[53149] = 390954848
     84mem[46857] = 295459
     85mem[7176] = 74749
     86mask = X0100101101110XX1011X10111X000000101
     87mem[20071] = 157
     88mem[58690] = 23548755
     89mem[6693] = 31361
     90mem[29590] = 12352795
     91mem[16195] = 167714437
     92mask = 1010111000X1110111111X0000X1110X1110
     93mem[52261] = 1766
     94mem[4528] = 29538045
     95mem[3516] = 434
     96mem[38224] = 8600086
     97mem[42025] = 979
     98mask = 00X001X110110X1100X1XX0101100101X1X0
     99mem[24095] = 558277
    100mem[30451] = 823594660
    101mem[32920] = 323822302
    102mask = 01000101101X01001X1001X0X011111XX11X
    103mem[36330] = 9326
    104mem[34800] = 1457445
    105mem[6373] = 17674577
    106mem[3467] = 28430
    107mem[3725] = 873
    108mem[23356] = 4092
    109mask = X010111X000110011X01101110X1000110X1
    110mem[64745] = 861
    111mem[62629] = 90934
    112mem[47573] = 19952
    113mask = 001001XX10110XXXX01X00011010X1011111
    114mem[19591] = 82244
    115mem[25842] = 62986578
    116mem[8674] = 4524
    117mem[6754] = 45567
    118mem[12321] = 482
    119mask = 00010000X0X1100X00100000000101X11101
    120mem[22843] = 23521440
    121mem[59262] = 89078
    122mem[14388] = 13582
    123mem[8783] = 803481646
    124mem[14301] = 129344
    125mem[5993] = 1676992
    126mask = 011X0X0X0X11001100111XXX00101100011X
    127mem[21656] = 1452
    128mem[5972] = 7553794
    129mem[14786] = 10451
    130mask = 00X0X11X101X0001101001111X1000011X00
    131mem[7791] = 1156045
    132mem[49175] = 1797840
    133mem[52303] = 1002008464
    134mask = 00000X00X0X110X0000000000101X101X01X
    135mem[54277] = 40348
    136mem[41844] = 75483466
    137mem[31687] = 209232793
    138mem[59303] = 147780
    139mask = 01100101X0X10XX100111X00001011011110
    140mem[1674] = 212290004
    141mem[26705] = 154696825
    142mask = 00100X1010110X00001X0X111XX1X11XX101
    143mem[55681] = 15384
    144mem[8731] = 20029618
    145mem[17196] = 1416285
    146mem[8939] = 230194
    147mem[41925] = 59500490
    148mask = 001X01111X1XX0100001110010X001XX0011
    149mem[4136] = 43037307
    150mem[50432] = 47363915
    151mask = X0100100101XX1X110X00111111001X11110
    152mem[26775] = 15795
    153mem[61416] = 336820014
    154mem[24473] = 15435
    155mem[7316] = 507
    156mem[22980] = 69499
    157mem[13539] = 46705434
    158mask = 0010XX1110X101010010X00100X001111111
    159mem[24797] = 48493
    160mem[9976] = 191947
    161mem[59649] = 182
    162mem[6746] = 293718
    163mem[13657] = 22047
    164mem[18870] = 917196392
    165mask = 0010011110X100101011001110X1X1X01111
    166mem[42060] = 3151
    167mem[10876] = 14534
    168mem[15913] = 3956260
    169mem[25587] = 159376
    170mem[32389] = 1637604
    171mask = 00X0010X1011001010X0000X0X1001010101
    172mem[47397] = 1027668
    173mem[1387] = 63624
    174mem[29590] = 468836
    175mem[30511] = 515
    176mem[29943] = 160340
    177mem[2723] = 3803815
    178mask = 0010X100X0X1X10010100001011001011111
    179mem[19103] = 37077352
    180mem[61704] = 1585
    181mem[41739] = 55291
    182mem[32874] = 13348645
    183mask = 00001X00100X001101111110XX1001X00100
    184mem[46960] = 167728
    185mem[21575] = 137775190
    186mem[39462] = 138444
    187mask = 101X01X01XX00X101011100100X000000100
    188mem[13982] = 11278
    189mem[46054] = 1566730
    190mem[62449] = 3637
    191mem[34329] = 715394
    192mem[42404] = 16695924
    193mask = 00100X111011001X000100000100X1000X00
    194mem[2279] = 840
    195mem[26696] = 296821
    196mem[51587] = 564647
    197mem[11937] = 1079
    198mem[22100] = 1236
    199mask = 1001X1111011010XX01XX0000010X1011010
    200mem[57157] = 14498
    201mem[23458] = 655
    202mem[64273] = 23918
    203mem[597] = 11056777
    204mem[7236] = 223322653
    205mem[548] = 21543
    206mask = 10101100XX1110X1111X01101X01110100XX
    207mem[29908] = 102485547
    208mem[55145] = 39744
    209mem[25388] = 86457344
    210mem[29024] = 8019640
    211mask = 0010010110100011101101X0X0XX100X0011
    212mem[16691] = 11547863
    213mem[18035] = 8789
    214mem[17394] = 6550826
    215mask = 000XX1001001001XXX1X1001011XX1100110
    216mem[33597] = 40949
    217mem[31065] = 115749466
    218mem[43929] = 32103
    219mem[62821] = 2824401
    220mask = X01X0X0010111001101100111X0XXX101X0X
    221mem[40077] = 250970300
    222mem[8235] = 5176
    223mem[35379] = 967230664
    224mem[50827] = 1594
    225mask = X0X0010X1011XX101010000100101011XX10
    226mem[43601] = 13382723
    227mem[6907] = 112589660
    228mem[22980] = 3002394
    229mem[59198] = 2452391
    230mask = 00100110X01110011011110XX0001010XX00
    231mem[21349] = 2720367
    232mem[52060] = 251432
    233mask = 1X10010110111X01XX1101111X0111X11110
    234mem[15848] = 129775
    235mem[26474] = 1601
    236mem[62050] = 2929
    237mask = 00X0X10010110X101X1011X0X010X1X1011X
    238mem[12738] = 209893
    239mem[39127] = 691
    240mem[37474] = 6593
    241mask = 0X000X001011100000X000XX00XXX0111100
    242mem[96] = 771
    243mem[22577] = 12395804
    244mem[11733] = 14929
    245mem[39189] = 16420782
    246mem[38122] = 344179
    247mem[24473] = 29413
    248mem[62361] = 7509824
    249mask = 0000110010X10X1011101111XX1001000011
    250mem[57383] = 18264183
    251mem[49173] = 1002256
    252mem[40502] = 1730
    253mask = 0000X110101100010110X100X000X01X1001
    254mem[46811] = 623
    255mem[17254] = 15990
    256mem[22843] = 142075978
    257mem[20042] = 1298592
    258mask = 00X0X10010X100101X10X0X1000X01010110
    259mem[28039] = 0
    260mem[38987] = 5698
    261mem[4667] = 456552228
    262mem[59938] = 113841
    263mem[1661] = 239194935
    264mask = 0010X100101X100000X0000110XX00X00101
    265mem[25449] = 879
    266mem[11100] = 174
    267mem[22577] = 2923861
    268mem[31106] = 4012
    269mask = 0010X110001X1X011X11X00X1001X110X0X0
    270mem[18863] = 6313
    271mem[14786] = 4007
    272mem[21058] = 132219
    273mask = X010010110011010X1110101001XX000010X
    274mem[47349] = 40055
    275mem[23379] = 549082
    276mask = 00000100X110X001101X101X00101111XX10
    277mem[41149] = 7477499
    278mem[23458] = 14250047
    279mem[13044] = 963453
    280mem[37458] = 111364751
    281mem[41705] = 367
    282mem[13185] = 7794590
    283mask = 0X00011110110001X01X01X111100100X11X
    284mem[28287] = 3721531
    285mem[35201] = 490106021
    286mem[28672] = 727
    287mask = X0000X01X011001100X1000101000001110X
    288mem[36421] = 2447644
    289mem[60160] = 3592
    290mask = X010010X0011000100100X100000X1001100
    291mem[6746] = 371201
    292mem[34945] = 3182236
    293mem[59562] = 15144669
    294mask = 001X010X0000001010111X1110100X001011
    295mem[4615] = 23061
    296mem[2807] = 1040968
    297mask = XX00010110110110101000011011101X10X0
    298mem[6693] = 58755
    299mem[38797] = 396674
    300mem[23126] = 87120667
    301mask = 00XX0X001011X00000100X01XX11011101XX
    302mem[14398] = 7887686
    303mem[4703] = 158831
    304mem[43300] = 8079
    305mem[10876] = 8090
    306mem[36155] = 69377162
    307mask = 00X001011011X0001X11000010100010X111
    308mem[4691] = 889
    309mem[24131] = 841
    310mem[3111] = 573
    311mem[59595] = 4190992
    312mask = 10X01X0XX011XX01101X1010010111011100
    313mem[50090] = 34393568
    314mem[40454] = 1541981
    315mask = 001001X010X1011XX01000XX001010011X11
    316mem[45518] = 64768
    317mem[7223] = 13641
    318mem[6883] = 11
    319mask = 00X001X01011000X0X10X1001X001X0X1011
    320mem[57682] = 748
    321mem[19452] = 225201389
    322mem[22103] = 536459809
    323mem[2723] = 2729176
    324mask = X010X1X1X0110010101X00X1101001101100
    325mem[8723] = 4618603
    326mem[8105] = 55076921
    327mem[56475] = 1208612
    328mem[56860] = 2130
    329mem[14848] = 121862566
    330mem[51119] = 309
    331mask = 00X001X01XXX100X1011101100100101101X
    332mem[12321] = 26106
    333mem[19863] = 252791315
    334mem[4783] = 7125184
    335mem[36097] = 4119189
    336mem[16892] = 123426339
    337mem[50749] = 3011
    338mem[40525] = 311979314
    339mask = 001001001011XX11101110X11X10000X1101
    340mem[29971] = 1079180
    341mem[3907] = 1658
    342mem[58690] = 325
    343mem[33904] = 26326
    344mem[30812] = 3221
    345mask = XX10011000X1X10X11110000X00XX1101X01
    346mem[27562] = 5188003
    347mem[53549] = 2289833
    348mem[19329] = 40507
    349mem[36937] = 10709922
    350mem[37114] = 28119277
    351mem[19704] = 152731162
    352mask = 001X01001011X0XX1011XX01X01X00011111
    353mem[13220] = 194
    354mem[8444] = 750
    355mem[34627] = 7676
    356mask = X01001101011100011X101X1XX001X110X01
    357mem[8518] = 500024
    358mem[26339] = 167720610
    359mem[35194] = 8020476
    360mem[31306] = 650
    361mem[36208] = 2498533
    362mem[7829] = 2084
    363mask = X1000100X01110000X10101X1X11X0X0010X
    364mem[2969] = 47624
    365mem[36421] = 271067027
    366mem[33259] = 696258997
    367mask = 00100100101100X0X011011000X1X0X1X101
    368mem[52073] = 183
    369mem[4886] = 2607677
    370mem[29415] = 11034
    371mem[34596] = 1435127
    372mem[37722] = 439646
    373mask = 0010X10010111000X01X101X001010110111
    374mem[1533] = 20975777
    375mem[41149] = 43835328
    376mem[54648] = 8048387
    377mem[46044] = 191520012
    378mem[10958] = 153
    379mask = X01001XXX0110X0X00100010100010X011X1
    380mem[20181] = 271
    381mem[32998] = 406408
    382mem[14963] = 36347
    383mask = 000X00001X0X10011011000100010111X001
    384mem[8646] = 146616149
    385mem[33187] = 3502
    386mem[56643] = 2297683
    387mem[5056] = 11233
    388mem[53643] = 15785
    389mask = 00000100101X0010X0100X0010100X010001
    390mem[37722] = 36801767
    391mem[24131] = 657
    392mem[1661] = 33183928
    393mem[39578] = 31365
    394mem[2279] = 463157769
    395mem[13178] = 653666
    396mask = X0XX01000X000010101X0001X00X0010X001
    397mem[53899] = 49721
    398mem[11818] = 1726316
    399mask = 11X0XX1X1X11100X101100X000010X101000
    400mem[32088] = 373702
    401mem[2157] = 280921
    402mem[19218] = 181313
    403mem[48557] = 81701
    404mem[772] = 23956
    405mem[6957] = 2202
    406mask = 0010001010110000001100111X0X11000XX1
    407mem[48029] = 2744455
    408mem[51044] = 701
    409mem[47708] = 882
    410mem[14185] = 194301
    411mem[5025] = 1139014
    412mem[23787] = 1158165
    413mem[53248] = 11539
    414mask = 010011XX101101101X10X10X10X001111110
    415mem[56312] = 18794001
    416mem[23464] = 718595
    417mem[24737] = 26239
    418mem[62401] = 813
    419mem[2788] = 1565
    420mem[27597] = 837327137
    421mask = 001000101XXX0000001101101000X0XX000X
    422mem[7013] = 7376387
    423mem[19348] = 216259
    424mem[2335] = 5985
    425mask = 1000X1000X0X001X10111101XX0X10X00011
    426mem[25648] = 1586674
    427mem[1794] = 107777
    428mem[18172] = 1657
    429mem[24832] = 6783821
    430mem[57880] = 2318293
    431mem[52366] = 256454
    432mem[21027] = 762
    433mask = 00X00101X011X01100X1010101000X010010
    434mem[12321] = 406209
    435mem[36784] = 28499376
    436mem[23244] = 51197
    437mem[18719] = 9764113
    438mem[46197] = 727182769
    439mem[7765] = 306
    440mask = XX100XX0X011100X101X00001001X11010X0
    441mem[11226] = 1659513
    442mem[59446] = 2081606
    443mem[39362] = 61923258
    444mem[2279] = 30854
    445mem[23647] = 37009
    446mem[12290] = 15028301
    447mem[51742] = 429002814
    448mask = 0110X10X011100110011110X1001110X0100
    449mem[7963] = 27124
    450mem[26474] = 18578829
    451mem[58864] = 7199
    452mem[21049] = 3648981
    453mem[7599] = 674
    454mem[30944] = 3237758
    455mem[9365] = 44125
    456mask = 1110010XX01110X1101X0010100101101000
    457mem[4554] = 32428139
    458mem[23227] = 445223
    459mem[13006] = 536348
    460mem[21735] = 32459971
    461mem[18561] = 415004
    462mem[41639] = 1210
    463mask = XX0X011110110100101X0000X00X01101010
    464mem[40990] = 378560
    465mem[40502] = 4261
    466mem[3070] = 20179
    467mem[54648] = 1461025
    468mask = 10100X001X1100101X10XX0X001XX1101010
    469mem[50898] = 27841850
    470mem[38435] = 14871
    471mem[2096] = 13218483
    472mem[8731] = 46498503
    473mask = X01X0100100101110X100X0X111010X1101X
    474mem[8881] = 84348735
    475mem[27157] = 1435663
    476mem[20913] = 895
    477mem[47226] = 87319
    478mem[9496] = 4563
    479mem[53248] = 817412
    480mask = X010010010XXX0101011100101100X0010X1
    481mem[55812] = 43
    482mem[48238] = 462
    483mem[29997] = 864862
    484mem[41149] = 3867
    485mem[95] = 65388249
    486mem[47138] = 335
    487mask = 00000XXXX001100110X1XXX00010011110X1
    488mem[11109] = 332359
    489mem[1794] = 455
    490mem[21655] = 84763
    491mem[53696] = 277
    492mem[35194] = 7281
    493mem[12347] = 148564745
    494mask = X0XXX1XX0001100X100X00100001X1111001
    495mem[21885] = 327749
    496mem[19892] = 50
    497mem[7001] = 863762540
    498mem[64928] = 1325
    499mem[4136] = 102854
    500mem[26467] = 1817
    501mask = 10X0X1X0101X1111X01001101100X10X0110
    502mem[13982] = 797986
    503mem[95] = 519755
    504mem[56061] = 5524
    505mem[36193] = 9365811
    506mask = X010X1100001110X111100XX11X0011110XX
    507mem[25557] = 43206
    508mem[7223] = 425993
    509mem[16504] = 69611
    510mem[23638] = 3067
    511mem[42437] = 19122365
    512mask = 0010X1011011X00X10X111100000X1X00100
    513mem[39578] = 1682305
    514mem[28610] = 57814005
    515mem[15619] = 37566
    516mem[4919] = 9168
    517mem[36937] = 870
    518mem[56743] = 22379353
    519mask = X0100X10101X1000111110011000X1XX1X1X
    520mem[33492] = 6823
    521mem[482] = 4554
    522mem[35054] = 10840739
    523mem[19863] = 796
    524mem[31177] = 3100127
    525mem[6355] = 9672179
    526mem[53388] = 10479412
    527mask = 00XX0111XX1X001100XX00110100110X1101
    528mem[21049] = 3494057
    529mem[13566] = 32179
    530mem[47170] = 16081
    531mask = 00001100X00X00101010000100000X0X1X10
    532mem[2335] = 113671
    533mem[64370] = 1163
    534mem[19142] = 30303
    535mem[8044] = 318278042
    536mem[30347] = 13864150
    537mask = 0XX0XXX0001011011011001X100010X0X000
    538mem[12616] = 1894086
    539mem[62427] = 29002
    540mask = X010011010110000001XX001000XX0000101
    541mem[43617] = 84114
    542mem[37229] = 58103