advent-of-code

Perserverance, or the lack thereof

git clone git://git.shimmy1996.com/advent-of-code.git

input.txt (13709B)

    1 mask = 00000X110010111111X000100XX01010000X
    2 mem[20690] = 435
    3 mem[54036] = 231
    4 mem[27099] = 118644255
    5 mem[55683] = 22299263
    6 mem[26119] = 2279399
    7 mask = 00X000X0001X111111101X1111XX11X001XX
    8 mem[42072] = 1658073
    9 mem[63234] = 2277
   10 mask = 1001X010011011111110101101X0XX11X010
   11 mem[31090] = 52291
   12 mem[31244] = 377352406
   13 mem[10621] = 18801757
   14 mem[31666] = 5100853
   15 mask = 10X0110X11XX101XX1000011001001010100
   16 mem[18680] = 80608039
   17 mem[13197] = 7957847
   18 mem[17080] = 117501010
   19 mask = 1000110011111X11X1XXXX1X000X010011X1
   20 mem[25308] = 257586
   21 mem[14518] = 62108102
   22 mem[21633] = 1544993
   23 mem[36955] = 1363
   24 mem[45764] = 49755959
   25 mem[40967] = 425
   26 mem[47858] = 611686
   27 mask = 0010111010X0111111011X0110X0101010X1
   28 mem[7451] = 1208
   29 mem[31918] = 769
   30 mem[29313] = 1888678
   31 mem[52254] = 32237487
   32 mask = 00X001001111X11111X010000X0110XX0X11
   33 mem[61531] = 15796066
   34 mem[305] = 130785
   35 mem[25845] = 197912
   36 mem[29251] = 374061
   37 mem[37177] = 17950
   38 mask = 100100X00110111111100110001X1X100X00
   39 mem[40491] = 66538375
   40 mem[42244] = 240009051
   41 mem[18805] = 33518831
   42 mem[17072] = 518835559
   43 mask = XX100100X1101X11010001X11001100XX1XX
   44 mem[16935] = 1124623
   45 mem[45248] = 155461
   46 mem[37224] = 5755511
   47 mask = 00X011101110101X10X1XXX1100X0001000X
   48 mem[6440] = 116801
   49 mem[193] = 7318437
   50 mem[58568] = 8082803
   51 mem[43695] = 909697
   52 mem[29001] = 27290
   53 mem[29210] = 91241
   54 mask = XXX01X001111111111101010000001XX1011
   55 mem[21289] = 354401446
   56 mem[33814] = 1605382
   57 mem[16967] = 242083755
   58 mem[60470] = 22550
   59 mem[16485] = 3945104
   60 mem[37687] = 86474
   61 mem[51031] = 5255
   62 mask = 00100100111101111100100X0X001XX10011
   63 mem[34832] = 191857526
   64 mem[30126] = 180246093
   65 mem[310] = 1895
   66 mem[49300] = 117732
   67 mask = 00000100011011X11X10010XX1XX0X1101XX
   68 mem[54544] = 1368
   69 mem[30126] = 596855
   70 mem[18483] = 124319430
   71 mem[63246] = 95337119
   72 mem[3917] = 1620395
   73 mask = 00XX010001101111X110011X010100X10XX1
   74 mem[31090] = 203896198
   75 mem[36989] = 203
   76 mem[8762] = 372392
   77 mem[59728] = 486751
   78 mask = 00101X00X11X11111X100010XXXX0011011X
   79 mem[59728] = 30591660
   80 mem[43720] = 315507593
   81 mem[39732] = 42157
   82 mem[3440] = 242110717
   83 mem[36955] = 871544
   84 mem[51251] = 2489781
   85 mask = 00X00X0X01111111110000001100100X0011
   86 mem[51149] = 12451455
   87 mem[17566] = 351620601
   88 mem[33842] = 1119118
   89 mem[23677] = 100601411
   90 mem[12826] = 2474316
   91 mask = 00X00100XX1111111110111X1X010X10010X
   92 mem[43163] = 27012
   93 mem[53314] = 2717910
   94 mem[20842] = 239857
   95 mem[43816] = 3173699
   96 mem[11343] = 37315312
   97 mem[37493] = 262038
   98 mem[25824] = 13598271
   99 mask = 00X0X00001101X1X10100000110001110101
  100 mem[39732] = 1402
  101 mem[50014] = 32437274
  102 mem[10770] = 192187204
  103 mask = 000101110110X111111011010X11000000XX
  104 mem[51283] = 2490405
  105 mem[33814] = 471881
  106 mem[15119] = 3807095
  107 mask = 000X00XX0X10111111X0011XX11X10X00010
  108 mem[10405] = 46099021
  109 mem[42308] = 1001
  110 mem[57329] = 2310
  111 mask = 11X10110011XX100XX1010101100010X0000
  112 mem[40240] = 28185370
  113 mem[43296] = 2212
  114 mem[15632] = 3512122
  115 mem[61953] = 2534700
  116 mem[58797] = 258533
  117 mask = 00000X00011X1X11X1X001000010010X1110
  118 mem[13671] = 66116
  119 mem[5234] = 46868488
  120 mem[48068] = 259070
  121 mem[35833] = 1904
  122 mask = XX1101000XX01111X1100XX10X1000011000
  123 mem[58276] = 827
  124 mem[29197] = 6552
  125 mem[21249] = 173
  126 mem[5723] = 4730123
  127 mem[59627] = 3299104
  128 mem[17008] = 74955518
  129 mask = 0X000100111111XX11001000000110X00100
  130 mem[53231] = 909153
  131 mem[28837] = 1739162
  132 mem[21336] = 3932
  133 mem[32899] = 872661
  134 mem[29051] = 228916
  135 mask = 0X1X11000111111X101111100000X10X00XX
  136 mem[23121] = 4940
  137 mem[64259] = 339599819
  138 mem[268] = 2533
  139 mem[5725] = 1430
  140 mem[56946] = 618
  141 mask = 001X1X0001111111101001111001X101XX10
  142 mem[46780] = 339675
  143 mem[57420] = 10161
  144 mem[32105] = 5534
  145 mask = X1000X10011001111110110100X01010X011
  146 mem[47922] = 892051565
  147 mem[50583] = 2962439
  148 mem[43673] = 107
  149 mask = 000001001X11011111101X00XX1111100111
  150 mem[17938] = 29693823
  151 mem[27809] = 17197
  152 mem[62755] = 6590924
  153 mem[26483] = 15837
  154 mem[5245] = 486
  155 mem[8213] = 1239
  156 mask = 0010X0000XX11XX1100010X0X11000101XX1
  157 mem[3842] = 3541
  158 mem[55663] = 76779528
  159 mem[29851] = 2801
  160 mask = XX011X0001111111X1XX0000000001X00010
  161 mem[20066] = 97384
  162 mem[35212] = 10209
  163 mem[15847] = 499740
  164 mem[9349] = 9638367
  165 mask = 001011X00XXX11X111100X1XX00010100X01
  166 mem[52845] = 1056563
  167 mem[30126] = 13918626
  168 mem[17709] = 25538089
  169 mem[1413] = 459461
  170 mem[59577] = 52944410
  171 mask = X1011001X0XX111011100XX010101X01X010
  172 mem[56449] = 144
  173 mem[8753] = 984864
  174 mem[23728] = 173703761
  175 mem[34970] = 28269
  176 mem[32500] = 49931
  177 mask = X0000100111X11111110X10X0101001100X1
  178 mem[64582] = 6646737
  179 mem[37177] = 10
  180 mem[57474] = 313623
  181 mem[17322] = 147838906
  182 mem[28766] = 15110001
  183 mem[49] = 80836580
  184 mask = 001010000X11111X10X0X111X0XX00X100X1
  185 mem[53163] = 15243
  186 mem[61002] = 406400
  187 mem[28930] = 465647779
  188 mask = 0010000X11101111100010X00XX1XX01XX01
  189 mem[1315] = 625209
  190 mem[44187] = 14395
  191 mask = X0010XX0011011111110110X0101XX0X00XX
  192 mem[31859] = 95408
  193 mem[16534] = 121119590
  194 mem[26550] = 8188494
  195 mem[37302] = 407378
  196 mask = 001XX1XXX1111X1110100001X00000111001
  197 mem[37574] = 31364
  198 mem[26443] = 2676291
  199 mem[22192] = 26966115
  200 mask = 001X010X001X011110001101XXX0X101XX11
  201 mem[41368] = 50472035
  202 mem[25252] = 3850
  203 mem[21011] = 7912441
  204 mem[55890] = 2474497
  205 mask = 0010010000X11XX111X0101X100000101000
  206 mem[57489] = 10006848
  207 mem[7880] = 30889
  208 mem[54742] = 14408
  209 mask = 0010100X00X1X11X101000X1X00X001100XX
  210 mem[28474] = 137340532
  211 mem[57910] = 3261
  212 mem[35212] = 974067528
  213 mem[24595] = 15641
  214 mask = 0X0X01X00110X11111X0X001X1011010X101
  215 mem[1515] = 4597
  216 mem[20626] = 483632
  217 mem[50912] = 101611112
  218 mem[62450] = 463312
  219 mask = 00101X000X0111011110X10X10011X100001
  220 mem[5378] = 132014
  221 mem[13345] = 2058543
  222 mem[42684] = 2824
  223 mem[34576] = 6385683
  224 mem[27201] = 2519
  225 mem[9632] = 202081
  226 mask = X0X1010001X011X111100001001X01XX1XX1
  227 mem[1538] = 2389067
  228 mem[4972] = 19131
  229 mem[23129] = 256828081
  230 mem[17188] = 185346747
  231 mem[44295] = 143437003
  232 mem[44830] = 5686
  233 mem[46528] = 4177799
  234 mask = X0010010001X1111110011X011XX11X1X011
  235 mem[7033] = 2748
  236 mem[2431] = 17997007
  237 mem[13924] = 90861
  238 mem[63656] = 497878
  239 mem[61841] = 891
  240 mem[10405] = 6177
  241 mem[55811] = 43078384
  242 mask = X110XX0011111XX1X11001X000000001X000
  243 mem[62283] = 8553774
  244 mem[14788] = 308418
  245 mem[5878] = 2324
  246 mask = 0000010001101111101XX1X00001001101XX
  247 mem[23816] = 69720
  248 mem[29524] = 197631
  249 mask = 10X100100011X111110011010X0X10X10XX1
  250 mem[5288] = 1072
  251 mem[34681] = 1902
  252 mem[47529] = 1012160
  253 mem[42117] = 232642695
  254 mem[7153] = 420427964
  255 mem[23129] = 10261
  256 mem[24545] = 1661292
  257 mask = X1011X010XX0X1X1X010001001001X001111
  258 mem[3984] = 17460969
  259 mem[43208] = 1626
  260 mem[12288] = 3244
  261 mem[1261] = 685777140
  262 mem[35662] = 3875
  263 mem[13197] = 807702837
  264 mem[8450] = 39850899
  265 mask = 001X0X00011X11111000000110010X0XXX1X
  266 mem[35167] = 3384
  267 mem[1969] = 3362919
  268 mem[4732] = 99083530
  269 mem[58162] = 1382314
  270 mask = 10000X10011011X11010000X11X1X0010100
  271 mem[50583] = 4112
  272 mem[4097] = 907
  273 mem[45785] = 1275731
  274 mem[31108] = 7733
  275 mem[50267] = 2625942
  276 mask = X0010X1001X011111110110011000111X0X0
  277 mem[35870] = 1100551
  278 mem[8514] = 8042956
  279 mem[10848] = 96032
  280 mem[44678] = 213384
  281 mem[25743] = 3586812
  282 mem[34074] = 991022
  283 mask = X010X1001111X1111110010X000011000011
  284 mem[61953] = 3703
  285 mem[41415] = 250960289
  286 mem[24262] = 14129393
  287 mask = 000X010XX11011X111100100110X001000X0
  288 mem[51393] = 320156165
  289 mem[27955] = 21751009
  290 mem[61468] = 8941693
  291 mem[24188] = 176466079
  292 mem[10717] = 2950
  293 mask = 0010XX00X11110101000X0110000X101X100
  294 mem[37149] = 18981413
  295 mem[12384] = 479738
  296 mem[17072] = 5196
  297 mem[59325] = 170080
  298 mem[3269] = 86268393
  299 mem[48598] = 18530
  300 mem[11287] = 4082
  301 mask = 0X101100X11X11111X10X0X01000X1110010
  302 mem[47267] = 12410
  303 mem[8609] = 6923289
  304 mem[28364] = 23091829
  305 mem[63780] = 858
  306 mem[21558] = 48929393
  307 mem[46110] = 74033138
  308 mask = 001011X0011111111010X10100X10X000011
  309 mem[30364] = 14013071
  310 mem[23121] = 5777
  311 mem[54108] = 11707710
  312 mask = 0010XX00X11X11111XX010X00X000X010011
  313 mem[29453] = 3480476
  314 mem[7516] = 869816189
  315 mem[57136] = 130673464
  316 mem[8609] = 2000
  317 mem[45543] = 1014823
  318 mem[3249] = 75
  319 mem[14460] = 18422415
  320 mask = 000X011000111X1X111010X0X10X11X10011
  321 mem[14556] = 7853751
  322 mem[29755] = 535169084
  323 mem[24262] = 4027
  324 mem[34051] = 13187123
  325 mask = 000X011X0X1X1111X110000000XX0000X11X
  326 mem[13879] = 2383
  327 mem[57329] = 749
  328 mem[54544] = 3055190
  329 mask = 00110XX00111111X10010001XX1000101000
  330 mem[4852] = 429814346
  331 mem[55439] = 7610
  332 mem[31685] = 811508716
  333 mem[38296] = 185763
  334 mem[16482] = 3668
  335 mem[47529] = 3803
  336 mask = X01011000111111X1011010101101X011X01
  337 mem[58499] = 851439
  338 mem[38516] = 3082
  339 mem[32500] = 364520
  340 mask = 001X110001111X10X000001011X001000101
  341 mem[44653] = 157371860
  342 mem[2226] = 58088617
  343 mem[10098] = 67459
  344 mem[45739] = 3994
  345 mem[4180] = 206930963
  346 mask = 001XX0000XX1111010X00011000001011011
  347 mem[53876] = 843104
  348 mem[56118] = 1019
  349 mem[39503] = 6758
  350 mem[24134] = 9483199
  351 mem[25914] = 26956
  352 mem[10098] = 63837172
  353 mem[40642] = 2366588
  354 mask = 0XX10X1001X1111X1X101010010XX01000X0
  355 mem[16432] = 17158914
  356 mem[29927] = 9292527
  357 mem[57922] = 24395252
  358 mem[48327] = 253
  359 mem[15450] = 496726
  360 mem[57027] = 518857449
  361 mask = 0101XXX0011X11111110X0XX01X010000111
  362 mem[39393] = 570
  363 mem[38893] = 21253926
  364 mask = 0010010X01XX1X1101100000010100110101
  365 mem[64325] = 416581774
  366 mem[26376] = 1666947
  367 mem[6276] = 90042
  368 mask = 0X00001101101111X11X010010XX1X1XX01X
  369 mem[20354] = 2180
  370 mem[50761] = 7237731
  371 mem[54710] = 5718
  372 mem[43883] = 2618938
  373 mem[59235] = 22130448
  374 mem[59325] = 14410783
  375 mask = 00000001X0101X11X110101001X11100X0X1
  376 mem[24262] = 10756242
  377 mem[59282] = 296121
  378 mem[15931] = 49
  379 mem[44067] = 339152264
  380 mem[22192] = 2750756
  381 mem[897] = 639
  382 mask = 001011X011111X1110X01X01X0XX0101X101
  383 mem[21410] = 5056
  384 mem[43472] = 198924166
  385 mem[50343] = 5363196
  386 mem[7486] = 773744
  387 mem[49418] = 77311216
  388 mask = 001X0000011011111X00000X1011X1X01XX0
  389 mem[19633] = 5522082
  390 mem[4682] = 51724569
  391 mem[36252] = 260
  392 mask = 001011X0111X1X1110XX000X100001X100X0
  393 mem[34373] = 803
  394 mem[61841] = 25585959
  395 mem[29051] = 2011
  396 mem[53885] = 4255251
  397 mem[55135] = 49781551
  398 mem[11748] = 5712
  399 mask = 000001000X1011111110X11X0XX11101100X
  400 mem[28073] = 257781932
  401 mem[32292] = 7788
  402 mem[47529] = 21491591
  403 mem[26354] = 3991
  404 mem[46496] = 225777
  405 mem[19054] = 6818
  406 mem[46391] = 1804050
  407 mask = 0X01X1110011111101X011X1X10010011100
  408 mem[8848] = 3301953
  409 mem[21325] = 828483041
  410 mem[35954] = 393891988
  411 mask = 001010XX11X0X11X1010001000001111X1X1
  412 mem[14556] = 48978
  413 mem[17078] = 3023995
  414 mem[41895] = 1263
  415 mem[26354] = 982
  416 mem[47494] = 9997
  417 mem[42458] = 139205796
  418 mask = 01011X0X01XX11X11X10001X010X10001100
  419 mem[30326] = 230268
  420 mem[13671] = 406
  421 mem[13219] = 816366
  422 mask = 00X0111000101101XX10X010X100X0101X01
  423 mem[9172] = 5603
  424 mem[10540] = 399
  425 mem[6994] = 2969
  426 mem[41827] = 157730
  427 mem[57564] = 713362
  428 mem[16823] = 335722
  429 mem[38893] = 724
  430 mask = X1X10110011111X01X101X111101X0X1X000
  431 mem[5336] = 623
  432 mem[31859] = 88241437
  433 mem[7282] = 19257561
  434 mem[37684] = 5467271
  435 mem[50354] = 2120264
  436 mask = 0000X100111X1111X1X001X0000X00110001
  437 mem[61468] = 9124391
  438 mem[35212] = 23096803
  439 mem[9949] = 9454
  440 mem[1331] = 995
  441 mem[39238] = 74423
  442 mask = 00100100111X1111111011X1XX010X1X0010
  443 mem[39294] = 114968517
  444 mem[23155] = 1708
  445 mem[29927] = 7693420
  446 mem[26742] = 2017
  447 mask = 001001001X101111X1X0XX01100X0X0101XX
  448 mem[29056] = 30646
  449 mem[59210] = 113022
  450 mem[43000] = 144138476
  451 mem[35167] = 721
  452 mem[30809] = 507151422
  453 mask = 0001X0100101111010X0100000X0X0100010
  454 mem[34554] = 49221
  455 mem[7437] = 62877
  456 mem[59828] = 184498
  457 mem[45586] = 20089049
  458 mem[48248] = 98197865
  459 mem[44772] = 113026522
  460 mask = 00X0X000111X11111010X10X1011010X0X01
  461 mem[40499] = 11427785
  462 mem[60906] = 496319403
  463 mem[55126] = 270707060
  464 mask = 001XXXX10011X1111000110X0X000XX10001
  465 mem[17938] = 535040
  466 mem[59138] = 250862772
  467 mem[8507] = 41576622
  468 mem[14146] = 1026
  469 mem[32774] = 2975
  470 mem[39952] = 440004
  471 mem[13671] = 2552
  472 mask = 00000100X110111X111001X0X10X0XX100X1
  473 mem[43163] = 1156
  474 mem[35680] = 6039549
  475 mem[15378] = 657
  476 mem[52635] = 15396
  477 mem[25926] = 210
  478 mem[28827] = 206264701
  479 mask = 001X100X001X1111100011X1XX1000100X01
  480 mem[5753] = 1286
  481 mem[6271] = 6375
  482 mem[47122] = 5264524
  483 mask = 0X01100XXX10111X1X100X10000X1000001X
  484 mem[51736] = 2480
  485 mem[16722] = 663122146
  486 mem[18483] = 119830
  487 mem[13423] = 136699070
  488 mem[65442] = 23484946
  489 mem[50742] = 716
  490 mem[14788] = 129808
  491 mask = 100100000X101111111001000101X00X01X0
  492 mem[35279] = 11923915
  493 mem[12886] = 216539704
  494 mem[29197] = 258471
  495 mem[34051] = 24342647
  496 mem[34556] = 219870381
  497 mask = 0010X100011011X11110X1101X010X1001X1
  498 mem[17497] = 684
  499 mem[8762] = 255129
  500 mem[44486] = 49869056
  501 mem[35680] = 210517
  502 mem[18805] = 17289
  503 mask = 001011101X1011111X01111010001000XX01
  504 mem[31918] = 89826257
  505 mem[31090] = 57962
  506 mem[53807] = 2817
  507 mem[12784] = 2137
  508 mem[31369] = 64658
  509 mask = X000X1X0011011111010X0X111XX00X1X100
  510 mem[63989] = 3267
  511 mem[23677] = 2600
  512 mem[42781] = 125518
  513 mem[37480] = 3172
  514 mem[23573] = 8287963
  515 mask = 0010110001111XXX10XX0X1X0X0000010100
  516 mem[1654] = 317418946
  517 mem[46425] = 459126
  518 mem[31666] = 9190945
  519 mem[12079] = 168185843
  520 mem[39256] = 178728
  521 mem[52287] = 59458806
  522 mask = 000001000110111X1010X00000X100110X00
  523 mem[55820] = 2071
  524 mem[33429] = 821261571
  525 mem[16244] = 3215
  526 mask = 100110100110X1111110X01101X1XX10X011
  527 mem[47796] = 98
  528 mem[31040] = 1031334
  529 mem[9622] = 1580517
  530 mask = 00100X001110XX11110000011101X0011001
  531 mem[42781] = 312404
  532 mem[39942] = 123252858
  533 mem[20867] = 1356
  534 mem[14667] = 576
  535 mem[35502] = 298476332
  536 mem[53427] = 365745
  537 mask = 00010X100110111111100010XX00XX000100
  538 mem[53876] = 603517
  539 mem[10405] = 16459102
  540 mem[45543] = 4443
  541 mem[41543] = 1411
  542 mem[62450] = 6470215
  543 mask = 100X110X11111X110X0010000X0X10001X10
  544 mem[5336] = 650575
  545 mem[50124] = 3080229
  546 mem[51618] = 156
  547 mem[42185] = 1366
  548 mask = 00X0X1101110101110XX1011X001001110X0
  549 mem[30736] = 333574460
  550 mem[13675] = 8643742
  551 mem[12826] = 453315
  552 mask = 000X00100X1X1X111XX0101X0X100111000X
  553 mem[54995] = 183737953
  554 mem[63234] = 679
  555 mem[61488] = 337
  556 mask = 0XX11111X0111X1X01001111X00X11001XX1
  557 mem[10621] = 122118726
  558 mem[6109] = 9210
  559 mem[15688] = 184799
  560 mem[25564] = 367237
  561 mask = 00110000011X1111100X000X00XXX1XX1000
  562 mem[17938] = 33020705
  563 mem[2666] = 88651117
  564 mem[21482] = 161753