diff --git a/input/day01.txt b/input/day01.txt new file mode 100644 index 0000000..054f77e --- /dev/null +++ b/input/day01.txt @@ -0,0 +1,101 @@ +50811 +128897 +89996 +149611 +141114 +135923 +111930 +92803 +55111 +114261 +149401 +121105 +89980 +146337 +128900 +51762 +127032 +57866 +72814 +70392 +148287 +51967 +55537 +61690 +121273 +122763 +149371 +130761 +109332 +102438 +116529 +83874 +78013 +75757 +54385 +65358 +94688 +123967 +127817 +115897 +113593 +99937 +68431 +113574 +115052 +54020 +99599 +133442 +121435 +117860 +67436 +54157 +147123 +54878 +50710 +105304 +91777 +122063 +61713 +79487 +149776 +79763 +80542 +86260 +60863 +83083 +127211 +146648 +52711 +90278 +130288 +77677 +142894 +106849 +103233 +95229 +51169 +127162 +66614 +134157 +81357 +143084 +127415 +99257 +131490 +117657 +137687 +85974 +80270 +104257 +141006 +51197 +133995 +62314 +84078 +141718 +140422 +140680 +125301 +59677 + diff --git a/input/day02.txt b/input/day02.txt new file mode 100644 index 0000000..de48c96 --- /dev/null +++ b/input/day02.txt @@ -0,0 +1 @@ +1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,10,1,19,1,19,6,23,2,13,23,27,1,27,13,31,1,9,31,35,1,35,9,39,1,39,5,43,2,6,43,47,1,47,6,51,2,51,9,55,2,55,13,59,1,59,6,63,1,10,63,67,2,67,9,71,2,6,71,75,1,75,5,79,2,79,10,83,1,5,83,87,2,9,87,91,1,5,91,95,2,13,95,99,1,99,10,103,1,103,2,107,1,107,6,0,99,2,14,0,0 diff --git a/input/day03.txt b/input/day03.txt new file mode 100644 index 0000000..7419b09 --- /dev/null +++ b/input/day03.txt @@ -0,0 +1,3 @@ +R1009,U993,L383,D725,R163,D312,R339,U650,R558,U384,R329,D61,L172,D555,R160,D972,L550,D801,L965,U818,L123,D530,R176,D353,L25,U694,L339,U600,L681,D37,R149,D742,R762,U869,R826,U300,L949,U978,L303,U361,R136,D343,L909,U551,R745,U913,L566,D292,R820,U886,R205,D431,L93,D71,R577,U872,L705,U510,L698,U963,R607,U527,L669,D543,R690,U954,L929,D218,R490,U500,L589,D332,R949,D538,R696,U659,L188,U468,L939,U833,L445,D430,R78,D303,R130,D649,R849,D712,L511,U745,R51,U973,R799,U829,R605,D771,L837,U204,L414,D427,R538,U116,R540,D168,R493,U900,L679,U431,L521,D500,L428,U332,L954,U717,L853,D339,L88,U807,L607,D496,L163,U468,L25,U267,L759,D898,L591,U445,L469,U531,R596,D486,L728,D677,R350,D429,R39,U568,R92,D875,L835,D841,R877,U178,L221,U88,R592,U692,R455,U693,L419,U90,R609,U672,L293,U168,R175,D456,R319,D570,R504,D165,L232,D624,L604,D68,R807,D59,R320,D281,L371,U956,L788,D897,L231,D829,R287,D798,L443,U194,R513,D925,L232,U225,L919,U563,R448,D889,R661,U852,L950,D558,L269,U186,L625,U673,L995,U732,R435,U849,L413,D690,L158,D234,R361,D458,L271,U90,L781,U754,R256,U162,L842,U927,L144,D62,R928,D238,R473,U97,L745,U303,L487,D349,L520,D31,L825,U385,L133,D948,L39,U62,R801,D664,L333,U134,R692,U385,L658,U202,L279,D374,R489,D686,L182,U222,R733,U177,R94,D603,L376,U901,R216,D851,L155,D214,L460,U758,R121,D746,L180,U175,L943,U146,L166,D251,L238,U168,L642,D341,R281,U182,R539,D416,R553,D67,L748,U272,R257,D869,L340,U180,R791,U138,L755,D976,R731,U713,R602,D284,L258,U176,R509,U46,R935,U576,R96,U89,L913,U703,R833 +L1006,D998,R94,D841,R911,D381,R532,U836,L299,U237,R781,D597,L399,D800,L775,D405,L485,U636,R589,D942,L878,D779,L751,U711,L973,U410,L151,U15,L685,U417,L106,D648,L105,D461,R448,D743,L589,D430,R883,U37,R155,U350,L421,U23,R337,U816,R384,D671,R615,D410,L910,U914,L579,U385,R916,U13,R268,D519,R289,U410,L389,D885,L894,U734,L474,U707,L72,U155,L237,U760,L127,U806,L15,U381,L557,D727,L569,U320,L985,D452,L8,D884,R356,U732,L672,D458,L485,U402,L238,D30,R644,U125,R753,U183,L773,U487,R849,U210,L164,D808,L595,D668,L340,U785,R313,D72,L76,D263,R689,U604,R471,U688,R462,D915,R106,D335,R869,U499,R190,D916,R468,D882,R56,D858,L143,D741,L386,U856,R50,U853,R151,D114,L773,U854,L290,D344,L23,U796,L531,D932,R314,U960,R643,D303,L661,D493,L82,D491,L722,U848,L686,U4,L985,D509,L135,D452,R500,U105,L326,D101,R222,D944,L645,D362,L628,U305,L965,U356,L358,D137,R787,U728,R967,U404,R18,D928,L695,D965,R281,D597,L791,U731,R746,U163,L780,U41,L255,U81,L530,D964,R921,D297,R475,U663,L226,U623,L984,U943,L143,U201,R926,U572,R343,U839,R764,U751,R128,U939,R987,D108,R474,U599,R412,D248,R125,U797,L91,D761,L840,U290,L281,U779,R650,D797,R185,D320,L25,U378,L696,U332,R75,D620,L213,D667,R558,U267,L846,U306,R939,D220,R311,U827,R345,U534,R56,D679,R48,D845,R898,U8,R862,D960,R753,U319,L886,D795,R805,D265,R876,U729,R894,D368,R858,U744,R506,D327,L903,U919,L721,U507,L463,U753,R775,D719,R315,U128,R17,D376,R999,D386,L259,U181,L162,U605,L265,D430,R35,D968,R207,U466,R796,D667,R93,U749,L315,D410,R312,U929,L923,U260,R638 + diff --git a/input/day04.txt b/input/day04.txt new file mode 100644 index 0000000..2b191ab --- /dev/null +++ b/input/day04.txt @@ -0,0 +1 @@ +128392-643281 diff --git a/input/day05.txt b/input/day05.txt new file mode 100644 index 0000000..8dd051e --- /dev/null +++ b/input/day05.txt @@ -0,0 +1,2 @@ +3,225,1,225,6,6,1100,1,238,225,104,0,1101,90,60,224,1001,224,-150,224,4,224,1002,223,8,223,1001,224,7,224,1,224,223,223,1,57,83,224,1001,224,-99,224,4,224,1002,223,8,223,1001,224,5,224,1,223,224,223,1102,92,88,225,101,41,187,224,1001,224,-82,224,4,224,1002,223,8,223,101,7,224,224,1,224,223,223,1101,7,20,225,1101,82,64,225,1002,183,42,224,101,-1554,224,224,4,224,102,8,223,223,1001,224,1,224,1,224,223,223,1102,70,30,224,101,-2100,224,224,4,224,102,8,223,223,101,1,224,224,1,224,223,223,2,87,214,224,1001,224,-2460,224,4,224,1002,223,8,223,101,7,224,224,1,223,224,223,102,36,180,224,1001,224,-1368,224,4,224,1002,223,8,223,1001,224,5,224,1,223,224,223,1102,50,38,225,1102,37,14,225,1101,41,20,225,1001,217,7,224,101,-25,224,224,4,224,1002,223,8,223,101,2,224,224,1,224,223,223,1101,7,30,225,1102,18,16,225,4,223,99,0,0,0,677,0,0,0,0,0,0,0,0,0,0,0,1105,0,99999,1105,227,247,1105,1,99999,1005,227,99999,1005,0,256,1105,1,99999,1106,227,99999,1106,0,265,1105,1,99999,1006,0,99999,1006,227,274,1105,1,99999,1105,1,280,1105,1,99999,1,225,225,225,1101,294,0,0,105,1,0,1105,1,99999,1106,0,300,1105,1,99999,1,225,225,225,1101,314,0,0,106,0,0,1105,1,99999,7,226,226,224,102,2,223,223,1006,224,329,101,1,223,223,1107,677,226,224,102,2,223,223,1006,224,344,1001,223,1,223,8,677,226,224,1002,223,2,223,1005,224,359,101,1,223,223,107,677,677,224,1002,223,2,223,1006,224,374,101,1,223,223,7,677,226,224,1002,223,2,223,1006,224,389,101,1,223,223,108,677,226,224,1002,223,2,223,1005,224,404,101,1,223,223,1108,677,226,224,102,2,223,223,1005,224,419,101,1,223,223,8,226,677,224,102,2,223,223,1006,224,434,1001,223,1,223,1008,677,677,224,1002,223,2,223,1005,224,449,1001,223,1,223,1107,226,677,224,102,2,223,223,1006,224,464,101,1,223,223,107,226,677,224,1002,223,2,223,1006,224,479,1001,223,1,223,7,226,677,224,102,2,223,223,1005,224,494,1001,223,1,223,8,677,677,224,102,2,223,223,1006,224,509,1001,223,1,223,1108,677,677,224,102,2,223,223,1005,224,524,1001,223,1,223,1108,226,677,224,1002,223,2,223,1005,224,539,101,1,223,223,107,226,226,224,102,2,223,223,1006,224,554,1001,223,1,223,1007,226,226,224,102,2,223,223,1005,224,569,1001,223,1,223,1008,226,226,224,102,2,223,223,1005,224,584,101,1,223,223,1007,677,677,224,1002,223,2,223,1005,224,599,1001,223,1,223,108,677,677,224,1002,223,2,223,1006,224,614,1001,223,1,223,1007,226,677,224,1002,223,2,223,1006,224,629,101,1,223,223,1008,677,226,224,102,2,223,223,1005,224,644,101,1,223,223,1107,226,226,224,1002,223,2,223,1005,224,659,1001,223,1,223,108,226,226,224,1002,223,2,223,1005,224,674,101,1,223,223,4,223,99,226 + diff --git a/input/day06.txt b/input/day06.txt new file mode 100644 index 0000000..e4876ec --- /dev/null +++ b/input/day06.txt @@ -0,0 +1,1605 @@ +F6J)1YB +6LV)SG3 +K7G)GD2 +JC1)Y2W +43D)SP2 +YQV)JKG +TD4)7SZ +H8T)43D +T1S)H8Y +1BW)H7F +PDV)93Q +2HK)Z93 +37L)1FF +35Y)MZH +7NY)DWF +YLS)5B6 +N66)QLD +T9K)TMS +JZF)7TC +9QD)YRG +5T2)CYY +DBP)FG7 +JVN)N7N +Q78)K9T +6CZ)D66 +WD3)LNP +7YB)Y9T +Z3S)115 +2PD)RC7 +XZS)DZD +PCP)3YG +QYH)3CV +F3M)1SZ +37W)C4L +W1Y)T5F +S9V)TD7 +L52)81R +7F1)45V +858)YN9 +4JB)RMY +NL4)F8R +V6D)KPP +ZMR)KXH +X7Y)N3G +TRT)W5B +FHH)MNV +725)W9Y +QYG)D7S +LQX)ZQK +KTL)G6X +Z93)GZS +W28)BFC +PR1)9B6 +MNX)Y76 +YZG)1WK +X6S)H9M +GPY)HLS +7XR)G7Q +5B1)MVF +3GK)XTS +KFK)36G +5B6)PD9 +TL4)NXV +265)84G +Z5T)B78 +JBB)LG9 +GLM)1H1 +H6F)P9N +DZP)MFM +ZNL)FHH +QRZ)M8Q +QQ6)1KW +SG3)GPW +D85)QX4 +W85)Y98 +4SF)R39 +7RL)54X +GX8)6QS +MD4)6ZK +5ST)NHM +6GS)9G6 +6M7)8FF +GZS)XFJ +NHM)SMF +Y8X)KTL +V8R)9N5 +PVX)G41 +JP5)TRV +29T)LVJ +B78)9FH +HGW)MXC +D3K)PX5 +BMQ)7KP +5FP)CSK +X7T)2JP +TD7)5BW +9BG)2LR +DQS)FKY +XZC)W1J +3LR)DVC +FMK)3WS +Y7C)177 +C7X)LSN +HG3)SZM +P9N)KNV +YW9)WL7 +MD7)XZC +RC1)S1N +M8Q)LDZ +23V)ZPH +NR2)WYF +VN8)2XR +44R)KH9 +BHZ)ZMG +G89)38T +8CC)6VK +7YS)3LL +KZG)V5V +G1B)GNM +KPP)64T +B8P)W9T +2VT)FL6 +WWC)Y6F +KHT)GHX +83D)NZK +64T)JD7 +VVL)7RB +3WK)1NW +H36)Z4K +8L8)M2Y +7R5)RSS +N8V)V8G +NG4)YKB +SHH)PVX +PN2)2L5 +ZRT)J2C +LDZ)73H +CSK)H47 +QDB)9W9 +2D4)26N +YJT)7YS +DX8)X7Y +MW3)6YY +TLC)KJM +B58)5XY +Q6R)WXJ +P8F)QNY +Y6F)JWT +CRD)FVT +KLW)TMQ +9M1)TWB +NHZ)3CS +9ZL)CRD +R9H)HM1 +YD5)TX1 +FPR)4P4 +GR6)T1S +7NZ)X1G +WJZ)4LY +QCG)D3G +685)PTQ +FZJ)4NP +56S)78G +CC7)ZWF +XBT)7ZQ +BH3)MRP +2W1)P61 +QS6)M4N +X2P)Y28 +5TG)VW5 +DM7)893 +X2P)JY1 +XKV)WLK +XFJ)QP3 +PNH)7GL +DNH)FPN +ZTK)9H9 +FFN)M3W +FZR)741 +54S)C1Z +S2M)ZNL +7DW)TWY +FKY)RLH +SKG)KLW +ML8)6PR +PS2)FS6 +WSV)R4R +MYQ)3JX +ZYP)LRB +96X)Q7Z +7M9)RC1 +QKQ)QYH +TPB)YHM +TX1)4PK +X9Q)3RC +ZZ3)ZJT +HF3)HPL +ZPH)G7G +T6N)QG1 +ZJT)FVH +J2L)DT4 +6LP)HKV +TJJ)83L +CNH)6M7 +B55)V2V +1TK)FGT +NLQ)968 +37H)F7V +SZM)XKV +5ZF)JL1 +2C6)YVD +Y55)H3N +TJZ)R1D +F79)NJT +XC3)QTM +1RX)WMY +L5N)ZTK +N43)TSG +PFC)61H +WD7)WH2 +11D)68G +NXV)84Z +NMG)MNX +LRZ)N31 +8PQ)MJC +W15)WZ3 +V5H)21N +DXX)Z79 +L8M)57F +GYD)WQ6 +4FH)P7L +W3L)1M2 +F7V)Y3L +64K)6LP +GBK)J1M +GNM)BMQ +FMP)H36 +865)ZMW +5ZH)931 +4P4)2DN +7PT)DM7 +F4X)1VY +BSM)JWV +V1J)W15 +HGW)SS8 +JK5)MD5 +Z79)WQZ +1V6)PN2 +3Z1)VQR +G2B)333 +C5D)F3M +W5B)RBC +3R9)C7X +115)5JK +KMG)9G9 +DYR)1QX +GLR)KNJ +C59)W28 +V5M)FMP +DGY)LQN +WVY)JLW +376)YJT +LBK)ZCV +JWD)YPX +98D)CWQ +P3H)9ZL +VJG)596 +R62)QDK +KC6)5B1 +WDF)MN4 +4D8)K74 +BXF)6RY +FNX)SKG +FPN)2DB +3KH)H87 +YFW)FVN +8JS)6J8 +C4G)MMV +TD3)FGL +1TX)Z9M +18G)Y55 +RCS)ZMR +4F2)CNX +YKP)54S +RWG)4DH +RR7)JQL +N6H)3YV +BLL)PCP +DJP)MJR +7ZK)4HV +9H6)BMX +DT4)GK5 +WYF)P59 +QPX)NKZ +177)BMY +LHK)4ZZ +HN7)JWD +1TL)RX6 +WD5)SNT +R4R)CVL +4JN)DC9 +JXW)1RX +VBR)99Q +T53)KLR +5T1)7HH +6MH)3H4 +HHN)PHL +BNM)RJ4 +7XM)QYG +V9L)TJN +Y79)BSP +LLF)5KJ +VS5)5S9 +DJY)KTQ +Q57)37H +HPL)9M1 +YWN)YTR +FW4)8Y4 +T4F)NHZ +WQ6)61N +8LF)BVP +5MQ)Z5F +KG5)N99 +NZK)YNY +8FM)9ZM +27V)C2V +VXT)KMG +5W6)B2N +X2R)VJT +JQL)J91 +YWP)89X +T42)V5M +2Z2)H63 +GXJ)YWN +JJG)L7H +S3V)TL4 +RFC)4LJ +YD5)QJ5 +TNW)BWL +1B9)7NZ +P8G)6D1 +YVD)BGV +GXX)RR7 +C8W)CFB +YHM)J4D +FZX)SFP +D5S)FS2 +FZC)YGK +PJL)Z8G +SF6)YG5 +R42)414 +57F)SF6 +LRD)F9T +6YV)75H +1NW)ZK6 +XN5)9HM +MN4)TRT +DKG)NF8 +6PN)PS2 +Y76)CNS +XWF)85R +D63)J9M +235)CYJ +414)R62 +NQM)9JM +D9V)JP5 +LVJ)WTF +D94)RYS +6H7)DHN +RBW)B1W +7SS)S2M +GT8)278 +PWL)L9V +MXC)3K6 +7HB)Q9M +9L5)DYR +TMS)4MC +9XQ)TD3 +65K)Q6R +LTG)ZF1 +WKK)RX3 +ST3)6K3 +YS6)7ZK +G9C)8YP +GHB)8Y6 +PP4)QDD +QLD)7CF +QMG)KNS +WZ3)F31 +PS3)KFB +FQC)YS2 +HM1)T68 +VYS)PDD +J8S)GR9 +BWS)7M9 +7RM)9QD +DWM)MFX +RQK)X2P +RGF)9FR +9KL)L48 +7FG)PS3 +2V1)7BJ +TFW)X4T +WHD)7ZF +YNY)72H +78D)9MZ +LG9)YBL +5BT)725 +6B1)81D +MPD)MZN +KJM)YLS +XTS)GBK +MD5)RDS +2QV)8P3 +45V)LTG +8KR)GYW +H9J)7V5 +MJL)FFN +5SB)JD3 +L7N)GDY +J1M)HSF +FVN)LTQ +NCN)T2H +R3X)C1Q +YFJ)S54 +WXJ)HN7 +38T)JNF +9RM)RBN +WCP)9M8 +PZ9)BB4 +RBM)9X7 +CGM)8PQ +GQG)5G9 +968)D3N +YKB)C59 +JWT)MLP +RDD)XNY +KLR)S9V +COM)LGH +LY2)JC8 +S6Z)LRG +WTX)7DF +HN7)BY5 +8CC)NL4 +655)TWM +6JV)NH2 +GRG)SV3 +5G8)NRZ +XG9)172 +6GG)B7D +QCK)2RJ +NY3)QKQ +TRV)KVC +B92)83D +V21)Z1S +3LP)18M +3BX)LTN +3YV)VZZ +829)SS6 +4SM)H6F +CCF)DZP +MBJ)SLW +XS2)V5H +HVR)4BC +R23)XZV +931)XGD +5DZ)W1N +3RB)VKY +JD3)F1W +B99)4F4 +464)12L +9DV)2Z2 +YTR)6J7 +2VY)N86 +4F4)NXW +6V5)YFW +KQP)BKJ +9H9)G91 +KC6)4W2 +7Q8)YOU +1M2)88F +9G4)JPD +9QD)YVF +T1S)DYD +NJ7)4SF +M94)3PJ +8GS)5JW +5G9)W7W +GPW)LN8 +SDN)K7G +16X)CHH +1GQ)4KJ +SM5)6M4 +D3N)31J +R9B)QBF +MVF)L7T +JPR)K1B +J6L)CC7 +92N)BSM +TT5)RHW +NMF)18G +LTQ)LLF +9WS)9XQ +BMX)B5V +73P)8NF +SS8)JQT +NRF)JBB +L6D)SDN +6NX)QYW +VWR)G9C +4WL)KV4 +YN9)D9V +X1G)6YW +XJV)NGK +ZSN)9H6 +14S)9J3 +Z9M)CZW +CYJ)FBT +347)WBN +JS9)6LX +DD2)293 +738)7JR +V5V)5ZF +9FR)C5D +12L)VS5 +84T)CR1 +RN6)M5N +4W2)YWG +PXL)1B1 +Q6R)7JF +PFK)Y79 +TT2)7NM +WZ3)WD3 +26C)X4J +PJL)69B +HJS)G95 +W9T)H1W +TSN)6PN +PF1)NLV +7YL)VCS +52Q)G6P +3BZ)QS6 +7KD)T6N +21X)MGN +5JV)DL7 +ZPR)2C6 +NYH)NPD +CGG)NG4 +K8K)CKJ +1ZC)Y7C +NH2)HGW +YBW)5MR +7NM)T1J +X6H)DNH +TZ2)C13 +F5G)VBR +WDX)K2S +486)858 +76P)TNG +C4G)D5S +D4D)TSN +QX4)493 +VQR)KKK +BJS)CM6 +QX7)RCS +M15)7PT +KHD)F3B +4F2)49P +RP2)KSN +F9L)FZC +WXV)LRZ +M2Y)BHZ +XNY)DWM +D82)GMP +BHQ)GT8 +5T1)XP9 +3JX)BPM +38R)CS7 +X4J)DTZ +X94)9WS +MGN)WKQ +9GV)TLC +8BX)TKM +ZRT)HXH +J4D)JK5 +2B9)3RB +6B8)GHJ +16W)7XR +PD7)32Q +CNS)KQP +WZ7)5SB +CFB)K8H +LWS)2M1 +2WF)G4B +BSP)J48 +QYF)F9L +GD2)1TK +BFC)8FM +21N)4D8 +4W5)7Z9 +T68)C3N +GNY)X93 +KSX)ZYP +ZYZ)LTW +37L)PP4 +KDG)2B9 +LRB)4WL +HNZ)BX5 +2LR)MJL +GGB)THL +DLV)C3M +1V8)WDX +9MZ)FR7 +NZ7)L5N +NRZ)GLM +TKM)7YB +8SW)7Q8 +KV4)4FH +MC8)SVW +8SW)5KB +RMY)X6L +3PB)XBQ +RMW)5BT +BB4)VVL +F3S)TPB +BFG)KYX +3CV)F4K +B15)7PY +G4Y)JVN +P7L)Y3K +QTM)98D +D28)5TG +C1Z)J2L +VY2)V36 +V1J)GW9 +CKJ)WTX +LSN)TW9 +CNX)ZHM +5Q7)1MV +MZN)4BX +H78)LSH +G7G)YXK +3HB)ZZN +ZRB)FW4 +D69)6JD +PCN)MQH +N8C)TZ2 +KNJ)HWR +MYQ)265 +37S)GPY +7RB)B7Q +6YW)BKS +W2L)LXD +73H)K2H +G7G)1Q8 +J2C)6GM +7ZF)ZRT +CWJ)7NY +3F6)CNH +VQB)D63 +596)31R +SLW)FLV +Y3L)MYQ +XB2)FF3 +8HQ)S2H +Z1S)NKR +8MX)HTX +N84)F6J +4WK)R1B +DPG)78D +K2S)8GS +VVB)63J +8CT)9F1 +RNS)RY9 +FGT)DN2 +TWB)PYS +NVD)Z6T +7XM)R3X +R14)SBV +8Y4)Z5T +J48)PFC +Z5F)GRG +Z9R)X6H +SQX)8Q3 +D5F)M7V +BX5)1G1 +D82)RP2 +N31)KWX +14J)BXB +SH6)41V +J6L)X9Q +XVS)S88 +4KH)D85 +72S)WMH +1K1)G4Y +MBZ)T4F +DYD)P8V +BBZ)GW2 +FQC)S5H +TX1)WHD +R4T)N8L +KH9)6GZ +R1B)77D +JC8)3N6 +C13)VV9 +4PK)S33 +KG5)6LV +9ZM)F5N +WMS)X6D +H8Y)BLL +NQH)W66 +N8L)FZJ +YG5)5RN +TWM)LHK +DPD)DLV +Q9M)6LG +4PQ)PZD +DHN)SB4 +X43)9L5 +X9C)8W5 +8KJ)GQG +CVY)F5Y +T5F)QPX +5F5)SQX +2XR)YBW +RY9)5R2 +54K)CWR +KRD)BTB +YTY)NVP +6J7)KX5 +3LL)L7N +1FP)LBK +V3R)K3Q +G2B)B62 +K8H)MBJ +7TC)BJX +C8V)R14 +1KW)L21 +ZB2)JPR +P3W)C8V +GQ4)TT2 +TWV)HBK +2XR)QJP +L8J)FNX +K14)KWL +F4J)KHT +49P)56S +GMT)K4S +FZ1)NSY +QYW)RMW +FVK)F3S +Q7Z)RGF +Q44)23V +C3K)TPY +5RN)D7B +QBN)11W +1S1)QVG +MFM)D7G +W4H)4CN +JVJ)4GB +1KQ)P1B +W4H)35Y +J4B)RFC +T95)RDF +Q9G)NYH +Y28)RTL +WWL)363 +6DT)9YR +G95)G4J +R4S)YFL +C1Q)MC8 +7DJ)72S +55B)5ZD +9R7)8VZ +9VH)JS9 +41M)N43 +KSN)6B8 +RYS)1BW +5LY)88G +ZHD)CY2 +4MC)P3H +YFL)PW3 +69B)5DZ +S1X)LBB +B7D)PDF +9HM)S3V +WH2)M94 +PX5)29T +K2N)TZT +VK9)VN8 +JNF)3KH +DN2)H8F +8W4)FQ9 +ZVB)B8W +FZX)5T1 +X3Q)T42 +3YT)21X +NGK)KFG +G91)8R2 +8LS)C9P +6LG)N8C +JJZ)BJS +TNG)829 +493)P7G +WLK)CWJ +4BX)G2B +81R)SNG +ZK6)SCN +L9D)7F1 +S88)3Z1 +53D)ZJV +6RY)PBD +8W5)2VL +JL1)MBZ +RJ4)RFX +LRG)QSB +QP3)HG3 +HXH)DX8 +4MC)R2C +NRZ)1LK +H9V)347 +9N5)YRH +RWG)MKC +9G6)Z9R +3CS)FMK +5LF)JS8 +5S9)MXQ +D7S)3WK +K3Q)HVR +DVC)DWN +3WS)WWC +F9T)2V1 +GRP)4JN +3R9)2PD +4GB)WTB +H47)76P +WHM)R21 +FR7)14H +5WP)64K +HLS)K14 +LD6)KSX +NQM)9NM +NKR)DG3 +WTB)ZRB +BVS)TCC +5JK)1ZC +GNV)ZHD +M7V)8CC +ZZN)9BG +C3S)2YC +RQW)TFW +QG1)QM6 +D85)D3K +BCP)1TX +1XP)HF3 +5LY)RN6 +FZJ)37S +KF3)73P +MMV)55B +835)DBP +KFG)WKW +7BL)7VX +G6P)VP8 +5H3)L8M +J91)3B5 +1QX)3BX +QNC)PK6 +MBC)BD3 +Y9T)3F6 +3N6)YS6 +7SZ)3LP +XXH)655 +C44)J3G +ZWF)41D +H7F)TK6 +ZLD)5Q7 +JWV)835 +78K)ML8 +LWR)1TL +GMJ)53D +ZNL)486 +SBH)DY6 +3LR)8LF +7Y3)7KK +6M4)JMM +PD9)GV9 +CY2)XQP +ZYP)ZP9 +5GV)CKM +M6M)FK8 +SCN)GRN +PFK)JT8 +C13)B92 +QDX)JJZ +HJ8)QRZ +W7J)J4G +6YY)TRH +XCD)L8J +5MP)5N5 +TMQ)9DV +SNV)65K +SWZ)TYL +HWR)K2N +PZD)CJ3 +CYY)PXW +414)TWR +63J)X9C +W85)S8Z +VV9)LRD +VQY)MW3 +H6M)QCK +PTQ)R29 +688)YFJ +CC8)KF3 +YRG)KZG +PBQ)XB2 +9M8)WYD +Y3K)4JW +9FH)H9J +QPX)VK9 +68G)9HZ +FVC)JWR +H1M)8KJ +BTB)FPR +6LX)ZLT +83L)7LJ +ZP9)CLH +246)MZ9 +ZQK)246 +LTW)LVK +88F)JNT +BXB)2VM +2TW)PZM +BQX)CGG +WKW)WDF +PPH)GYD +RTL)B99 +J9M)M6P +LGH)BNM +MBQ)16W +G7Q)1XP +LBB)XVS +FS2)P68 +L9V)85V +3PJ)RWJ +HX4)8HQ +FGD)3CR +D66)GXX +41V)T3N +RY5)2C9 +DX6)J5T +TWR)8KR +KNV)VTM +2D4)92N +MZH)4H8 +KTQ)VY2 +6JD)BBZ +741)7BD +C2V)VQB +7Z9)NQH +LL9)B14 +32Q)BBM +W2L)YZG +6ZK)RNQ +WWM)376 +XQP)DXX +1LK)DW8 +FQ9)6XK +YPX)5ZH +ZWX)8SW +1SJ)9L7 +QY1)CGM +9NM)V8R +1K5)2VT +GRN)256 +CFK)HJ8 +V36)3BM +18M)LWS +1FP)PFK +2Y4)BD2 +WQ6)QSK +VTM)FCP +GW9)ZWX +QNY)SJG +T3N)5W6 +L56)QFS +L7T)WKK +JPD)7RM +4GB)153 +7VX)RQQ +FKT)ZZ3 +YGK)HZY +Z65)PBQ +MJC)CGN +PCN)5GV +V2V)2D4 +R29)V97 +C4L)DC5 +26N)8JS +1VY)4KH +56S)FGD +QDK)G71 +5KB)W2L +XN5)J2D +THL)HHN +YJ6)NCN +BT7)YVH +DWF)V1J +P1B)FQC +256)1XN +CS7)D53 +NF8)B23 +JPV)8J4 +8Z8)GLR +LG9)9G4 +N99)44R +3BM)8BX +QL6)16H +CR1)KRC +VW5)1K1 +L7H)2W1 +GYH)ZSN +XNT)ZM7 +THL)L5C +KPP)5FP +CM6)J9S +RBM)VXT +5H6)JFH +8YP)ZB2 +2M1)FVK +K9N)YYN +G4J)LY2 +7LJ)DRS +JFH)7FG +R42)89T +KQR)182 +BGV)CCF +7HS)3P9 +CWR)BBG +C3N)GNY +2V3)3R9 +331)PWL +GYW)5N2 +CW1)T56 +7MF)F4J +97J)14J +LSH)426 +W1N)8Z8 +K14)ZNJ +ZJV)DJY +7KK)V6D +M5N)2Y4 +TYL)8TY +Y4K)78K +S2H)PP3 +LNH)YYR +PDF)97J +NSY)2V3 +WKT)F7Q +V4Z)PD7 +ZPM)K5Z +QJ5)7MF +C3M)ZPR +4DH)MBC +426)JXW +F5N)PJL +6GZ)6GS +ZRH)G1B +KTQ)3PB +KMG)F56 +JQT)C3K +HKV)SWQ +4JW)XR4 +5NY)P8G +7H5)7DW +1Q8)464 +CDP)SBH +FMH)8MX +H1W)WJZ +DC5)HJS +J2D)3LR +K4S)L56 +SVW)XR9 +RFX)G59 +KRC)ZLD +JRP)6MH +5FP)KQD +JF8)M6M +DGY)5H3 +5R2)1B9 +3N6)VJG +2TY)N3Q +TD3)J3X +J4G)5MP +52D)6NX +R4P)L52 +Z8G)4F2 +L5C)37W +NVP)FZ1 +1RX)3ZH +LPL)6DT +278)9Z7 +M3W)W4H +84Z)Z51 +RSS)KC6 +7JF)11D +ZV3)QYF +TCC)L9D +1V6)C4G +XZV)LQX +8TY)N8B +13W)R23 +Y6S)8KQ +LXD)1S1 +85V)PNB +SNT)JPV +153)FZX +1G1)NR2 +KVC)VY8 +641)8RG +1HG)CDY +BK1)Q9G +W67)WZ5 +ZPH)GYH +W9Y)GRP +BKS)V4Z +NZ7)SNV +NTK)XCY +9D1)26C +HZY)5F5 +WYD)GT3 +MZ9)JJX +QDD)P3W +X4T)13K +P2J)N84 +YWG)22P +VJW)39N +14H)LPL +293)VQY +FJY)C1P +JMM)K4H +6GM)27M +BBM)LGD +ZF1)V7T +G41)XR2 +JVN)FYP +WQ2)YQV +LN8)BQY +17R)TR1 +4H8)W85 +1WK)B8P +QPD)7Y3 +6J8)XCD +21L)NZV +PC7)KQR +DL7)HK6 +B62)NQM +CGM)D94 +RLH)TT5 +ZDK)J6L +32P)96X +T1J)5H6 +B2D)4JB +VV7)6WC +QTM)VWR +ZXS)9GV +7ZQ)8L4 +Z51)685 +G71)H6M +JBB)37L +3CR)B58 +HNC)T1P +89T)ZJ8 +RBC)CFK +7V5)SWZ +5XY)54K +YYN)VTX +KYX)7KD +D94)LL9 +FVH)KHD +B78)89G +8FF)NLQ +TQB)6V7 +Z3Q)MD4 +WL7)3GK +6K3)NWK +TLK)PCN +3M1)GMJ +Y79)C1G +RBN)52Q +JS8)TCF +VVL)XS2 +H9M)FMB +Z6Y)768 +J3G)3M1 +M6P)XBP +2VL)KRD +439)R4S +5ZF)QDX +TK6)TNW +PY2)439 +1XN)BXF +WS3)YWP +11W)SCQ +9HZ)JZF +8T4)WDD +SFP)XBT +PHL)15K +YSL)R36 +F1W)CVY +YS6)M15 +1SJ)RQK +CJ3)6GG +1MV)PXL +8W5)KBF +6GS)641 +L6M)4PQ +WWZ)WWM +M4Y)3CY +CKM)NMG +C1G)Y6S +ZLT)QNC +WSB)TWV +H8F)D5F +DG3)NVD +RC7)6CZ +9Z7)X13 +5TG)V25 +KFB)27V +4HV)6JV +P68)TJZ +2SX)KCP +QM6)FR2 +2Y1)H6S +RDF)GGB +XBQ)N62 +ZMW)RNS +DTZ)WHM +F4K)VB9 +W66)1HG +C1G)FJV +CWQ)7R5 +61N)WS3 +CLH)H9V +P3W)DD2 +7GG)ZBZ +PXW)DQ8 +GDY)2WF +KNS)X3Q +6WC)BFG +9MT)XH8 +KBF)6H7 +V97)Z4D +QJP)3BF +KWX)DPD +FS6)7SP +N3G)4WK +NSY)VV7 +4V5)F79 +11D)2SX +6NX)FMH +MQH)VYS +SV3)RY5 +FJV)GLS +WDD)NX5 +FT7)NRF +GT3)2VY +PW3)5LF +H6S)X43 +18X)XC3 +MJR)Y8X +TKM)KFK +Y9D)WZ7 +9B6)GQ4 +4HV)X2R +NWK)5WP +XGD)MXK +JT8)MJX +P8V)W1Y +6B1)TQB +J5T)PJD +RQQ)QCG +PNH)FJY +ZKC)8T4 +TW9)17R +8L3)M4Y +K2H)FKT +N7N)YYX +3H4)X94 +4CN)2TW +XKQ)WFS +R23)T9K +YVF)ZKC +BD2)QBN +QSK)5VG +DW8)V3R +N3Q)PPH +FYP)GMT +1P7)L6D +8J4)F5G +8Y6)RQW +N8V)M2J +ZM7)HDW +XG9)3YT +9G6)T53 +P7G)38R +C9P)9D1 +XM5)WBJ +FVT)ST3 +NX5)YKP +8R2)4SM +LCL)8CT +WCP)5JM +221)J18 +MLP)N6H +18X)K9N +393)GDS +182)Z3Q +WMY)WGJ +9JM)QQ6 +FZZ)RDD +6YW)CDP +9X7)VGQ +PK6)41M +8P3)YD5 +9SV)W3L +M4N)W67 +F7Q)ZRH +VCS)P2J +QSB)T95 +NXW)MG7 +SS6)HNS +V8G)R4P +2DB)BVL +7DF)WMS +6QS)RGC +9D1)865 +54X)JF8 +81D)FZZ +172)Y9D +8VZ)WSB +GDS)M14 +MG7)P8F +7RB)H1M +TPY)XXH +9L7)VVB +BD3)ZPM +369)13W +TRH)MD7 +MFX)QMG +8KQ)FZR +LXP)XN5 +BVP)H78 +P5T)SP4 +Z6T)4V5 +KYX)PDV +NZV)1MW +9YR)ZKH +M2J)QY1 +6V7)5T2 +W9H)SAN +BZX)7RL +QQ6)52D +HBK)9KL +78K)XJV +NKZ)X7T +Z51)C44 +JWR)BHQ +JLW)CVV +9RM)N8V +WRL)6V5 +BBL)DGZ +PJD)DJP +RX3)KDG +XR9)D69 +2Y4)YW9 +TJN)7RC +CHH)SQL +72H)WCP +M14)16J +2N2)XM5 +TWY)XZS +JD7)R9H +6XK)738 +YRH)18X +CZW)LCL +K1B)ZV3 +BQY)W1L +61H)ZVB +YYR)XG9 +WBN)4W5 +N62)BBL +5LL)KG5 +7LX)DR3 +KQD)C7V +5ZD)CW1 +2L5)MPD +F8R)X6S +QVG)21L +KHD)SNC +7SP)N9L +J9S)7HS +8NF)2TY +GHJ)9SV +C7V)3HB +JKG)1P7 +7KP)V21 +YBL)2QV +HTX)TJJ +V7T)LXP +DX6)JWZ +RNQ)TD4 +333)Z65 +768)16X +7L5)WX7 +6VK)1SJ +39N)WRL +R5R)RBW +YW1)JJG +SP2)2N2 +GV9)WL6 +P59)JGV +PDF)G89 +NDD)WVY +2JP)MZW +QJP)7SS +WL6)VJW +B2N)B55 +BBZ)H8T +PYS)DGY +BPM)HS8 +5MR)RYC +FLV)K8K +SNG)YSL +ZJ8)8L3 +WGJ)DX6 +MNV)H27 +7JR)NZ7 +GLS)YJ6 +3RC)NJ7 +FJV)R42 +B7D)SM5 +WQZ)D4D +KKK)7L5 +78G)K9D +XP9)1FP +ZV6)F4X +FGL)2Y1 +VP8)M93 +5SB)38X +RN3)N66 +CDY)LWR +WMH)L6M +KX5)5G8 +JWZ)W7J +DR3)SH6 +5N5)5NY +ZHM)MBQ +K4H)YTY +4LJ)14S +PMB)2HK +MRP)C8W +27M)CC8 +PDD)JYW +1FF)GR6 +KXH)BZ1 +7RC)1GQ +FMB)PNH +MJX)1V6 +BBG)QK6 +V25)J4B +PP3)PC7 +D7B)WSV +3B5)PR1 +7BD)XVB +N9L)8L8 +61H)DQS +K9D)1V8 +LQN)393 +89X)BK1 +B14)ZYZ +4KJ)NRK +ZCV)FVC +X6D)WQ2 +13K)7LX +7Z9)RWG +1YB)BH3 +6MH)3ZT +XR2)6B1 +3P9)H4S +SBV)SHH +XM2)1K5 +VB9)NMF +2RJ)HHB +89G)QDB +TD4)9R7 +L21)BT7 +9G9)LNH +G59)FFQ +SWQ)XWF +FBT)688 +FFQ)JVJ +D7G)GHB +K9T)7YL +MKC)235 +5JM)WD5 +SMF)TLK +F31)9MT +8LF)BQX +5N2)4QW +2VM)R4T +FMK)HH2 +W1N)Q44 +JY1)7HB +8L4)B2D +CVL)7H5 +SHH)GKP +TSG)FT7 +WBJ)G1Z +HS8)5JV +BY5)RBM +LNP)PZ9 +3BF)WD7 +RDS)5ST +JYW)LD6 +XBP)XNT +7HH)84T +93Q)1S2 +ZV3)9RM +J3X)Y36 +LD6)S1X +JWZ)NDD +TZT)8LS +W7W)P5T +K5Z)ZXS +WZ5)7GG +ZMG)QL4 +HDW)JC1 +GK5)NTK +VCS)V9L +VZZ)QPD +FL6)BZX +SNC)HNC +S6Z)Q57 +FZC)BVS +S5H)GNV +T8B)5MQ +FF3)BWS +SCQ)PF1 +41D)3Y2 +Z4D)Y4K +FCP)DPG +N9L)J8S +H63)GXJ +T9K)S6Z +BWL)DKG +PZM)JRP +SP4)WWL +ZKH)PMB +DVC)5LL +LVK)QL6 +PBD)2C2 +Y98)8W4 +1SZ)ZV6 +SNC)331 +R2C)W9H +KWL)NY3 +893)221 +DZD)32P +T1P)WKT +C1P)BCP +5KJ)R9B +YWN)369 +FK8)9VH +31R)R5R +38X)Z6Y +S8Z)PY2 +S33)RN3 +16J)D28 +JRP)T8B +77D)1XW +K4H)3BZ +DWN)GX8 +QBF)WXV +31J)7BL +Y2W)D82 +WTF)Q78 +VTX)5LY +75H)WWZ +9VH)YW1 +S54)XKQ +BZ1)7DJ +DGZ)7XM +MXQ)B15 +HH2)1KQ +N86)QX7 +FPR)ZDK +2C2)HX4 +YYX)Z3S +GMP)XM2 +F56)C3S +3YG)ZGD +7YS)HNZ +B2D)6YV +R36)S8M diff --git a/input/day07.txt b/input/day07.txt new file mode 100644 index 0000000..88e90bf --- /dev/null +++ b/input/day07.txt @@ -0,0 +1 @@ +3,8,1001,8,10,8,105,1,0,0,21,42,51,76,93,110,191,272,353,434,99999,3,9,1002,9,2,9,1001,9,3,9,1002,9,3,9,1001,9,2,9,4,9,99,3,9,1002,9,3,9,4,9,99,3,9,1002,9,4,9,101,5,9,9,1002,9,3,9,1001,9,4,9,1002,9,5,9,4,9,99,3,9,1002,9,5,9,101,3,9,9,102,5,9,9,4,9,99,3,9,1002,9,5,9,101,5,9,9,1002,9,2,9,4,9,99,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,101,1,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,101,1,9,9,4,9,99,3,9,1001,9,1,9,4,9,3,9,1001,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,1002,9,2,9,4,9,99,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,101,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,99,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,1001,9,1,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,1,9,4,9,99,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,101,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,102,2,9,9,4,9,99 diff --git a/input/day08.txt b/input/day08.txt new file mode 100644 index 0000000..f256731 --- /dev/null +++ b/input/day08.txt @@ -0,0 +1 @@ +222222222222212222222121222022222222222222222222222222222202222222222222222222022022022220202221202022220102202222212212202222222221112222220221222222221222222222212222222120222122222222222222222222222222222212222222222222222222122222022221202220202022222212222222202202202222222221002222221220222222220222222222212222222020222022222222222222222222222222222202222222222222222222002022022220202221202222222112202222202202202222222221022222222222222222222222222222222222222120222222222222222222222222222222222202222222222222222222112222122220222220212022222222212222222222222222222222222222220222222222221222222222202222222122222122222222222222222222222222222202222222222222222222102122022220212220202022021212222222202212212222222222122222220222222222222222222222222222222221222022222222222222222222222222222222222222222222222222202122022220222221222122022212222222222202202222222220002222222221222222221222212222222222222022222222222222222222222222222222222212222222222222222222222022222220202220222222021102222222202202222222222221012222220222222222221222212222212222222221222022222222222222222222222222222222222222222222222222022222222222212220202022220102202222212212212222222222022222222222222222220222202222202222222221222122222222022222222222222222222222222222222222222222102222022220222220212022121122202222212212202222222221112222220220222222222222212222202222222022222222222222122222222222222222222202222222222222222222022022022222222222222022022202212222222202212222222222112222222221222222221222202222212222222120222022222222022222222222222222222222122222222222222222022122222222212220212222221002212222202202202222222220012222221222222222222222212222212222222220222122222222122222222222202222212202222221222222222222122222122220212222222022220102222222212202202222222220222222220222222222221222212222212222222121222222222222122222222222202222222202022220222222222222022022222221222222212022020112212222202202222222222222012222222220222222222222212222212221222222222122222222122222222222212222222222122222222222222222212122022221222221222022222112112222222202222222222222212222222221222222222222212222222221222222222022222222122222222222222222222212122220222222202222102022222222202222212022122122022222202222222222222220012222220222222222221222202222222220222120222022222222022222222222222222202202022222222221202222102222022222221220212022120022102222202212222222222221212222200220222222222222202222212222222120222222222222122222222222222222212202122200222222212222222222122221221220222022122102122222222212202222222220002222200220222222221222222222212221222022222022222222222222222222212222202202022210222221222222002122122222211220212022020212102220202222102222222221122222201221222222222222222222222222222020222022202222022222222222202222222212222221222220202222222222122220212221212122120222002221202222012222222222002222212222222222221222202222202220222221222022220222222222222222212222222212122220222221212222002122122222222220222022222002122221222202012222222220102222200220222222222222212222222220222122222022200222022222222222222222202222022222202222212222012022122220200222222222222202022221212212202222222220002222200222222222222222222222212222222021222022221222222222222222202222222222222200222222222222222022222220212222222122220012212221212202022220222222022222202221222222221222222222212221222121222022200222122222222222202222212212022212222021222222222122222220220220202112121202212222222222012222222221102222210220222222222222202222102220222220222122201222222222222222202222202212122211202120212222202122022220210222222112022012122221222222012222222220122222210221222222220222212222222221222220222022201222222222222222202222202222222212222221212222002022222220222222212002120202122222202212112220222222022222212122222222221222202222212222222020222122220222022222022222202222222222022200222222212222112022022220211221212102122002102221222222102222222220022222210020222222221222202222222221222122222222222222222222022222222222202212122212222222222222212022022221220221212122221002112221202222222222222221012122222121222220221222202222012220222121222122220222122222222222212222212212222222212122202222202222222220220222212202020122122220222202212222222220202022210120222222222222212222010220222120222222202222022222122222212222212202022212212122222222102022222221212222202002022122002222202202202222222220212022222222222221211222202222021221222022222222201222022222122222202222222212022221212022202222102122022222210222212112222002122220222222112221222221002122212121222221201222212222202220222120222122222222222222222222212222222212222202202121202222002122122221200220012112122012222222202212012221222221022022220022222222210222222222020221222121222122212222022222122222202222212222122202222121222222102222122221210220112122220202122222202212222222222222002122210222222222221222212222212220222021222122201222222222222222212222212222222222222222212222102222122222201221002002122202202222222212002220222222012122212122222212211222222222000221222020222222212222022222122222212222222212222201222220212222102122022220201221122212120212102221202222200222222220122022211022222200220222222222121222222021222222210222222222222222202222212212122222202022202222022112022220202222222102122022002222212222110222222220012022221222222202222222222222012220222120222022112122022222022222202222202222222220212122212222002112022221212221122012122112022220202202122221222222012022222121222201202222212222202221222221222122202122022222122222212220202212122200212222202222202222122220202221112122221022122221212212021221222222002222221122222211222222222222011222202222222022100122122222122222222220202212022221212121222222102212122220202222212112021202012222222222111222222222222022211121222220201222202222212222222022222222220222122222122222202222212212222210212121212222102022122220220220212102120022122220202202121221122221122022200122222221200222212222011222202120222122000122022222122222222221202222122211212221202222012012222220210222102002012222112222012202200222022221002222202122222202221222212222001220202020222122002022122222122222222220212212122220202220212222102112122221211221022022200202102220022202121222122221012122221222222202201222202222121220202020222022002122222222222222222221222222122202222221202222112102122221200221002012212012012220102212220221122220012122212121222211211222202222212220202220222122210022122222022222202220222212221200222221210222202212022222200222012112002102012222122222012222222222212022200121222201222222212222210220222121222022211022220222022222222220212212220222222222202222102012122221221222202022220202102221122222012220122221222022222121222202220222212222101222212121222122000122220222222222222220222202020221202020211222202102122222222222102102112212012220012222112222022221012122200220222221210222202222222222212020222122212222022222222222202222202202120220222020221220122012122221220221222022210102022221112212001220022221212122211120222202202222202222221220212021222122101022020222122222222222222212021202222122221221002002022220201221222122010212222221002222222200222220022122201121222222212222212022112220212222222222212122220222022222212220212212020201212020212222122212222221221222000022112122002222102202200221122222212122211122222211200222212122212221222221222022020202022222022222222221212212221201202120211220002202122220220220210102020122012222002222111212022221002122210122222201222222222222212221202221222022220002221222220222212222212202020222212122201221122022122222202220120212000202012222112222022201122222012122221220222202202222222021011220212020222022121122120222220222212221202222021200212221212222222212022220201220000222000122102220222212101211122020012022210221222212210222202020120220212220222022120202121222022222212200212212021202202122222222002112122221202221012102020122202221122202012212222221102122200021222211200222222221200220202121212122202122220222122222212201212212120221202020222221012102022221200221221112202012002222222212201200122120102022210021222202220222202222200221012221222022221222222222222222212202012202120210202221201221202102022220222220211022022202222220112202010220022220102012212220222202201222222020222221002022212222122012022222222222222201102202221222222222221220212012022222210220011002011202212221212202200200022221002022200221222220210222202022000220112020222122021002220222121222212022022212120212202022221121212222022222221220111222100002122220122212112210122122102222220220222221210222222020101221202120212022201002121222120202022012012222122222222120212021022012022221201220020102210022012222112202002212122221212222211220222222222222202221102222102220212122012012020222120222212122022202120220212222201021202212122222211222002222002222222222122222102200220021122222201120022210220222222221201221202222202022212102122222021222102222002202122201212222222222011012222222201220210222201112212220002222220211220222222112222022122200200222222221220221022021202022211222221222021202102221112202120222212122221122200022022222212221201212212202212221022222000211221221022202210020222212211222222021121222022221212022200122122222021202222120202222120210202121212121200002222221201221021212121202112222022202022220222122202212200121022201211222212221202220222222212222001122020222022222012211202212221221012121200120002002122221220220201202210102212222222222010221222221102102201021022200201222212020120221022221222122001002122222021222002210002212222220122222221221100112022220211220022212222020122222002202012201122020102012211221122221212222222020112222222220212122100102020222021222012112102212021222122120210122010202122222200221120122001201112221012222120212021120102012202221022220202222222221112221122221220122200012220222221212022000202202121210212222221121100022122221221220012212111000122221012220211222221222222122222221122202210222212221100221202020210022200112102222120202012221022002022201002020222121122222222221211222210112220211212221012222202202122020202222200220222202221222202222212221202021221222121012010222221202122202202202021201022020220122112222122220222221020022211110112220202212220202020221002022210222122210210222222022002222212022212122020012211222121222222202002012222220212222221221000202022222112220022212212010102221122211220221121021212222222020022211212222202022002222122221202222202222002222222202102001102002220220222020201022121002122221100221202012221102212221022202222202121220002002200222122211220222212122201221002120200022102102120222122222212012202202020220122220220122011022122222021220112002122112202221122212021212220220012212211222222202220222222120022220112021222222022112211222120212222121222022120202122020202022202122222220200221001112202022112221122210222211222222222022210022122221212222212122122221002122200122112102012222020202222122002222122220112220221120101222122220200220100112212121102220202212101222222222012012220120022200222222202122100220202221222022220122120222020202012002112222022222212221201021020102222220101221022102112010012220102220202201220122222002202120022220200222212122210220102021220222110122021222222210222111002222022222222121202221111002220220122220212022020021002221112201200211221120012002200011222202211222212012022020002221221022211022111222121200202202222202121210122020210021100212020221101220200212021211112220012220000220020221122102220222122211210222222100212221222222220022212012120222122212102101202122221202102211200222111102021221111222222012201211222222222200021212122021012202212002022211211222212010121220222020200022112112122222121212102120112002122220012110222022100202122202000222122022122002022221222201010212021021022002221222022220222222222020011121222020212222200012210222021201112012222022022222222101200120202222020212111220212102110112222222222211221220120122222222212201222210211222202102201122022021210022010212202222222210102221122202221201022210221222102112022220011221020122010221012220112221010210222221022102222021022212200222212221201220012121212122112222011222222222122201112022222200102210220020120112120221002221220002202012212222022220002210020022010121212122222200201222222212001221102221220222110202100222220200022021012002222202112000222122100202121201220220121102120211102222202220001201021022222011222020222212210222222102201221222122220012002112202222020202022210122112020222122022201222212202221222201222112102012200212221222211221202122021200000220002112211211222202102211122022220202222021102220222021201022011102012020202022122200022000012121202100221220112021022222222112222110221222020101120212000212202220222222020102220002120211012020002200222220200012121212212122211022120201021222122221221201220101002022112022221122220112220222122102021210002112222201222222201221020222222202002110012102222120222202111122122220212212021212220122202220202101222021110202110202221212210022210221021021111200211202221222222202020121022012122202102121022111222222210012000000222220211002222220021101112021201002222020221021201012221222211021210122122211012222022022211202222202102011021112021210212110112020222220211112211121202020221222001220221112002020210010222121220011200012222102210001202221220210111221210002201201222212201222222212011212122222011222222020211121121102222121220222221220221211012122201110221201021020021102221112212112222121120112222200221112221212222212001020121002110200020201021100220221200222100001102020202222021202021020022222201110220220102100021012220112202210221220121211020222001102222200222202022020121002110210220110001122220120221111010201022122211012211211022212012122211000221211022201210202220222222110200122222200200201211122212212022222101022221022222211202010210100222222202221121011202020211002212221222111222120202120221120011122221212222002222020002221221021112222022222202211122212111010221112101201002221010210222020200111011121002021022102010202121111202021201211222010120100001202220212201211000120220212221212121222220222222212021011222122122202010020200001220122201010120221002122111102212201222222212022221212222120111100010122221212212122100122121210120211100122211201122222220020022102220211011101101221220120200212120022112222211102222202020222222021212022221201100210210012222022210201120022021102222200001002202201022222012111221222201211122001102010220021200002012202022110102122221222121220222120202022220122010220101102220022211111120121021211010220111212200221122222121102221122101210101111111221220022202122121020212001120002110211220020212222222002221010001010121102220022212120010021022102110210100112210021022202010222221112200200220221001102220111200011101200112012211212221200220101022121222122222202020110012202221112222200121022221122101212202202201000222212012002222002201212110210102011221202201011000201222110021022100220200002022021222210222110010200201202221012211021002121221121102202002112212202022212101200110022021212102120101020222212211121202200012212022212202222110120122222220000222021020222001112221000212022202222220001022220210112200000000110220122121011002020100202220011012211120111210011120101202210120101110211001210011001100011220120121001002022020111001112001110212121122111100 diff --git a/input/day09.txt b/input/day09.txt new file mode 100644 index 0000000..6ec0b92 --- /dev/null +++ b/input/day09.txt @@ -0,0 +1 @@ +1102,34463338,34463338,63,1007,63,34463338,63,1005,63,53,1101,0,3,1000,109,988,209,12,9,1000,209,6,209,3,203,0,1008,1000,1,63,1005,63,65,1008,1000,2,63,1005,63,904,1008,1000,0,63,1005,63,58,4,25,104,0,99,4,0,104,0,99,4,17,104,0,99,0,0,1102,23,1,1004,1102,1,26,1000,1102,897,1,1028,1101,27,0,1012,1102,33,1,1001,1102,32,1,1007,1101,39,0,1005,1101,0,29,1018,1101,0,0,1020,1101,1,0,1021,1101,0,21,1002,1102,1,35,1014,1101,0,36,1009,1102,1,38,1006,1102,1,251,1024,1102,28,1,1017,1102,37,1,1008,1102,1,329,1026,1102,25,1,1011,1102,31,1,1013,1102,892,1,1029,1102,242,1,1025,1102,1,881,1022,1102,22,1,1003,1102,874,1,1023,1101,20,0,1016,1101,24,0,1019,1101,0,326,1027,1101,0,34,1015,1102,1,30,1010,109,-2,2102,1,7,63,1008,63,36,63,1005,63,205,1001,64,1,64,1105,1,207,4,187,1002,64,2,64,109,9,21101,40,0,6,1008,1013,43,63,1005,63,227,1105,1,233,4,213,1001,64,1,64,1002,64,2,64,109,26,2105,1,-9,4,239,1001,64,1,64,1106,0,251,1002,64,2,64,109,-15,1205,2,263,1105,1,269,4,257,1001,64,1,64,1002,64,2,64,109,-9,2102,1,0,63,1008,63,36,63,1005,63,295,4,275,1001,64,1,64,1106,0,295,1002,64,2,64,109,-14,1207,10,38,63,1005,63,311,1105,1,317,4,301,1001,64,1,64,1002,64,2,64,109,28,2106,0,4,1106,0,335,4,323,1001,64,1,64,1002,64,2,64,109,-8,1206,6,351,1001,64,1,64,1106,0,353,4,341,1002,64,2,64,109,-1,2107,33,-7,63,1005,63,369,1106,0,375,4,359,1001,64,1,64,1002,64,2,64,109,-9,2108,26,-1,63,1005,63,395,1001,64,1,64,1106,0,397,4,381,1002,64,2,64,109,3,1201,-2,0,63,1008,63,38,63,1005,63,419,4,403,1105,1,423,1001,64,1,64,1002,64,2,64,109,-13,2101,0,9,63,1008,63,23,63,1005,63,445,4,429,1105,1,449,1001,64,1,64,1002,64,2,64,109,11,1208,1,32,63,1005,63,471,4,455,1001,64,1,64,1106,0,471,1002,64,2,64,109,17,21108,41,38,-4,1005,1019,487,1105,1,493,4,477,1001,64,1,64,1002,64,2,64,109,6,1206,-9,511,4,499,1001,64,1,64,1106,0,511,1002,64,2,64,109,-23,21102,42,1,8,1008,1014,42,63,1005,63,533,4,517,1106,0,537,1001,64,1,64,1002,64,2,64,109,-3,2107,36,5,63,1005,63,555,4,543,1106,0,559,1001,64,1,64,1002,64,2,64,109,-6,1202,5,1,63,1008,63,21,63,1005,63,581,4,565,1106,0,585,1001,64,1,64,1002,64,2,64,109,1,1208,10,40,63,1005,63,605,1001,64,1,64,1106,0,607,4,591,1002,64,2,64,109,7,1201,0,0,63,1008,63,42,63,1005,63,631,1001,64,1,64,1106,0,633,4,613,1002,64,2,64,109,1,21107,43,42,7,1005,1013,649,1105,1,655,4,639,1001,64,1,64,1002,64,2,64,109,7,21108,44,44,3,1005,1016,677,4,661,1001,64,1,64,1106,0,677,1002,64,2,64,109,-7,21102,45,1,9,1008,1015,44,63,1005,63,701,1001,64,1,64,1106,0,703,4,683,1002,64,2,64,109,13,21101,46,0,-7,1008,1012,46,63,1005,63,729,4,709,1001,64,1,64,1105,1,729,1002,64,2,64,109,-13,2101,0,3,63,1008,63,33,63,1005,63,753,1001,64,1,64,1106,0,755,4,735,1002,64,2,64,109,14,1205,1,773,4,761,1001,64,1,64,1105,1,773,1002,64,2,64,109,-23,1202,10,1,63,1008,63,30,63,1005,63,797,1001,64,1,64,1105,1,799,4,779,1002,64,2,64,109,13,2108,22,-7,63,1005,63,817,4,805,1106,0,821,1001,64,1,64,1002,64,2,64,109,-11,1207,5,24,63,1005,63,843,4,827,1001,64,1,64,1105,1,843,1002,64,2,64,109,11,21107,47,48,7,1005,1017,861,4,849,1106,0,865,1001,64,1,64,1002,64,2,64,109,15,2105,1,-2,1001,64,1,64,1106,0,883,4,871,1002,64,2,64,109,10,2106,0,-7,4,889,1106,0,901,1001,64,1,64,4,64,99,21102,1,27,1,21102,1,915,0,1105,1,922,21201,1,28510,1,204,1,99,109,3,1207,-2,3,63,1005,63,964,21201,-2,-1,1,21102,1,942,0,1106,0,922,22102,1,1,-1,21201,-2,-3,1,21101,957,0,0,1106,0,922,22201,1,-1,-2,1105,1,968,21202,-2,1,-2,109,-3,2106,0,0 diff --git a/input/day10.txt b/input/day10.txt new file mode 100644 index 0000000..0cc1345 --- /dev/null +++ b/input/day10.txt @@ -0,0 +1,21 @@ +###..#########.#####. +.####.#####..####.#.# +.###.#.#.#####.##..## +##.####.#.########### +###...#.####.#.#.#### +#.##..###.########... +#.#######.##.#######. +.#..#.#..###...####.# +#######.##.##.###..## +#.#......#....#.#.#.. +######.###.#.#.##...# +####.#...#.#######.#. +.######.#####.####### +##.##.##.#####.##.#.# +###.#######..##.#.... +###.##.##..##.#####.# +##.########.#.#.##### +.##....##..###.#...#. +#..#.####.######..### +..#.####.############ +..##...###..######### diff --git a/input/day11.txt b/input/day11.txt new file mode 100644 index 0000000..f3f1589 --- /dev/null +++ b/input/day11.txt @@ -0,0 +1 @@ +3,8,1005,8,290,1106,0,11,0,0,0,104,1,104,0,3,8,1002,8,-1,10,1001,10,1,10,4,10,108,1,8,10,4,10,1002,8,1,28,1006,0,59,3,8,1002,8,-1,10,101,1,10,10,4,10,108,0,8,10,4,10,101,0,8,53,3,8,1002,8,-1,10,101,1,10,10,4,10,1008,8,0,10,4,10,101,0,8,76,1006,0,81,1,1005,2,10,3,8,102,-1,8,10,1001,10,1,10,4,10,1008,8,1,10,4,10,1002,8,1,105,3,8,102,-1,8,10,1001,10,1,10,4,10,108,1,8,10,4,10,1001,8,0,126,3,8,1002,8,-1,10,1001,10,1,10,4,10,108,1,8,10,4,10,1002,8,1,148,3,8,102,-1,8,10,101,1,10,10,4,10,1008,8,1,10,4,10,1001,8,0,171,3,8,1002,8,-1,10,1001,10,1,10,4,10,1008,8,0,10,4,10,101,0,8,193,1,1008,8,10,1,106,3,10,1006,0,18,3,8,1002,8,-1,10,1001,10,1,10,4,10,108,0,8,10,4,10,1001,8,0,225,1,1009,9,10,1006,0,92,3,8,1002,8,-1,10,1001,10,1,10,4,10,108,0,8,10,4,10,1001,8,0,254,2,1001,8,10,1,106,11,10,2,102,13,10,1006,0,78,101,1,9,9,1007,9,987,10,1005,10,15,99,109,612,104,0,104,1,21102,1,825594852136,1,21101,0,307,0,1106,0,411,21101,0,825326580628,1,21101,0,318,0,1105,1,411,3,10,104,0,104,1,3,10,104,0,104,0,3,10,104,0,104,1,3,10,104,0,104,1,3,10,104,0,104,0,3,10,104,0,104,1,21102,179557207043,1,1,21101,0,365,0,1106,0,411,21101,0,46213012483,1,21102,376,1,0,1106,0,411,3,10,104,0,104,0,3,10,104,0,104,0,21101,988648727316,0,1,21102,399,1,0,1105,1,411,21102,988224959252,1,1,21101,0,410,0,1106,0,411,99,109,2,21201,-1,0,1,21101,0,40,2,21102,1,442,3,21101,432,0,0,1105,1,475,109,-2,2105,1,0,0,1,0,0,1,109,2,3,10,204,-1,1001,437,438,453,4,0,1001,437,1,437,108,4,437,10,1006,10,469,1102,0,1,437,109,-2,2105,1,0,0,109,4,2102,1,-1,474,1207,-3,0,10,1006,10,492,21101,0,0,-3,21202,-3,1,1,22102,1,-2,2,21101,0,1,3,21102,511,1,0,1105,1,516,109,-4,2105,1,0,109,5,1207,-3,1,10,1006,10,539,2207,-4,-2,10,1006,10,539,21201,-4,0,-4,1106,0,607,21202,-4,1,1,21201,-3,-1,2,21202,-2,2,3,21101,558,0,0,1106,0,516,22101,0,1,-4,21101,1,0,-1,2207,-4,-2,10,1006,10,577,21102,1,0,-1,22202,-2,-1,-2,2107,0,-3,10,1006,10,599,21201,-1,0,1,21101,0,599,0,105,1,474,21202,-2,-1,-2,22201,-4,-2,-4,109,-5,2106,0,0 diff --git a/input/day12.txt b/input/day12.txt new file mode 100644 index 0000000..c286c8c --- /dev/null +++ b/input/day12.txt @@ -0,0 +1,4 @@ + + + + diff --git a/input/day13.txt b/input/day13.txt new file mode 100644 index 0000000..f5ca9f7 --- /dev/null +++ b/input/day13.txt @@ -0,0 +1 @@ +1,380,379,385,1008,2267,709926,381,1005,381,12,99,109,2268,1101,0,0,383,1101,0,0,382,20101,0,382,1,21002,383,1,2,21102,37,1,0,1105,1,578,4,382,4,383,204,1,1001,382,1,382,1007,382,37,381,1005,381,22,1001,383,1,383,1007,383,22,381,1005,381,18,1006,385,69,99,104,-1,104,0,4,386,3,384,1007,384,0,381,1005,381,94,107,0,384,381,1005,381,108,1105,1,161,107,1,392,381,1006,381,161,1101,-1,0,384,1106,0,119,1007,392,35,381,1006,381,161,1101,0,1,384,21002,392,1,1,21102,1,20,2,21102,1,0,3,21101,138,0,0,1106,0,549,1,392,384,392,21001,392,0,1,21102,20,1,2,21101,3,0,3,21101,0,161,0,1106,0,549,1101,0,0,384,20001,388,390,1,21001,389,0,2,21102,180,1,0,1105,1,578,1206,1,213,1208,1,2,381,1006,381,205,20001,388,390,1,20101,0,389,2,21102,1,205,0,1106,0,393,1002,390,-1,390,1102,1,1,384,20102,1,388,1,20001,389,391,2,21101,0,228,0,1105,1,578,1206,1,261,1208,1,2,381,1006,381,253,20101,0,388,1,20001,389,391,2,21102,253,1,0,1106,0,393,1002,391,-1,391,1101,0,1,384,1005,384,161,20001,388,390,1,20001,389,391,2,21102,279,1,0,1106,0,578,1206,1,316,1208,1,2,381,1006,381,304,20001,388,390,1,20001,389,391,2,21102,1,304,0,1105,1,393,1002,390,-1,390,1002,391,-1,391,1102,1,1,384,1005,384,161,20102,1,388,1,20101,0,389,2,21101,0,0,3,21102,338,1,0,1105,1,549,1,388,390,388,1,389,391,389,20101,0,388,1,20101,0,389,2,21101,4,0,3,21101,0,365,0,1106,0,549,1007,389,21,381,1005,381,75,104,-1,104,0,104,0,99,0,1,0,0,0,0,0,0,247,16,17,1,1,18,109,3,22102,1,-2,1,22102,1,-1,2,21102,0,1,3,21101,414,0,0,1105,1,549,22101,0,-2,1,21202,-1,1,2,21101,429,0,0,1105,1,601,1202,1,1,435,1,386,0,386,104,-1,104,0,4,386,1001,387,-1,387,1005,387,451,99,109,-3,2106,0,0,109,8,22202,-7,-6,-3,22201,-3,-5,-3,21202,-4,64,-2,2207,-3,-2,381,1005,381,492,21202,-2,-1,-1,22201,-3,-1,-3,2207,-3,-2,381,1006,381,481,21202,-4,8,-2,2207,-3,-2,381,1005,381,518,21202,-2,-1,-1,22201,-3,-1,-3,2207,-3,-2,381,1006,381,507,2207,-3,-4,381,1005,381,540,21202,-4,-1,-1,22201,-3,-1,-3,2207,-3,-4,381,1006,381,529,22101,0,-3,-7,109,-8,2106,0,0,109,4,1202,-2,37,566,201,-3,566,566,101,639,566,566,1202,-1,1,0,204,-3,204,-2,204,-1,109,-4,2106,0,0,109,3,1202,-1,37,593,201,-2,593,593,101,639,593,593,21001,0,0,-2,109,-3,2106,0,0,109,3,22102,22,-2,1,22201,1,-1,1,21102,1,409,2,21101,34,0,3,21102,814,1,4,21102,1,630,0,1106,0,456,21201,1,1453,-2,109,-3,2106,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,2,2,2,2,0,2,2,0,0,0,0,2,2,0,2,2,2,2,2,0,0,2,0,2,0,2,2,2,0,2,2,2,2,0,1,1,0,2,2,2,2,2,2,2,0,2,2,2,0,0,2,0,2,2,2,2,0,2,2,0,2,2,0,0,0,2,0,0,2,0,0,1,1,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,2,2,2,2,2,0,0,0,2,2,2,0,0,0,2,2,2,0,1,1,0,2,2,0,0,0,2,2,0,0,2,2,2,0,2,2,0,0,0,2,2,2,0,2,2,0,2,0,0,2,2,0,2,2,0,1,1,0,2,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,1,0,2,0,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,2,0,0,2,2,2,2,0,0,1,1,0,2,2,0,0,2,0,0,2,0,0,0,0,0,2,0,2,2,2,2,2,0,2,0,0,0,2,2,0,2,2,0,0,2,0,1,1,0,2,0,2,0,0,2,2,0,2,2,2,0,0,2,2,2,2,2,2,2,2,2,0,0,0,2,2,0,0,2,2,2,2,0,1,1,0,2,0,0,0,0,2,0,0,0,0,2,2,2,0,0,2,2,2,0,2,0,0,0,0,0,0,2,2,2,0,0,2,2,0,1,1,0,2,0,2,2,2,0,0,0,2,0,0,2,0,2,2,0,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,0,0,1,1,0,2,2,2,0,0,2,0,2,0,2,2,0,0,2,0,0,0,2,2,2,0,2,0,0,2,2,2,2,0,2,2,2,0,0,1,1,0,0,0,0,2,0,2,2,2,2,2,2,0,2,2,0,2,0,0,0,2,2,2,2,2,2,2,0,2,0,0,0,0,2,0,1,1,0,0,2,0,2,0,2,2,2,2,2,2,2,0,2,0,0,2,0,0,0,2,2,2,0,0,2,2,0,2,2,0,0,2,0,1,1,0,0,0,2,0,0,0,0,2,0,0,0,0,0,2,0,2,2,2,2,2,2,2,0,2,0,2,0,2,2,2,2,2,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,79,75,78,5,74,79,17,41,95,84,78,77,91,76,42,52,12,91,69,32,17,81,63,98,80,66,62,50,63,55,28,34,41,10,81,2,15,67,29,97,23,64,56,30,22,44,49,59,26,2,31,20,74,70,46,20,82,27,48,34,90,23,84,90,26,89,43,23,31,1,63,76,26,95,91,18,31,81,40,80,50,69,70,38,26,5,31,58,52,19,7,62,16,10,52,74,64,85,47,55,98,31,27,9,74,87,65,50,93,58,12,47,8,84,34,88,41,72,81,74,76,17,41,86,60,70,52,95,38,40,27,49,60,14,31,81,95,89,12,89,67,32,43,78,90,2,19,19,25,96,62,57,17,43,52,22,25,85,92,82,54,87,22,20,31,59,39,59,50,80,91,76,18,94,90,5,7,65,3,8,87,65,67,86,71,97,26,53,90,14,57,51,54,25,78,29,51,88,54,24,31,51,61,92,92,4,59,93,43,76,94,93,67,20,36,77,85,18,72,40,98,55,14,60,34,37,6,88,67,37,12,3,63,56,30,7,97,77,72,14,82,42,30,61,5,34,87,87,62,59,82,11,64,49,1,71,66,94,15,81,25,72,50,45,5,54,79,45,66,88,71,59,53,81,44,23,36,34,15,26,36,38,14,82,69,68,7,77,62,28,18,13,85,49,78,24,89,11,87,32,65,45,6,23,55,94,41,91,95,7,87,6,27,74,31,68,36,26,38,86,17,41,63,21,26,98,37,89,65,1,75,52,65,59,91,17,43,63,7,33,6,95,81,29,52,77,82,35,66,94,60,56,9,34,32,22,61,39,43,11,2,80,68,34,59,73,67,36,26,60,33,8,96,7,26,5,90,47,51,34,15,6,29,28,70,30,14,53,5,45,75,62,86,96,51,87,25,30,48,51,27,11,80,84,20,33,16,7,20,55,29,27,10,67,80,13,32,32,52,56,64,21,5,62,43,32,45,4,39,57,82,50,11,81,64,64,10,16,79,57,59,71,27,61,68,39,79,1,9,65,54,96,30,66,23,56,98,25,45,23,25,96,36,81,68,36,3,29,16,67,52,83,11,28,33,78,45,43,32,27,97,71,54,34,12,11,10,1,29,35,48,34,57,70,2,61,30,70,22,47,27,26,17,65,61,31,63,54,16,88,32,2,88,47,94,66,4,79,39,7,44,94,75,48,69,93,76,49,23,92,79,74,43,43,53,92,2,71,64,8,96,58,5,76,4,69,12,21,36,10,96,28,77,92,77,52,54,69,10,3,16,53,21,16,69,97,71,92,64,6,47,37,43,66,63,32,34,45,23,79,92,19,88,18,16,90,28,63,13,14,81,67,10,97,38,66,41,1,25,2,92,76,56,46,70,4,92,84,38,50,91,37,22,7,78,85,60,45,53,17,30,1,51,64,64,29,48,49,5,14,29,66,2,31,67,85,10,14,72,52,93,74,38,43,73,38,81,18,24,11,52,58,71,45,49,74,72,89,68,77,9,41,54,41,62,29,58,29,68,78,16,40,52,92,18,73,42,38,6,62,96,18,10,44,18,35,28,43,17,95,43,59,87,27,94,80,65,58,78,35,78,96,58,22,22,89,38,44,89,95,48,78,36,79,89,46,91,86,88,41,77,94,75,91,33,60,34,59,8,13,17,93,51,86,21,32,67,49,64,38,73,60,12,97,60,59,72,20,46,10,41,70,80,12,78,10,86,17,93,69,21,67,30,33,39,55,98,92,31,69,44,27,20,76,88,66,54,83,62,3,6,66,65,85,87,30,26,17,13,54,15,66,40,93,94,47,22,2,3,53,81,57,68,10,10,85,30,39,29,24,86,24,4,709926 diff --git a/input/day14.txt b/input/day14.txt new file mode 100644 index 0000000..84c3c82 --- /dev/null +++ b/input/day14.txt @@ -0,0 +1,58 @@ +3 PTZH, 14 MHDKS, 9 MPBVZ => 4 BDRP +4 VHPGT, 12 JSPDJ, 1 WNSC => 2 XCTCF +174 ORE => 4 JVNH +7 JVNH => 4 BTZH +12 XLNZ, 1 CZLDF => 8 NDHSR +1 VDVQ, 1 PTZH => 7 LXVZ +1 ZDQRT => 5 KJCJL +2 SGDXK, 6 VDVQ, 1 RLFHL => 7 GFNQ +8 JFBD => 5 VDVQ +1 SGDXK => 6 ZNBSR +2 PNZD, 1 JFBD => 7 TVRMW +11 TRXG, 4 CVHR, 1 VKXL, 63 GFNQ, 1 MGNW, 59 PFKHV, 22 KFPT, 3 KFCJC => 1 FUEL +6 BTZH => 8 GTWKH +5 WHVKJ, 1 QMZJX => 6 XLNZ +18 JSPDJ, 11 QMZJX => 5 RWQC +2 WFHXK => 4 JSPDJ +2 GHZW => 3 RLFHL +4 WHVKJ, 2 RWQC, 2 PTZH => 8 WNSC +1 QPJVR => 2 VFXSL +1 NCMQC => 6 GDLFK +199 ORE => 5 PNZD +2 RZND, 1 GTWKH, 2 VFXSL => 1 WHVKJ +1 VDVQ => 8 WFHXK +2 VFXSL => 4 VHMT +21 SBLQ, 4 XLNZ => 6 MGNW +6 SGDXK, 13 VDVQ => 9 NBSMG +1 SLKRN => 5 VKXL +3 ZNBSR, 1 WNSC => 1 TKWH +2 KJCJL => 6 LNRX +3 HPSK, 4 KZQC, 6 BPQBR, 2 MHDKS, 5 VKXL, 13 NDHSR => 9 TRXG +1 TKWH, 36 BDRP => 5 BNQFL +2 BJSWZ => 7 RZND +2 SLKRN, 1 NDHSR, 11 PTZH, 1 HPSK, 1 NCMQC, 1 BNQFL, 10 GFNQ => 2 KFCJC +3 LXVZ, 9 RWQC, 2 KJCJL => 7 VHPGT +2 GTWKH, 1 LNRX, 2 RZND => 1 MHDKS +18 RZND, 2 VHPGT, 7 JSPDJ => 9 NCMQC +2 NBSMG, 3 KJCJL => 9 BPQBR +124 ORE => 1 JFBD +1 QPJVR, 2 QMZJX => 4 SGDXK +4 BPQBR, 1 LNRX => 2 KZQC +1 KJCJL, 15 GTWKH => 2 SBLQ +1 ZDQRT, 3 CZLDF, 10 GDLFK, 1 BDRP, 10 VHMT, 6 XGVF, 1 RLFHL => 7 CVHR +1 KZQC => 8 MPBVZ +27 GRXH, 3 LNRX, 1 BPQBR => 6 XGVF +1 XCTCF => 6 KFPT +7 JFBD => 4 GHZW +19 VHPGT => 2 SLKRN +9 JFBD, 1 TVRMW, 10 BTZH => 6 BJSWZ +6 ZNBSR => 4 PTZH +1 JSPDJ, 2 BHNV, 1 RLFHL => 3 QMZJX +2 RCWX, 1 WNSC => 4 GRXH +2 TKWH, 5 NCMQC, 9 GRXH => 3 HPSK +32 KZQC => 5 RCWX +4 GHZW, 1 TVRMW => 1 QPJVR +2 QPJVR, 8 GHZW => 5 ZDQRT +1 VDVQ, 1 WFHXK => 6 BHNV +1 ZNBSR, 6 TKWH => 8 CZLDF +1 MGNW => 5 PFKHV diff --git a/input/day15.txt b/input/day15.txt new file mode 100644 index 0000000..2e95d3b --- /dev/null +++ b/input/day15.txt @@ -0,0 +1 @@ +3,1033,1008,1033,1,1032,1005,1032,31,1008,1033,2,1032,1005,1032,58,1008,1033,3,1032,1005,1032,81,1008,1033,4,1032,1005,1032,104,99,101,0,1034,1039,101,0,1036,1041,1001,1035,-1,1040,1008,1038,0,1043,102,-1,1043,1032,1,1037,1032,1042,1105,1,124,101,0,1034,1039,102,1,1036,1041,1001,1035,1,1040,1008,1038,0,1043,1,1037,1038,1042,1106,0,124,1001,1034,-1,1039,1008,1036,0,1041,102,1,1035,1040,1001,1038,0,1043,1001,1037,0,1042,1106,0,124,1001,1034,1,1039,1008,1036,0,1041,1001,1035,0,1040,1001,1038,0,1043,1002,1037,1,1042,1006,1039,217,1006,1040,217,1008,1039,40,1032,1005,1032,217,1008,1040,40,1032,1005,1032,217,1008,1039,7,1032,1006,1032,165,1008,1040,5,1032,1006,1032,165,1102,1,2,1044,1105,1,224,2,1041,1043,1032,1006,1032,179,1101,0,1,1044,1105,1,224,1,1041,1043,1032,1006,1032,217,1,1042,1043,1032,1001,1032,-1,1032,1002,1032,39,1032,1,1032,1039,1032,101,-1,1032,1032,101,252,1032,211,1007,0,27,1044,1106,0,224,1102,1,0,1044,1106,0,224,1006,1044,247,101,0,1039,1034,101,0,1040,1035,102,1,1041,1036,1001,1043,0,1038,102,1,1042,1037,4,1044,1106,0,0,13,3,18,86,2,10,5,16,95,16,54,4,23,63,70,10,21,20,26,99,85,9,96,3,83,5,9,91,14,1,4,78,11,15,53,10,35,13,7,17,30,90,23,65,65,67,16,4,65,39,11,57,13,36,22,95,53,63,22,47,12,47,2,12,3,71,92,17,55,16,51,79,6,3,92,15,17,15,18,63,8,12,3,49,6,69,32,1,25,83,17,12,1,76,23,95,17,13,92,13,56,16,69,94,11,20,31,83,30,21,88,22,61,45,6,70,12,3,30,23,86,6,93,4,24,9,73,72,7,72,83,9,30,6,24,86,99,11,11,96,16,68,10,35,19,23,6,79,51,8,3,8,75,2,32,26,73,23,80,30,86,25,64,46,24,81,20,18,85,7,94,28,37,93,18,12,77,99,14,22,19,50,2,18,45,63,8,2,89,79,79,7,33,77,18,20,22,12,58,61,20,4,58,20,51,79,14,32,19,87,21,19,76,8,81,7,13,72,75,22,28,22,14,92,30,18,90,10,6,97,25,34,9,20,26,52,45,6,4,97,4,46,26,86,61,20,25,28,26,22,54,69,16,51,3,58,5,23,75,92,18,98,12,11,55,38,22,87,14,20,17,52,73,9,91,30,14,26,12,56,81,54,9,72,18,12,47,93,22,54,21,59,73,7,78,12,87,26,5,39,45,4,55,16,21,86,62,20,98,61,14,20,70,14,25,92,32,44,2,3,15,32,23,23,97,76,78,15,23,95,21,11,69,34,12,89,3,95,24,15,59,38,39,72,14,15,55,48,18,2,43,26,13,58,68,11,22,89,33,79,22,43,40,14,26,5,50,11,28,9,36,33,2,22,43,21,90,15,92,14,14,49,9,80,14,85,99,70,8,16,14,15,70,1,39,32,45,5,57,12,12,4,99,75,28,14,2,28,71,5,69,61,4,28,98,97,87,10,80,2,65,93,6,21,81,7,95,22,35,18,38,23,11,53,14,5,2,84,3,70,33,19,8,52,10,99,14,58,36,1,3,30,53,4,7,47,10,93,2,32,17,40,68,43,20,41,4,16,21,29,23,82,2,18,37,37,15,19,26,41,28,9,95,17,17,52,25,13,49,28,47,22,5,52,14,21,72,83,7,17,86,20,3,18,58,14,19,25,56,65,65,26,53,8,20,75,31,21,40,17,6,33,20,95,47,24,75,26,17,96,24,48,65,97,4,52,20,78,47,14,23,77,32,8,18,98,43,7,61,25,84,40,6,36,24,87,24,71,77,13,20,49,16,60,35,9,64,48,21,2,74,25,1,2,57,11,58,7,45,35,26,13,74,92,2,9,82,9,20,23,15,33,94,7,10,48,78,16,24,94,33,11,21,5,89,47,15,52,12,51,51,81,9,18,39,14,2,97,79,33,23,12,99,3,16,11,79,83,45,18,23,78,86,69,10,25,98,62,62,18,7,44,47,1,3,92,8,22,81,9,3,29,8,81,21,13,95,6,5,99,5,29,16,3,53,72,26,14,44,97,7,43,12,42,65,17,8,12,88,55,18,20,34,13,39,10,72,58,15,11,69,17,94,20,22,52,28,13,30,65,8,2,63,18,4,36,17,8,71,16,71,15,64,14,31,51,75,1,12,92,14,35,23,40,45,1,5,87,28,18,83,43,9,90,2,3,50,18,61,68,5,89,16,44,7,34,82,74,15,83,15,70,13,80,20,43,8,35,14,58,50,75,20,50,9,68,46,52,2,73,11,60,32,61,25,40,9,31,21,73,0,0,21,21,1,10,1,0,0,0,0,0,0 diff --git a/input/day16.txt b/input/day16.txt new file mode 100644 index 0000000..68cecfd --- /dev/null +++ b/input/day16.txt @@ -0,0 +1 @@ +59728776137831964407973962002190906766322659303479564518502254685706025795824872901465838782474078135479504351754597318603898249365886373257507600323820091333924823533976723324070520961217627430323336204524247721593859226704485849491418129908885940064664115882392043975997862502832791753443475733972832341211432322108298512512553114533929906718683734211778737511609226184538973092804715035096933160826733751936056316586618837326144846607181591957802127283758478256860673616576061374687104534470102346796536051507583471850382678959394486801952841777641763547422116981527264877636892414006855332078225310912793451227305425976335026620670455240087933409 diff --git a/input/day17.txt b/input/day17.txt new file mode 100644 index 0000000..5bb9636 --- /dev/null +++ b/input/day17.txt @@ -0,0 +1 @@ +1,330,331,332,109,3508,1102,1,1182,16,1101,0,1473,24,101,0,0,570,1006,570,36,1002,571,1,0,1001,570,-1,570,1001,24,1,24,1105,1,18,1008,571,0,571,1001,16,1,16,1008,16,1473,570,1006,570,14,21102,58,1,0,1105,1,786,1006,332,62,99,21102,1,333,1,21101,0,73,0,1106,0,579,1102,0,1,572,1101,0,0,573,3,574,101,1,573,573,1007,574,65,570,1005,570,151,107,67,574,570,1005,570,151,1001,574,-64,574,1002,574,-1,574,1001,572,1,572,1007,572,11,570,1006,570,165,101,1182,572,127,1002,574,1,0,3,574,101,1,573,573,1008,574,10,570,1005,570,189,1008,574,44,570,1006,570,158,1105,1,81,21102,340,1,1,1106,0,177,21101,477,0,1,1105,1,177,21102,514,1,1,21102,1,176,0,1106,0,579,99,21101,184,0,0,1106,0,579,4,574,104,10,99,1007,573,22,570,1006,570,165,101,0,572,1182,21102,375,1,1,21101,211,0,0,1105,1,579,21101,1182,11,1,21102,222,1,0,1105,1,979,21102,388,1,1,21102,233,1,0,1105,1,579,21101,1182,22,1,21101,0,244,0,1106,0,979,21102,401,1,1,21101,255,0,0,1106,0,579,21101,1182,33,1,21101,266,0,0,1106,0,979,21101,0,414,1,21102,1,277,0,1106,0,579,3,575,1008,575,89,570,1008,575,121,575,1,575,570,575,3,574,1008,574,10,570,1006,570,291,104,10,21101,0,1182,1,21101,0,313,0,1106,0,622,1005,575,327,1102,1,1,575,21102,1,327,0,1106,0,786,4,438,99,0,1,1,6,77,97,105,110,58,10,33,10,69,120,112,101,99,116,101,100,32,102,117,110,99,116,105,111,110,32,110,97,109,101,32,98,117,116,32,103,111,116,58,32,0,12,70,117,110,99,116,105,111,110,32,65,58,10,12,70,117,110,99,116,105,111,110,32,66,58,10,12,70,117,110,99,116,105,111,110,32,67,58,10,23,67,111,110,116,105,110,117,111,117,115,32,118,105,100,101,111,32,102,101,101,100,63,10,0,37,10,69,120,112,101,99,116,101,100,32,82,44,32,76,44,32,111,114,32,100,105,115,116,97,110,99,101,32,98,117,116,32,103,111,116,58,32,36,10,69,120,112,101,99,116,101,100,32,99,111,109,109,97,32,111,114,32,110,101,119,108,105,110,101,32,98,117,116,32,103,111,116,58,32,43,10,68,101,102,105,110,105,116,105,111,110,115,32,109,97,121,32,98,101,32,97,116,32,109,111,115,116,32,50,48,32,99,104,97,114,97,99,116,101,114,115,33,10,94,62,118,60,0,1,0,-1,-1,0,1,0,0,0,0,0,0,1,42,14,0,109,4,1201,-3,0,586,21001,0,0,-1,22101,1,-3,-3,21102,0,1,-2,2208,-2,-1,570,1005,570,617,2201,-3,-2,609,4,0,21201,-2,1,-2,1106,0,597,109,-4,2105,1,0,109,5,1202,-4,1,630,20101,0,0,-2,22101,1,-4,-4,21101,0,0,-3,2208,-3,-2,570,1005,570,781,2201,-4,-3,652,21001,0,0,-1,1208,-1,-4,570,1005,570,709,1208,-1,-5,570,1005,570,734,1207,-1,0,570,1005,570,759,1206,-1,774,1001,578,562,684,1,0,576,576,1001,578,566,692,1,0,577,577,21102,702,1,0,1105,1,786,21201,-1,-1,-1,1105,1,676,1001,578,1,578,1008,578,4,570,1006,570,724,1001,578,-4,578,21102,1,731,0,1105,1,786,1105,1,774,1001,578,-1,578,1008,578,-1,570,1006,570,749,1001,578,4,578,21101,0,756,0,1106,0,786,1106,0,774,21202,-1,-11,1,22101,1182,1,1,21102,774,1,0,1106,0,622,21201,-3,1,-3,1106,0,640,109,-5,2106,0,0,109,7,1005,575,802,21002,576,1,-6,21001,577,0,-5,1106,0,814,21101,0,0,-1,21101,0,0,-5,21101,0,0,-6,20208,-6,576,-2,208,-5,577,570,22002,570,-2,-2,21202,-5,55,-3,22201,-6,-3,-3,22101,1473,-3,-3,2102,1,-3,843,1005,0,863,21202,-2,42,-4,22101,46,-4,-4,1206,-2,924,21102,1,1,-1,1105,1,924,1205,-2,873,21101,35,0,-4,1105,1,924,1201,-3,0,878,1008,0,1,570,1006,570,916,1001,374,1,374,1201,-3,0,895,1102,1,2,0,2101,0,-3,902,1001,438,0,438,2202,-6,-5,570,1,570,374,570,1,570,438,438,1001,578,558,922,20102,1,0,-4,1006,575,959,204,-4,22101,1,-6,-6,1208,-6,55,570,1006,570,814,104,10,22101,1,-5,-5,1208,-5,37,570,1006,570,810,104,10,1206,-1,974,99,1206,-1,974,1102,1,1,575,21101,973,0,0,1106,0,786,99,109,-7,2105,1,0,109,6,21101,0,0,-4,21102,0,1,-3,203,-2,22101,1,-3,-3,21208,-2,82,-1,1205,-1,1030,21208,-2,76,-1,1205,-1,1037,21207,-2,48,-1,1205,-1,1124,22107,57,-2,-1,1205,-1,1124,21201,-2,-48,-2,1106,0,1041,21102,1,-4,-2,1105,1,1041,21102,1,-5,-2,21201,-4,1,-4,21207,-4,11,-1,1206,-1,1138,2201,-5,-4,1059,1201,-2,0,0,203,-2,22101,1,-3,-3,21207,-2,48,-1,1205,-1,1107,22107,57,-2,-1,1205,-1,1107,21201,-2,-48,-2,2201,-5,-4,1090,20102,10,0,-1,22201,-2,-1,-2,2201,-5,-4,1103,2101,0,-2,0,1106,0,1060,21208,-2,10,-1,1205,-1,1162,21208,-2,44,-1,1206,-1,1131,1106,0,989,21101,439,0,1,1105,1,1150,21101,477,0,1,1106,0,1150,21102,514,1,1,21102,1149,1,0,1106,0,579,99,21102,1157,1,0,1105,1,579,204,-2,104,10,99,21207,-3,22,-1,1206,-1,1138,1201,-5,0,1176,2102,1,-4,0,109,-6,2106,0,0,40,9,46,1,7,1,46,1,7,1,46,1,7,1,46,1,7,1,46,1,7,1,42,13,42,1,3,1,50,1,3,1,50,1,3,1,50,1,3,9,42,1,11,1,36,9,9,1,36,1,5,1,1,1,9,1,18,13,5,1,5,7,5,1,18,1,17,1,7,1,9,1,8,7,3,1,13,11,1,1,9,1,8,1,5,1,3,1,13,1,3,1,5,1,1,1,9,1,6,7,1,1,3,1,13,1,3,1,5,1,1,1,9,1,6,1,1,1,3,1,1,1,3,1,13,1,3,1,5,1,1,1,9,1,6,1,1,1,3,1,1,1,3,1,13,1,3,1,5,1,1,1,9,1,6,1,1,1,3,1,1,1,3,1,13,1,3,1,5,1,1,1,9,1,6,1,1,11,13,1,3,7,1,1,9,8,5,1,1,1,17,1,11,1,15,2,5,1,1,1,5,13,11,9,7,2,5,1,1,1,5,1,31,1,7,10,5,1,31,1,7,1,6,1,7,1,31,1,7,1,6,1,7,1,25,11,3,1,6,1,7,1,25,1,5,1,3,1,3,1,6,9,25,1,1,13,40,1,1,1,3,1,3,1,44,1,1,1,3,1,3,1,44,1,1,1,3,1,3,1,44,7,3,1,46,1,7,1,46,9,4 diff --git a/input/day18.txt b/input/day18.txt new file mode 100644 index 0000000..8614eb1 --- /dev/null +++ b/input/day18.txt @@ -0,0 +1,82 @@ +################################################################################# +#.....#.....#z#...C.....#.........#.....#.#.....#.......V.#.....#.........#b....# +###.#.###.#.#.#.#####.###.#.#######.###.#.#.#.#.#.#######.#####.#.#######.#.#.### +#...#..y..#.#.#.#...#.#...#........p#...#...#.#...#.....#.#...T.#...#...#...#...# +#.#.#######.#.#.#.###.#.#############.#.#####.#####.#####.#.#.###.###.#.#.#####H# +#.#.#.....#.#.#.#...#...#..l....#.....#.#...Y.#...#.......#.#.#...#...#.#.....#.# +#.#.#.###.#.#.#.###.#####.###.###.#####.#.#####.###.#######.###.###.###.#######.# +#.#.#.G.#.#...#...#.........#...#.#.....#.#...#...#.#.#.........#...#.#...#.....# +#.#####.#.#######.#############.#.#####.#.#.###.#.#.#.#.#####.###.###.###.#.###.# +#.....#.#.......#.........#.....#.....#.#.#.#...#...#...#...#...#.#.......#...#.# +#.#.#.#.#######.#########.#.###.#####.###.#.#.###########.#.###.#.###.#######.#.# +#.#.#.#.#.....#.....#...#...#.#.#...#...#.#...............#...#.#...#.........#.# +###.###.###.#.###.###.#.#####.#.#.#####.#.###################.#####.###########.# +#...#...#...#.#...#...#...#...#...#.....#...#...#...........#.....#.#..g..#...#.# +#A###.###.###.#.#.#.###.###.#.###.#.###.###Z#.#.#.#########.#####.#.#.###.#.#.#.# +#...#...#.#...#.#.#.#.#.....#.....#.#.#.#.#...#..n#.......#.....#i..#...#...#.#.# +#.#.###.#.#.###.###.#.#############.#.#.#.#########.#.#########N#######.#####.#.# +#.#...#...#...#.#.......#...........#.#.#.#.X.....#.#.#.......#....o#.#.#...#.#.# +#.###.#######.#.#.#######.###########.#.#.#.###.###.#.#.#####.#####.#.#.###.#.#.# +#v#.#.#.....#.#...#.....#.......#.#.....#.#...#..u..#.#.#e....O...#.#.#.#...#...# +#.#.#.#.###.#.#####.###.#.#####.#.#.#####.###.#######.#.###.#####.#.#.#W#.#.##### +#...#.#...#.#.#.#...#...#.....#.#.#.#...#.........#...#...#.#.#.#.#.#.#...#.#...# +#####.#.###.#.#.#.#######.#####.#.#.###.#.#########.#####.###.#.#.#.#.#####.#.### +#.....#.#...#...#.#.......#.....#.#.....#.....#...#.#.....#...#.....#.....#.#...# +#.#####.#.#####.#.###.#####.#####.#####.#####.#.#.#.#.###.#D#########.#####.###.# +#.I.#...#.....#.#...#...#...#.......#...#.K.#.#.#...#q..#.#.#......d#.....#...#.# +#.#.#.#####.#.#.###.#####.###.###.###.#####.#.#.#######.#E#.#.#####.###.#.###.#.# +#.#.#.#...#.#...#...#...#...#...#.....#.#...#.#.......#.#.#...#...#.R.#.#...#.#.# +#.#.#.#.#.#######.###.#.###.###.#######.#.###.#####.###.#######.#####.#.#.###.#.# +#.#...#.#.........#...#.....#.....#...#.#...#.#...#...#.....#r..#.....#.#.#...#.# +#######.###########.#############.#.#.#.###.#.#.#.###.###.#.#.#.#.#####.#.#.###.# +#w..#...#.........#.....#.....#...#.#...#...#.#.#.....#.#.#.#.#.#.#...#.#...#...# +#.#.#.###.#######.###.#.#.###.#.###.###.#.###.#.#####.#.#.###Q#.#.###.#.#####.#.# +#.#.#.....#.....#...#.#.....#.#.....#.#.#...#.#...#.....#.....#...#...#.......#.# +#.#.#######.###.###.#.#######.#######.#.#.#.#.###.#####.###########.#.#########.# +#.#.#.......#.#...#.#.#.....#...#.....#.#.#.#...#...#.....J.........#...#...#...# +#.#.#.#######.#.###.###.###.###.#.###.#.#.#.###.###.###############.#####.#.#.### +#.#...#...#...#.....#...#.#.....#.#.#...#.#.....#.#.......#...#...#.#...#.#.#.#.# +#.#####.#.#.#.#######.###.#######.#.#####.#######.#######.#.#.#.#.###.#.#.#.#.#.# +#.......#...#.........#.................................#...#...#.....#...#.....# +#######################################.@.####################################### +#.....#.......#.#.........#...#...#...#...........#.........#...................# +#.###.#.#####.#.#.#####.#.#.#.#.#.#.#.#.#.#.#######.#######.#.#####.#######.###.# +#...#...#...#...#.#...#.#...#...#...#...#.#.#...#...#...#.#...#...#.#.....#.#...# +#.#.###.#.#.#####.#.#.#.#####.#########.#.#.#.#.#.###.#.#.#####.#.#.#.#####.#.### +#.#...#.#.#.......#.#.#.#.....#.......#.#.#.#.#...#...#...#...#.#.#...#...#.#.#.# +#.###.###.###########.#.#.#####.#####.###.#.#.#####.#######.#.#.#.#####.#.#.#.#.# +#...#...#.#.......#...#.#.#.#...#...#...#.#...#.....#.......#...#...#...#.#.#.#.# +###.###.#.#####.#.#.###.#.#.#.###.#.#.#.#.#####.#####.#############.#.###.#.#.#.# +#.#.#.#.........#.#...#.#...#.#...#.#.#.#.#.........#.....#.......#...#.#...#..m# +#.#.#.###########.###.#.###.#.#.###.###.#.###.#####.#####.#.#####.#####.###.##### +#...#.#.....#...#.#...#.#...#.#.#.#...#.#k..#.#.......#...#.#...#...#.......#...# +#.###.#.###.#.###.#.###.#.###.#.#.###.#.###.#.#.#####.#.###.#.#.###.###.#####.#.# +#...#j#.#.#.#.#...#.#...#.#...#.#.#...#.#...#.#.#.....#.......#...#...#.#...S.#.# +###.#.#.#.#.#.#.###.#.#####.###.#.#.###.#.#####.#.#############.#####.###.#####.# +#.#...#.#.#.#.......#.......#...#.#.#...#.......#.#...#...#.....#.....#...#...#.# +#.###.#.#.#.#######.#########.###.#.#.#.###.#######.#.#.#.###.###.#.###.#####.#.# +#.....#...#...#.M.........#...#.....#.#.#...#.......#...#...#...#.#.#...#.....#.# +#.#######.###.#.#####.#####.###.#####.#.#.###.#############.#####.###.###.#####.# +#...#.#...#.#.#.#...#.#...#.#.........#.#.#.#.....#.......#....a#...#.#...#...#.# +###.#.#.###.#.###.#.###.#.#.###########.#.#.#####.#.#####.#####.#.#.#.#.###.#.#.# +#.#...#....t#.....#.#.#.#.#...........#.#...#...#.#.....#...#...#.#...#.#...#...# +#.###.#####.#######.#.#.#.#.#########.#.###.###.#.#.###.#########.#####.#.#####.# +#.#...#...#.#...#.#...#.#.#...#.....#.#.#.#...#.#.#...#...#.....#...#...#.#...#.# +#.#.###.#.#.#.#.#.#####.#.###.#.#####.#.#.###.#.#.###.###.#.#.#####.###.#.#.#.#.# +#...#.#.#...#.#.....#...#.#...#.#.....#.#...#.#.#...#...#.#.#.#.........#.#.#.#.# +#.###.#.#####.#####.###.#.#.###.#.#####.#.#.#.#.###.###.#.#.#.#.#########.#.###.# +#.....#.#.........#.....#.#.....#...#...#.#.#x#...#.#...#...#...#.........#..f#.# +#####.#.#####.###.#######.#####.###.#.#####.#.#.#.#.#####.#######.#########.#.#.# +#.#...#.#...#.#...#...#...#.....#.#.#...#...#.#.#.#.#...#...L...#.#.......#.#...# +#.#.###.#.#.###.###.#.#.###.#####.#.#####.###.###.#.#B#.#########.###.###.#.##### +#.#.P.#...#.....#.#.#.#...#.......#.....#...#.....#...#.........#...#...#.....#.# +#.###.###########.#.#.###.#############.###.#####.#############.###.#.#######.#.# +#c....#...#.#.......#...#.#.......#...#.#.....#...#...#.....#.#.#...#.#...#.....# +#.#####.#.#.#.#######.###.#.#####.#.#.#.#.#.###.###.#.#.#.#.#.#.#.#####.#.#####.# +#...#..s#.#.F.....#...#...#.#...#.#.#...#.#.#...#...#...#.#.#.#.#.......#.....#.# +###.###.#.#######.#.#.#.###.#.###.#.###.#.###.###########.#.#.#.#####.#######.### +#...#...#.#...#...#.#.#...#.#...#...#.#.#.....#.......#...#...#.#...#.#.....#...# +#.###.###.#.#.#####.#.###.#.#.#.#####.#.#.#######.###.#.#####.#.#.#.###.###.###.# +#.....#.....#.......#...#...#.#.........#.....U...#.....#.....#...#....h#.......# +################################################################################# + diff --git a/input/day19.txt b/input/day19.txt new file mode 100644 index 0000000..cc2d321 --- /dev/null +++ b/input/day19.txt @@ -0,0 +1 @@ +109,424,203,1,21101,11,0,0,1105,1,282,21101,0,18,0,1106,0,259,1202,1,1,221,203,1,21101,0,31,0,1105,1,282,21102,1,38,0,1106,0,259,20101,0,23,2,22102,1,1,3,21101,1,0,1,21101,0,57,0,1106,0,303,1202,1,1,222,21002,221,1,3,21001,221,0,2,21102,1,259,1,21101,80,0,0,1105,1,225,21102,1,117,2,21102,1,91,0,1105,1,303,1202,1,1,223,20102,1,222,4,21101,0,259,3,21101,0,225,2,21101,225,0,1,21101,118,0,0,1105,1,225,21001,222,0,3,21101,20,0,2,21102,1,133,0,1105,1,303,21202,1,-1,1,22001,223,1,1,21101,0,148,0,1106,0,259,2101,0,1,223,20102,1,221,4,21001,222,0,3,21101,0,16,2,1001,132,-2,224,1002,224,2,224,1001,224,3,224,1002,132,-1,132,1,224,132,224,21001,224,1,1,21102,195,1,0,105,1,108,20207,1,223,2,21002,23,1,1,21102,-1,1,3,21101,0,214,0,1105,1,303,22101,1,1,1,204,1,99,0,0,0,0,109,5,1201,-4,0,249,22102,1,-3,1,22101,0,-2,2,21202,-1,1,3,21102,1,250,0,1106,0,225,22102,1,1,-4,109,-5,2105,1,0,109,3,22107,0,-2,-1,21202,-1,2,-1,21201,-1,-1,-1,22202,-1,-2,-2,109,-3,2106,0,0,109,3,21207,-2,0,-1,1206,-1,294,104,0,99,21202,-2,1,-2,109,-3,2105,1,0,109,5,22207,-3,-4,-1,1206,-1,346,22201,-4,-3,-4,21202,-3,-1,-1,22201,-4,-1,2,21202,2,-1,-1,22201,-4,-1,1,21201,-2,0,3,21101,343,0,0,1105,1,303,1105,1,415,22207,-2,-3,-1,1206,-1,387,22201,-3,-2,-3,21202,-2,-1,-1,22201,-3,-1,3,21202,3,-1,-1,22201,-3,-1,2,21201,-4,0,1,21101,0,384,0,1105,1,303,1105,1,415,21202,-4,-1,-4,22201,-4,-3,-4,22202,-3,-2,-2,22202,-2,-4,-4,22202,-3,-2,-3,21202,-4,-1,-2,22201,-3,-2,1,22101,0,1,-4,109,-5,2105,1,0 diff --git a/input/day20.txt b/input/day20.txt new file mode 100644 index 0000000..30a40e0 --- /dev/null +++ b/input/day20.txt @@ -0,0 +1,126 @@ + J L P P V T X + G V M I O R C + #######################################.#######.###.###########.###.#.#######.######################################### + #...#.........#.#...#.#...#.........#.....#.#.....#.......#...#...#.....#.#...........#...........#.......#...#.......# + ###.#########.#.#.###.#.#######.###.###.###.#####.#.###.###.#####.###.###.#####.#.#######.#####.###.#.#####.#####.##### + #.#.....#...........#...#...#.#.#.....#.....#.#...#.#.....#.#.#.....#.....#.....#.#.#.#.......#.#...#.....#.#.#.....#.# + #.#####.#####.###.#####.###.#.#######.#.#.###.#.#####.###.#.#.#.#########.#.#.#####.#.###.#######.#.#######.#.###.###.# + #...#...#.....#...#.#...#.#.#...#.#.....#.#.......#...#.#.#...#.#.#.......#.#.#...............#.#.#.........#.#.#.....# + ###.#.#.#########.#.###.#.#.#.###.#.#.#########.#####.#.#.#.#.#.#.###.#####.###.#.#.#.###.#.###.###.#######.#.#.#.##### + #.....#...#.....#.........#...#.#...#.........#.....#.#...#.#.....#.....#.#.#...#.#.#.#...#...........#...#.........#.# + #########.#####.#.#.#.#.#.###.#.#######.#####.###.#####.###.###.###.#####.#.#.###.#.#.###.#.#####.#.###.#########.###.# + #.#.........#.....#.#.#.#.#.......#.......#.#.#.......#.#...#.#...#...#...#.....#.#.#...#.#.....#.#.............#.#...# + #.###.###.#####.#########.###.#####.###.#.#.#####.#####.###.#.###.#.###.###.#.###.#######.###.#.#.#.#######.#####.###.# + #...#...#.....#.#.#...#.........#...#...#.#.....#.#.#.....#...#...#.......#.#.#.........#...#.#.#.#.......#.#...#.#.#.# + #.#########.###.#.#.#####.#.###.###.#######.###.#.#.#.###.###.###.#.#.#.###.#####.#.###.#.#.###.#.#.#.#######.#.###.#.# + #...#.......#.#.#.....#.#.#.#...........#.....#.....#.#...#.....#.#.#.#.#.......#.#.#...#.#.#.#.#.#.#...#...#.#.#.#...# + #.#########.#.###.###.#.###########.#########.###########.#.###.###.###.#########.#########.#.#####.#.###.###.###.###.# + #...#.#.#.......#.#.....#.....#.....#.#.......#.#...#.#...#...#.#.#.#.#.#...#...........#.#.....#...#.....#...#.......# + ###.#.#.#####.#####.###.#####.#####.#.#####.###.###.#.###.#.#####.#.#.###.#######.#######.#.#######.#.###.###.#####.### + #.....#.#.#.#.....#.#.#.........#.#.....#.#...........#...#.....#.........#...#...#...#...#.#.#...#.#.#.#...#.#.#.....# + #.#.#.#.#.#.#.#######.#########.#.###.###.###.#####.#####.#.#######.#########.###.###.###.###.#.#####.#.#####.#.#.#.### + #.#.#.......#.....#.#.#.#.#.#.#.#.....#...#...#.#.#.#...#.#.#.#.#.....#...#...#...#...#.....#.....#.#.#.#...#...#.#.#.# + #####.#####.#.#####.#.#.#.#.#.#.###.#####.#.###.#.###.###.#.#.#.#.#.###.###.#.#.#####.#.#.#######.#.###.#.#####.###.#.# + #.#.#.#.....#.....#.......................#...#...#.......#.....#.#.#.......#.#.........#...#.#.#.#...#.....#.#.#.....# + #.#.#######.#.#######.###.#.#####.#######.#.#####.#.#.###.###.#####.#######.#.###.#######.#.#.#.#.#.#####.###.#.###.### + #...#...........#.#.#.#...#.#...#.#...#.#.#.....#...#...#.#...#...........#.#...#.....#.#.#...........#...#...#.#...#.# + ###.#.#.###.#.###.#.#.#.#####.#####.###.#.#.#######.#.#.#.#.###########.###.###.#.#.#.#.#.#.#.#.###.#.###.###.#.#.#.#.# + #.....#.#.#.#.#.....#.#...#...#.#.#.....#.#.....#...#.#.#.#...#.#.#...#.#...#.#.#.#.#.#.#.#.#.#.#.#.#...#.......#.#...# + ###.#.#.#.#.#####.###########.#.#.#.###.#.#.#####.#.#######.###.#.#.#.#.#.#.#.#.#.#####.#.#######.#######.#.###.#.##### + #.#.#.#.#...#.#.......#.......#.....#.#.#.#...#.#.#.......#.......#.#...#.#.#.#...#.#...#.#...#...#...#...#.#...#.....# + #.#########.#.###.#.#####.#.#.#####.#.#.#.###.#.###.###.#########.#.#######.#.#####.###.###.###.#####.#########.###.### + #.....#.#.#.#.....#...#...#.#.#.......#...#.....#.....#...#.......#.....#.................#...#...#.........#.#.#.#...# + #.#####.#.#.#######.#######.#########.#########.#########.#.#########.#.#######.#########.#.###.#####.#######.#.#.#.### + #.....#.#.#.#...#.#.#.#.#.#...# F O O X N U W #.#.....#.#.#...#.#.#.........# + #.#####.#.#.#.###.#.#.#.#.#.### Z G D L B Y W ###.#####.#.###.#.#.###.###.### + #...#.#.#.#.#.#...#.......#...# #.......#.....#...#...#.#.#...# + #.###.#.#.#.#.###.#.#.###.#.#.# #.#.#######.###.#.###.#.#.#.### +PL....#.#.#...#...#...#...#...#.# #.#.#.#.#...#.#.#.....#.#.#.#.# + #.###.#.###.#.###.#.#.#.###.#.# #.###.#.#.###.###.#######.#.#.# + #.......#.#.......#.#.#.#...#..EL PM..#.........#.#.....#.#.......# + #.#.#.###.###.#.#.###########.# #.###.###.###.#.#.#.#.###.###.# + #.#.#.........#.#.#.....#...#.# #.#.#...#.......#.#.......#....BR + #############.#.#####.###.##### #.#.###.#########.#.#.###.###.# +YP..#.........#.#...#.#.#.#.....# #.#...#.....#.#.#.#.#...#...#.# + #.#.###.#.#####.###.#.#.###.#.# #.#.#.###.###.#.###########.#.# + #...#.#.#.#.#.#.#...#.....#.#.# #...#.....#.#.#.#...#.#...#.#.# + #.###.###.#.#.###.#.#.#.###.### ###########.#.#.#.###.###.###.# + #...#.#...........#...#........TH #.......#...............#...#.# + ###.#.#####################.### #.#####.#.###.###.#####.#.#.### +EV..#.#...#.................#...# LV..#.#.....#...#...#.#.#...#.#..UN + #.###.#.#####.#.###.#.#.###.### #.#.#.###.###.#.#.#.#.#####.#.# + #.#...#...#...#.#...#.#.#.#...# #.#...#.#.#.#.#.#.#.#.......#.# + #.#.#####.#.#.#.###.###.#.##### #######.###.#######.#.#######.# + #.#.#.....#.#.#...#.#.#.......# #.#.......#.....#.#.#.........# + #.#.#.#######.#######.###.#.#.# #.#####.#.###.###.#.########### + #...#...........#...#...#.#.#..XC #...#.#.#.........#...........# + #######.#########.###.###.##### #.#.#.###.###.###.###.#.#.#.### +WV..#.#.#.#...............#.#.#.# #.#...#.#.#.#.#.......#.#.#....OD + #.#.#.#.#.#.#.###.#####.###.#.# #.###.#.#.#.#########.######### + #.....#.#.#.#...#.#.....#.#.#..PI #.#.....#...#.....#.#.....#...# + #####.###.#####.#.#####.#.#.#.# #.#.#.#.###.###.###.#########.# +AA........#.....#.#.#...#.......# UN..#.#.#.....#...#...#.#.#.#...# + #.#######.###########.###.###.# ###.###########.###.#.#.#.###.# + #...........#.#.#.#.....#.#.#.# #...#...#.......#..............OA + #.#.#.#.#.#.#.#.#.###.#####.### #####.#.#.#.###.#.#.###.###.#.# + #.#.#.#.#.#.....#.............# #.#...#...#.#.....#.#...#...#.# + #################.#########.### #.#.###.#.#########.########### + #.....#.#.#.#.......#.....#...# #.#...#.#.#.......#.#.#.....#.# + #.#.###.#.#.#######.#.###.###.# #.#.###.#.#.#########.#.#####.# + #.#.#...#...#.#...#.....#.#.#.# SL....#.#.#.#.#.#.....#...#.#...# + #.#.#.#.#.###.#.#.#######.#.#.# #####.#####.#.#.#.#####.#.#.### +EL..#...#.........#.........#.#..WV #...............#.#.#..........XP + #.###########.###.#########.### #.#########.###.###.###.#####.# + #.#.......#...#...#...........# #.#.....#...#...#...#.......#.# + ###.#####.###.#########.#.###.# #.#.###.#.#.#####.#.#####.#.#.# +UY..#...#.....#.#.........#.#....XP PL..#...#...#.#.#.#.#...#...#.#.# + #.#.###.#.###########.#.#.##### #.###.#######.#.###.#.#.#####.# + #.#.#...#.#.#.#.#.#...#.#.....# #...#...............#.....#.#.# + #.#.#.#####.#.#.#.###.###.##### #.#.###############.#.#.###.#.# + #...#...................#.....# #.#.#...........#...#.#.#...#.# + ###############.############### #.#.###.#######.###########.### + #...........#.#.#.............# #.#.#.....#...........#...#.#.# + #####.#.#.###.###.#######.###.# #########.#.#.###########.#.#.# + #.....#.#.#.#.#.........#.#...# #.#.#.....#.#.#...#...#...#....TH + #.#####.###.#.#######.#####.### #.#.###.#.#.#########.###.#.#.# +ZZ....#...#...#.#...........#.#.# JG........#.#.................#.# + ###.#.###.#.#.###.#.#.#####.#.# #.###.#.###.#.#.#####.###.#.### +JH....#.....#.......#.#...#......EV #.#...#...#.#.#...#.....#.#...# + #.#.#######.#.#####.#.#####.### #.###.#########.###.#.#####.#.# + #.#.#.......#.#.#.#.#.....#.#.# #.#...#...........#.#.#.#...#.# + #.#.###.#.#.###.#.#.#######.#.# V J Y T C B O #.#####.###.#.###.#.###.###.#.# + #.#.#...#.#...#.....#.#.......# O H P R K R A #.#.....#...#...#.#.#.#.....#.# + #.#.#.#.###.#.#.#.#.#.#.###.#.#####.#####.###########.#######.#####.#####.#######.###############.#.#.#.###.#.#.#.#.### + #.#.#.#.#...#.#.#.#...#...#.#.#.......#.......#...#.....#.....#.......#...#...#.........#.#.#.....#.#.#.#.#.#...#.#.#.# + ###.#####.#.#######.###.###.#######.#####.#####.###.#######.###.#######.###.#.#.#.#.###.#.#.###.#####.###.#########.#.# + #.....#.#.#.....#...#...#.#.#...........#.........#.....#...#.#.....#.#.....#.#.#.#.#.....#...#.#.#.........#.........# + #.#####.#.###.#####.#####.#.#.###.###.#.###.#.###.#####.#.#.#.#.#####.###.###.#.#####.#.###.#####.###.###.###.#.#.###.# + #...#...#...#.#.........#...#.#...#.#.#.#.#.#...#.#.....#.#...#.......#.#.#...#.#...#.#.#.....#.#.....#.....#.#.#.#...# + #######.#####.#####.#######.#####.#.#.###.#####.#####.###.###########.#.#####.#.#.#########.###.###.#.###.#######.###.# + #.......#.#.....#...#.........#...#.#.#...#.........#...#.#.#.......#...#.#.#.#...#...#...#.#.....#.#.#.#.#.........#.# + #.#.#.#.#.#.#####.#####.###.#####.#.#.#.#####.#.#.#.###.#.#.#####.#.#.###.#.#.#.###.###.###.###.###.###.###.#.###.##### + #.#.#.#.......#...#...#.#...#.......#.#...#...#.#.#.#.#.#.....#...#.#.....#...#...#.#.#.........#.#...#...#.#.#.......# + #######.###.###.#.#.###############.###.#####.###.###.#.#.#.#.#.#.#.#.###.###.###.#.#.#.###.#.###.###.#.#.#.#####.#.#.# + #...#.#.#.....#.#.#.#.........#.#.........#.....#.#...#.#.#.#.#.#.#.....#.#...#...#...#...#.#.....#.#.#.#.......#.#.#.# + #.###.###.#.#####.#.#########.#.#######.#.###.#####.###.#.#.#####.###.#######.#.###.###.#######.#.#.#####.#.#.#.###.### + #.....#...#...#.#.....#...............#.#.#.....#.......#.#.#.....#.#...#.....#.....#.....#.....#.....#.#.#.#.#.#.....# + #####.#.#.###.#.#.#########.#####.###.#.###.###.#######.#.#####.###.#.#.#####.#.###.#.#.#######.#.#.###.#.#######.#.#.# + #.......#.#.#.#.....#.......#.#...#.#.....#.#...#.#.#...#...#.......#.#.#.....#.#.....#...#...#.#.#.#.......#.#.#.#.#.# + #.###.#.#.#.###.#######.#####.#.#.#####.#.###.###.#.#.#.#.#####.#####.#####.###.#.###.###.#.###.#.###########.#.#.#.#.# + #.#.#.#.#...#...#...#.#.#.#.#.#.#.....#.#...#...#.....#.#...#.#.....#.#.......#.#.#...#.#.....#.#.#.........#...#.#.#.# + #.#.#.#.#.###.#####.#.###.#.#.###.#######.#####.#.###.###.#.#.#.#############.#######.#.#.###.#####.#.###.###.#####.### + #.#.#.#.#...#...#.#.....................#.#.....#...#.#...#...#.#...#.#.......#...#.#...#.#.#.#.....#.#.........#.#...# + #.#.#.#.#.#######.#####.#####.#####.#########.#.#.#########.#.#.###.#.#####.###.###.#.#.###.#####.#########.#####.##### + #.#...#.#.#...#.........#.#.#.#.......#...#.#.#.#.........#.#.#.#.....#...........#...#.#.......#.#.#.#.#...........#.# + #.#######.###.###.#######.#.#####.#####.###.#.#######.#####.###.###.#.###.###.#######.#######.###.#.#.#.###.###.###.#.# + #.....#.#.#.#.#.#.#.#.....#.........#.........#.#...#...#.#...#.....#.#.#...#.#.#.#.#.....#...............#...#.#.....# + #.#####.###.#.#.###.#####.#######.#####.#.###.#.#.#.#.###.#.#########.#.#.###.#.#.#.#.#########.#####.#.#.#######.#.#.# + #.#.#.......................#.#.#.#...#.#.#.....#.#...#.#...#.#.#.......#.#.....#.#...#...#.........#.#.#.......#.#.#.# + #.#.#.###.#####.#########.#.#.#.#.#.###########.#.###.#.#.###.#.###.###.###.#####.###.###.#.#.#.#.###.#####.#.###.##### + #.#...#.#.#.#...#.........#.........#...#.#.....#...#.#.......#...#...#.#.....#...#.........#.#.#...#...#...#.#.#...#.# + #######.###.###.#####.#####.#####.#.#.###.###.###.#######.#.#.#.#####.#######.#.#.#.#####.#####.#.#.#.#####.###.#####.# + #...............#.....#.......#...#.....#.......#.....#...#.#.#.......#.......#.#.......#.....#.#.#.#.....#...........# + #####################################.#####.#######.#######.###.#########.#####.####################################### + O C N X F S W + G K B L Z L W + diff --git a/input/day21.txt b/input/day21.txt new file mode 100644 index 0000000..d5bc0f1 --- /dev/null +++ b/input/day21.txt @@ -0,0 +1 @@ +109,2050,21102,1,966,1,21102,1,13,0,1106,0,1378,21102,1,20,0,1106,0,1337,21101,0,27,0,1106,0,1279,1208,1,65,748,1005,748,73,1208,1,79,748,1005,748,110,1208,1,78,748,1005,748,132,1208,1,87,748,1005,748,169,1208,1,82,748,1005,748,239,21101,0,1041,1,21102,73,1,0,1105,1,1421,21102,78,1,1,21101,1041,0,2,21102,1,88,0,1105,1,1301,21102,68,1,1,21102,1,1041,2,21102,103,1,0,1106,0,1301,1102,1,1,750,1106,0,298,21102,1,82,1,21102,1041,1,2,21101,125,0,0,1105,1,1301,1101,2,0,750,1105,1,298,21101,0,79,1,21101,1041,0,2,21101,147,0,0,1106,0,1301,21101,0,84,1,21102,1,1041,2,21102,1,162,0,1106,0,1301,1102,3,1,750,1106,0,298,21102,1,65,1,21102,1041,1,2,21102,1,184,0,1106,0,1301,21101,0,76,1,21102,1041,1,2,21101,0,199,0,1106,0,1301,21101,0,75,1,21102,1041,1,2,21101,0,214,0,1106,0,1301,21102,221,1,0,1106,0,1337,21102,10,1,1,21101,1041,0,2,21102,1,236,0,1106,0,1301,1105,1,553,21102,1,85,1,21101,0,1041,2,21102,1,254,0,1106,0,1301,21101,78,0,1,21101,0,1041,2,21102,269,1,0,1105,1,1301,21101,0,276,0,1105,1,1337,21101,0,10,1,21101,1041,0,2,21101,291,0,0,1106,0,1301,1101,1,0,755,1105,1,553,21102,32,1,1,21102,1041,1,2,21101,0,313,0,1106,0,1301,21102,1,320,0,1106,0,1337,21101,327,0,0,1106,0,1279,2101,0,1,749,21101,65,0,2,21101,0,73,3,21102,1,346,0,1106,0,1889,1206,1,367,1007,749,69,748,1005,748,360,1101,0,1,756,1001,749,-64,751,1106,0,406,1008,749,74,748,1006,748,381,1101,-1,0,751,1105,1,406,1008,749,84,748,1006,748,395,1101,0,-2,751,1105,1,406,21101,1100,0,1,21102,1,406,0,1106,0,1421,21101,32,0,1,21102,1100,1,2,21101,421,0,0,1106,0,1301,21102,428,1,0,1106,0,1337,21101,0,435,0,1106,0,1279,2101,0,1,749,1008,749,74,748,1006,748,453,1101,-1,0,752,1106,0,478,1008,749,84,748,1006,748,467,1102,1,-2,752,1106,0,478,21101,1168,0,1,21102,1,478,0,1105,1,1421,21101,0,485,0,1105,1,1337,21102,10,1,1,21102,1,1168,2,21102,500,1,0,1106,0,1301,1007,920,15,748,1005,748,518,21102,1209,1,1,21102,518,1,0,1106,0,1421,1002,920,3,529,1001,529,921,529,1002,750,1,0,1001,529,1,537,1002,751,1,0,1001,537,1,545,1002,752,1,0,1001,920,1,920,1106,0,13,1005,755,577,1006,756,570,21101,1100,0,1,21101,570,0,0,1105,1,1421,21102,1,987,1,1106,0,581,21101,0,1001,1,21101,588,0,0,1106,0,1378,1102,1,758,594,102,1,0,753,1006,753,654,20102,1,753,1,21102,1,610,0,1106,0,667,21101,0,0,1,21102,621,1,0,1105,1,1463,1205,1,647,21101,1015,0,1,21101,635,0,0,1106,0,1378,21102,1,1,1,21101,646,0,0,1106,0,1463,99,1001,594,1,594,1105,1,592,1006,755,664,1102,0,1,755,1106,0,647,4,754,99,109,2,1102,726,1,757,21201,-1,0,1,21102,9,1,2,21101,0,697,3,21102,692,1,0,1106,0,1913,109,-2,2106,0,0,109,2,101,0,757,706,1201,-1,0,0,1001,757,1,757,109,-2,2105,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,255,63,159,223,191,127,95,0,217,116,190,245,34,136,235,118,153,70,227,139,39,43,222,56,213,143,137,115,110,78,49,94,196,182,229,38,220,51,101,203,154,188,169,242,58,244,93,173,175,214,254,243,54,251,174,198,200,177,234,61,155,219,181,98,215,247,241,206,201,156,207,202,167,189,250,114,252,158,166,253,218,46,125,120,199,77,109,140,152,239,186,170,86,197,121,178,84,100,62,55,102,35,123,237,171,85,163,162,42,231,111,99,124,107,142,187,79,47,233,205,168,221,103,232,92,179,226,249,246,184,172,69,50,204,113,122,248,138,119,185,183,236,108,71,126,60,53,212,68,157,228,141,87,117,106,238,59,230,216,76,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,73,110,112,117,116,32,105,110,115,116,114,117,99,116,105,111,110,115,58,10,13,10,87,97,108,107,105,110,103,46,46,46,10,10,13,10,82,117,110,110,105,110,103,46,46,46,10,10,25,10,68,105,100,110,39,116,32,109,97,107,101,32,105,116,32,97,99,114,111,115,115,58,10,10,58,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,59,32,101,120,112,101,99,116,101,100,32,115,111,109,101,116,104,105,110,103,32,108,105,107,101,32,65,78,68,44,32,79,82,44,32,111,114,32,78,79,84,67,73,110,118,97,108,105,100,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,59,32,101,120,112,101,99,116,101,100,32,115,111,109,101,116,104,105,110,103,32,108,105,107,101,32,65,44,32,66,44,32,67,44,32,68,44,32,74,44,32,111,114,32,84,40,73,110,118,97,108,105,100,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,59,32,101,120,112,101,99,116,101,100,32,74,32,111,114,32,84,52,79,117,116,32,111,102,32,109,101,109,111,114,121,59,32,97,116,32,109,111,115,116,32,49,53,32,105,110,115,116,114,117,99,116,105,111,110,115,32,99,97,110,32,98,101,32,115,116,111,114,101,100,0,109,1,1005,1262,1270,3,1262,20102,1,1262,0,109,-1,2105,1,0,109,1,21101,0,1288,0,1105,1,1263,20101,0,1262,0,1101,0,0,1262,109,-1,2105,1,0,109,5,21102,1310,1,0,1106,0,1279,22102,1,1,-2,22208,-2,-4,-1,1205,-1,1332,22102,1,-3,1,21102,1332,1,0,1106,0,1421,109,-5,2105,1,0,109,2,21102,1,1346,0,1106,0,1263,21208,1,32,-1,1205,-1,1363,21208,1,9,-1,1205,-1,1363,1105,1,1373,21101,1370,0,0,1106,0,1279,1106,0,1339,109,-2,2106,0,0,109,5,2102,1,-4,1386,20101,0,0,-2,22101,1,-4,-4,21101,0,0,-3,22208,-3,-2,-1,1205,-1,1416,2201,-4,-3,1408,4,0,21201,-3,1,-3,1106,0,1396,109,-5,2106,0,0,109,2,104,10,21202,-1,1,1,21101,1436,0,0,1106,0,1378,104,10,99,109,-2,2106,0,0,109,3,20002,594,753,-1,22202,-1,-2,-1,201,-1,754,754,109,-3,2105,1,0,109,10,21101,0,5,-5,21101,0,1,-4,21102,0,1,-3,1206,-9,1555,21102,3,1,-6,21102,1,5,-7,22208,-7,-5,-8,1206,-8,1507,22208,-6,-4,-8,1206,-8,1507,104,64,1106,0,1529,1205,-6,1527,1201,-7,716,1515,21002,0,-11,-8,21201,-8,46,-8,204,-8,1106,0,1529,104,46,21201,-7,1,-7,21207,-7,22,-8,1205,-8,1488,104,10,21201,-6,-1,-6,21207,-6,0,-8,1206,-8,1484,104,10,21207,-4,1,-8,1206,-8,1569,21101,0,0,-9,1105,1,1689,21208,-5,21,-8,1206,-8,1583,21101,1,0,-9,1106,0,1689,1201,-5,716,1588,21001,0,0,-2,21208,-4,1,-1,22202,-2,-1,-1,1205,-2,1613,22102,1,-5,1,21102,1,1613,0,1105,1,1444,1206,-1,1634,21201,-5,0,1,21102,1,1627,0,1105,1,1694,1206,1,1634,21101,2,0,-3,22107,1,-4,-8,22201,-1,-8,-8,1206,-8,1649,21201,-5,1,-5,1206,-3,1663,21201,-3,-1,-3,21201,-4,1,-4,1105,1,1667,21201,-4,-1,-4,21208,-4,0,-1,1201,-5,716,1676,22002,0,-1,-1,1206,-1,1686,21102,1,1,-4,1106,0,1477,109,-10,2105,1,0,109,11,21102,1,0,-6,21101,0,0,-8,21102,0,1,-7,20208,-6,920,-9,1205,-9,1880,21202,-6,3,-9,1201,-9,921,1725,20101,0,0,-5,1001,1725,1,1732,21002,0,1,-4,21202,-4,1,1,21102,1,1,2,21101,0,9,3,21102,1754,1,0,1105,1,1889,1206,1,1772,2201,-10,-4,1766,1001,1766,716,1766,21002,0,1,-3,1105,1,1790,21208,-4,-1,-9,1206,-9,1786,22102,1,-8,-3,1106,0,1790,22102,1,-7,-3,1001,1732,1,1796,20102,1,0,-2,21208,-2,-1,-9,1206,-9,1812,22101,0,-8,-1,1105,1,1816,22102,1,-7,-1,21208,-5,1,-9,1205,-9,1837,21208,-5,2,-9,1205,-9,1844,21208,-3,0,-1,1106,0,1855,22202,-3,-1,-1,1105,1,1855,22201,-3,-1,-1,22107,0,-1,-1,1105,1,1855,21208,-2,-1,-9,1206,-9,1869,21202,-1,1,-8,1106,0,1873,21201,-1,0,-7,21201,-6,1,-6,1105,1,1708,21202,-8,1,-10,109,-11,2106,0,0,109,7,22207,-6,-5,-3,22207,-4,-6,-2,22201,-3,-2,-1,21208,-1,0,-6,109,-7,2106,0,0,0,109,5,1201,-2,0,1912,21207,-4,0,-1,1206,-1,1930,21101,0,0,-4,22101,0,-4,1,21201,-3,0,2,21102,1,1,3,21101,0,1949,0,1106,0,1954,109,-5,2106,0,0,109,6,21207,-4,1,-1,1206,-1,1977,22207,-5,-3,-1,1206,-1,1977,21202,-5,1,-5,1106,0,2045,22102,1,-5,1,21201,-4,-1,2,21202,-3,2,3,21102,1,1996,0,1105,1,1954,21201,1,0,-5,21102,1,1,-2,22207,-5,-3,-1,1206,-1,2015,21101,0,0,-2,22202,-3,-2,-3,22107,0,-4,-1,1206,-1,2037,21202,-2,1,1,21101,2037,0,0,106,0,1912,21202,-3,-1,-3,22201,-5,-3,-5,109,-6,2105,1,0 diff --git a/input/day22.txt b/input/day22.txt new file mode 100644 index 0000000..8a03db5 --- /dev/null +++ b/input/day22.txt @@ -0,0 +1,100 @@ +cut -9531 +deal into new stack +deal with increment 38 +cut -8776 +deal with increment 18 +cut 1410 +deal with increment 72 +deal into new stack +deal with increment 22 +cut -8727 +deal into new stack +deal with increment 41 +deal into new stack +cut 1001 +deal with increment 73 +cut -9231 +deal with increment 16 +cut 8964 +deal with increment 12 +deal into new stack +deal with increment 28 +cut 3730 +deal with increment 39 +deal into new stack +deal with increment 13 +cut 6377 +deal with increment 40 +cut 8162 +deal with increment 68 +deal into new stack +cut 7163 +deal with increment 56 +cut -6800 +deal with increment 66 +deal into new stack +deal with increment 72 +cut 3762 +deal with increment 14 +deal into new stack +deal with increment 48 +cut 7812 +deal with increment 29 +cut -9781 +deal with increment 22 +cut -5551 +deal into new stack +deal with increment 64 +cut -8973 +deal with increment 55 +cut 8183 +deal with increment 36 +cut -1453 +deal with increment 42 +cut -5588 +deal with increment 48 +deal into new stack +cut -1212 +deal with increment 5 +cut -1798 +deal into new stack +cut 6711 +deal with increment 23 +cut 4919 +deal into new stack +deal with increment 32 +cut -1690 +deal with increment 51 +cut 2250 +deal into new stack +deal with increment 60 +cut -5228 +deal with increment 66 +cut 2546 +deal with increment 27 +deal into new stack +cut 4013 +deal into new stack +cut -2059 +deal with increment 11 +cut 7778 +deal with increment 46 +deal into new stack +cut 5107 +deal with increment 10 +cut 8038 +deal with increment 71 +cut 5993 +deal with increment 26 +cut -3533 +deal with increment 53 +cut 7258 +deal into new stack +cut -8491 +deal with increment 60 +deal into new stack +deal with increment 36 +deal into new stack +cut 6760 +deal with increment 51 +cut -302 diff --git a/input/day23.txt b/input/day23.txt new file mode 100644 index 0000000..34bb8a5 --- /dev/null +++ b/input/day23.txt @@ -0,0 +1 @@ +3,62,1001,62,11,10,109,2249,105,1,0,674,715,1300,1401,1150,2030,1599,1533,1119,2183,1826,2152,750,1566,2061,977,2092,812,1440,606,1502,913,1758,1630,849,1964,1335,944,1900,2218,1663,1187,1696,781,1869,1014,1999,637,880,1727,1084,1797,1372,571,1053,1933,1224,1471,2123,1265,0,0,0,0,0,0,0,0,0,0,0,0,3,64,1008,64,-1,62,1006,62,88,1006,61,170,1106,0,73,3,65,21001,64,0,1,21002,66,1,2,21101,105,0,0,1105,1,436,1201,1,-1,64,1007,64,0,62,1005,62,73,7,64,67,62,1006,62,73,1002,64,2,132,1,132,68,132,1001,0,0,62,1001,132,1,140,8,0,65,63,2,63,62,62,1005,62,73,1002,64,2,161,1,161,68,161,1102,1,1,0,1001,161,1,169,1001,65,0,0,1102,1,1,61,1101,0,0,63,7,63,67,62,1006,62,203,1002,63,2,194,1,68,194,194,1006,0,73,1001,63,1,63,1106,0,178,21101,0,210,0,106,0,69,2102,1,1,70,1102,0,1,63,7,63,71,62,1006,62,250,1002,63,2,234,1,72,234,234,4,0,101,1,234,240,4,0,4,70,1001,63,1,63,1106,0,218,1105,1,73,109,4,21102,0,1,-3,21101,0,0,-2,20207,-2,67,-1,1206,-1,293,1202,-2,2,283,101,1,283,283,1,68,283,283,22001,0,-3,-3,21201,-2,1,-2,1106,0,263,21201,-3,0,-3,109,-4,2105,1,0,109,4,21102,1,1,-3,21102,0,1,-2,20207,-2,67,-1,1206,-1,342,1202,-2,2,332,101,1,332,332,1,68,332,332,22002,0,-3,-3,21201,-2,1,-2,1105,1,312,22102,1,-3,-3,109,-4,2105,1,0,109,1,101,1,68,358,21002,0,1,1,101,3,68,367,20101,0,0,2,21102,376,1,0,1105,1,436,21201,1,0,0,109,-1,2106,0,0,1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648,4294967296,8589934592,17179869184,34359738368,68719476736,137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,8796093022208,17592186044416,35184372088832,70368744177664,140737488355328,281474976710656,562949953421312,1125899906842624,109,8,21202,-6,10,-5,22207,-7,-5,-5,1205,-5,521,21101,0,0,-4,21101,0,0,-3,21101,51,0,-2,21201,-2,-1,-2,1201,-2,385,471,20101,0,0,-1,21202,-3,2,-3,22207,-7,-1,-5,1205,-5,496,21201,-3,1,-3,22102,-1,-1,-5,22201,-7,-5,-7,22207,-3,-6,-5,1205,-5,515,22102,-1,-6,-5,22201,-3,-5,-3,22201,-1,-4,-4,1205,-2,461,1105,1,547,21101,0,-1,-4,21202,-6,-1,-6,21207,-7,0,-5,1205,-5,547,22201,-7,-6,-7,21201,-4,1,-4,1106,0,529,21202,-4,1,-7,109,-8,2106,0,0,109,1,101,1,68,564,20102,1,0,0,109,-1,2106,0,0,1102,94777,1,66,1101,3,0,67,1101,0,598,68,1102,1,302,69,1101,0,1,71,1102,1,604,72,1105,1,73,0,0,0,0,0,0,22,158001,1102,1,64187,66,1102,1,1,67,1102,1,633,68,1102,556,1,69,1102,1,1,71,1102,635,1,72,1106,0,73,1,-209,1,140758,1102,66361,1,66,1102,4,1,67,1102,664,1,68,1102,1,253,69,1101,1,0,71,1102,672,1,72,1106,0,73,0,0,0,0,0,0,0,0,27,98491,1102,4973,1,66,1101,1,0,67,1101,701,0,68,1101,556,0,69,1101,6,0,71,1101,0,703,72,1105,1,73,1,19485,13,98398,25,67979,25,203937,2,27953,2,55906,2,83859,1101,0,70379,66,1102,3,1,67,1101,0,742,68,1101,0,302,69,1101,1,0,71,1101,0,748,72,1105,1,73,0,0,0,0,0,0,22,52667,1102,71453,1,66,1102,1,1,67,1101,0,777,68,1102,1,556,69,1101,1,0,71,1101,0,779,72,1106,0,73,1,-10,43,94777,1101,1877,0,66,1102,1,1,67,1102,1,808,68,1101,556,0,69,1101,0,1,71,1101,810,0,72,1105,1,73,1,-9414,4,53377,1101,20789,0,66,1102,1,1,67,1101,0,839,68,1102,556,1,69,1101,4,0,71,1101,0,841,72,1106,0,73,1,3,28,326,38,22963,3,65476,15,123722,1101,2767,0,66,1102,1,1,67,1101,876,0,68,1102,556,1,69,1101,1,0,71,1102,1,878,72,1106,0,73,1,890,35,13492,1101,0,22963,66,1101,2,0,67,1102,1,907,68,1102,1,302,69,1101,0,1,71,1102,911,1,72,1105,1,73,0,0,0,0,3,81845,1101,0,62897,66,1102,1,1,67,1101,0,940,68,1101,556,0,69,1102,1,1,71,1101,942,0,72,1105,1,73,1,11,3,16369,1101,98491,0,66,1101,2,0,67,1102,1,971,68,1101,0,351,69,1101,0,1,71,1101,0,975,72,1105,1,73,0,0,0,0,255,4973,1102,61861,1,66,1101,0,4,67,1101,0,1004,68,1101,0,302,69,1101,1,0,71,1102,1012,1,72,1106,0,73,0,0,0,0,0,0,0,0,25,135958,1101,0,3373,66,1101,0,5,67,1102,1041,1,68,1102,1,302,69,1101,1,0,71,1102,1,1051,72,1105,1,73,0,0,0,0,0,0,0,0,0,0,22,263335,1102,29063,1,66,1101,1,0,67,1101,0,1080,68,1102,556,1,69,1102,1,1,71,1101,1082,0,72,1105,1,73,1,41,31,34318,1101,0,67391,66,1101,1,0,67,1101,0,1111,68,1102,556,1,69,1101,3,0,71,1102,1,1113,72,1106,0,73,1,5,26,185582,26,278373,46,68732,1102,1,67273,66,1101,1,0,67,1102,1146,1,68,1102,1,556,69,1102,1,1,71,1101,0,1148,72,1106,0,73,1,-67607,4,106754,1102,53377,1,66,1101,4,0,67,1102,1,1177,68,1102,253,1,69,1102,1,1,71,1102,1,1185,72,1106,0,73,0,0,0,0,0,0,0,0,28,163,1102,17159,1,66,1102,4,1,67,1102,1,1214,68,1101,0,302,69,1101,0,1,71,1102,1,1222,72,1106,0,73,0,0,0,0,0,0,0,0,13,49199,1101,17183,0,66,1101,6,0,67,1102,1,1251,68,1102,1,302,69,1102,1,1,71,1101,0,1263,72,1106,0,73,0,0,0,0,0,0,0,0,0,0,0,0,27,196982,1101,10589,0,66,1102,1,3,67,1101,1292,0,68,1101,302,0,69,1102,1,1,71,1102,1,1298,72,1105,1,73,0,0,0,0,0,0,22,210668,1102,1,27953,66,1102,1,3,67,1102,1327,1,68,1101,302,0,69,1101,0,1,71,1101,0,1333,72,1106,0,73,0,0,0,0,0,0,37,66361,1102,92791,1,66,1102,4,1,67,1102,1,1362,68,1101,302,0,69,1102,1,1,71,1102,1,1370,72,1106,0,73,0,0,0,0,0,0,0,0,46,34366,1102,82261,1,66,1101,1,0,67,1102,1,1399,68,1101,556,0,69,1101,0,0,71,1102,1,1401,72,1106,0,73,1,1466,1102,16369,1,66,1102,1,5,67,1101,0,1428,68,1101,302,0,69,1102,1,1,71,1101,0,1438,72,1105,1,73,0,0,0,0,0,0,0,0,0,0,37,265444,1102,14479,1,66,1101,0,1,67,1101,0,1467,68,1101,0,556,69,1102,1,1,71,1101,1469,0,72,1106,0,73,1,2927,31,68636,1101,0,31657,66,1101,1,0,67,1101,1498,0,68,1101,556,0,69,1102,1,1,71,1102,1500,1,72,1105,1,73,1,-177,15,247444,1102,1,100069,66,1101,1,0,67,1101,0,1529,68,1102,556,1,69,1101,0,1,71,1102,1,1531,72,1105,1,73,1,470263,4,160131,1102,72997,1,66,1101,1,0,67,1102,1,1560,68,1101,0,556,69,1102,2,1,71,1102,1562,1,72,1105,1,73,1,71,3,32738,15,61861,1101,0,49199,66,1102,1,2,67,1101,1593,0,68,1102,302,1,69,1102,1,1,71,1101,1597,0,72,1105,1,73,0,0,0,0,37,132722,1101,0,97,66,1101,1,0,67,1102,1,1626,68,1101,0,556,69,1101,0,1,71,1102,1,1628,72,1106,0,73,1,-97389,4,213508,1102,1,25693,66,1101,0,2,67,1101,0,1657,68,1101,0,302,69,1102,1,1,71,1101,0,1661,72,1105,1,73,0,0,0,0,43,189554,1101,69067,0,66,1101,1,0,67,1101,1690,0,68,1101,556,0,69,1102,2,1,71,1101,0,1692,72,1106,0,73,1,10,26,92791,46,85915,1101,1583,0,66,1102,1,1,67,1102,1723,1,68,1101,556,0,69,1102,1,1,71,1102,1725,1,72,1105,1,73,1,160,46,17183,1102,79187,1,66,1101,0,1,67,1102,1754,1,68,1101,0,556,69,1102,1,1,71,1102,1,1756,72,1106,0,73,1,28,35,3373,1101,0,52667,66,1101,0,5,67,1101,0,1785,68,1101,0,253,69,1101,1,0,71,1101,1795,0,72,1106,0,73,0,0,0,0,0,0,0,0,0,0,38,45926,1102,1,30271,66,1101,1,0,67,1102,1824,1,68,1102,1,556,69,1102,0,1,71,1101,0,1826,72,1105,1,73,1,1649,1101,67169,0,66,1101,0,1,67,1102,1853,1,68,1101,0,556,69,1102,7,1,71,1102,1855,1,72,1105,1,73,1,1,35,16865,23,25693,43,284331,1,70379,49,31767,31,51477,15,185583,1102,53479,1,66,1101,0,1,67,1101,0,1896,68,1101,0,556,69,1101,0,1,71,1102,1898,1,72,1106,0,73,1,1539,49,10589,1102,163,1,66,1102,2,1,67,1102,1927,1,68,1102,1,302,69,1102,1,1,71,1102,1,1931,72,1105,1,73,0,0,0,0,22,105334,1102,75253,1,66,1102,1,1,67,1101,0,1960,68,1102,1,556,69,1102,1,1,71,1101,1962,0,72,1105,1,73,1,125,26,371164,1101,67979,0,66,1101,0,3,67,1101,0,1991,68,1101,302,0,69,1101,0,1,71,1101,0,1997,72,1105,1,73,0,0,0,0,0,0,37,199083,1102,1,50363,66,1101,1,0,67,1102,2026,1,68,1101,556,0,69,1102,1,1,71,1102,1,2028,72,1105,1,73,1,59,3,49107,1101,0,93763,66,1101,0,1,67,1101,2057,0,68,1102,556,1,69,1101,0,1,71,1101,0,2059,72,1106,0,73,1,2381,49,21178,1101,73961,0,66,1102,1,1,67,1102,2088,1,68,1102,1,556,69,1101,1,0,71,1102,1,2090,72,1106,0,73,1,17,35,6746,1101,31153,0,66,1102,1,1,67,1102,2119,1,68,1101,556,0,69,1102,1,1,71,1102,2121,1,72,1105,1,73,1,1489,1,211137,1102,30553,1,66,1101,1,0,67,1102,1,2150,68,1101,0,556,69,1101,0,0,71,1102,1,2152,72,1105,1,73,1,1357,1101,7079,0,66,1101,0,1,67,1101,0,2179,68,1101,0,556,69,1102,1,1,71,1102,1,2181,72,1105,1,73,1,9781,31,17159,1102,65587,1,66,1102,1,1,67,1101,0,2210,68,1101,556,0,69,1101,3,0,71,1102,2212,1,72,1106,0,73,1,2,35,10119,46,51549,46,103098,1101,57383,0,66,1102,1,1,67,1102,2245,1,68,1101,556,0,69,1101,1,0,71,1102,1,2247,72,1105,1,73,1,78283,23,51386 diff --git a/input/day24.txt b/input/day24.txt new file mode 100644 index 0000000..92008d7 --- /dev/null +++ b/input/day24.txt @@ -0,0 +1,5 @@ +##### +...## +#..#. +#.... +#...# diff --git a/input/day25.txt b/input/day25.txt new file mode 100644 index 0000000..eb24224 --- /dev/null +++ b/input/day25.txt @@ -0,0 +1 @@ +109,4801,21102,3124,1,1,21102,1,13,0,1105,1,1424,21102,1,166,1,21101,0,24,0,1106,0,1234,21102,31,1,0,1105,1,1984,1105,1,13,6,4,3,2,52,51,21,4,28,56,55,3,19,-9,-10,47,89,88,90,90,6,77,73,85,71,1,76,68,63,65,22,-27,70,76,81,87,5,105,105,107,108,95,4,97,92,109,109,5,110,105,110,108,95,4,115,96,109,109,13,-3,59,101,85,92,97,13,84,80,92,78,34,-15,26,-16,46,88,72,79,84,0,72,76,-3,85,74,79,75,-8,64,68,75,57,65,70,64,66,72,8,-41,32,-22,56,77,82,-4,60,76,62,70,-2,74,-11,55,52,68,67,73,56,60,52,-20,44,56,66,-24,48,58,42,49,54,-16,-53,10,0,56,99,96,95,82,94,83,45,-9,23,-13,61,85,88,74,71,82,73,79,73,89,67,65,-4,62,73,70,69,56,68,57,2,-35,24,-14,64,85,90,4,70,67,79,7,83,-2,68,75,-5,78,65,57,75,-10,76,53,76,0,-37,31,-21,57,78,83,-3,64,74,72,0,76,-9,73,58,57,-13,70,57,49,67,-18,54,64,48,55,-23,48,44,56,42,-14,-51,14,-4,74,95,100,14,97,77,86,79,9,92,79,75,5,27,-17,61,82,87,1,68,78,76,4,80,-5,66,58,78,60,-10,73,60,52,70,-15,57,67,51,58,-6,-43,14,-4,74,95,100,14,81,94,90,90,9,92,79,75,5,60,-50,23,42,38,-32,38,39,30,42,47,-38,30,36,28,25,41,38,34,31,18,23,29,19,33,-52,20,29,-55,27,27,27,8,15,-61,22,16,-64,24,13,18,-54,-69,-70,-14,7,12,-74,-8,-11,1,-71,5,-80,-4,-3,3,-15,-84,-85,-109,29,-19,59,80,85,-1,82,62,71,64,-6,77,64,60,-10,62,66,57,59,63,57,67,51,-19,56,58,57,57,-10,-47,44,-34,39,58,54,-16,60,61,57,64,48,56,-23,52,40,60,38,-28,44,53,-31,55,32,55,-35,48,42,41,-39,32,38,42,-42,-44,12,33,38,-48,28,19,25,32,-52,-76,-77,59,-49,13,55,-30,42,51,-33,49,50,32,31,31,39,36,48,-42,24,35,32,34,29,21,35,19,25,37,-53,14,10,26,18,-57,-59,-3,18,23,-63,1,17,3,-67,1,-4,14,-2,6,-73,-8,14,-76,-12,-78,-40,2,4,-13,-82,-106,-107,35,-25,53,74,79,0,74,60,-10,65,53,72,64,52,56,52,50,-19,53,57,62,56,-24,58,54,38,39,40,-29,-31,2,56,35,-34,-58,-59,138,-128,-74,-108,-33,-31,-26,-44,-101,-114,-33,-37,-51,-39,-35,-47,-54,-122,-37,-45,-52,-59,-58,-128,-46,-65,-42,-49,-133,-132,-102,-60,-68,-56,-55,-139,-141,-106,-61,-65,-72,-78,-64,-148,-70,-72,-151,-68,-81,-81,-72,-156,-74,-86,-86,-80,-161,-97,-81,-95,-165,-94,-98,-103,-83,-97,-102,-90,-173,-90,-103,-111,-99,-178,-95,-108,-112,-182,-115,-115,-101,-117,-120,-104,-120,-122,-191,-106,-128,-118,-110,-127,-196,-196,-199,-135,-123,-134,-203,-115,-126,-121,-207,-143,-127,-141,-211,-143,-139,-145,-148,-132,-148,-150,-219,-154,-156,-155,-148,-224,-141,-147,-227,-144,-157,-161,-231,-165,-161,-165,-168,-161,-157,-159,-166,-162,-157,-228,-265,138,-128,-74,-108,-33,-31,-26,-44,-101,-114,-33,-37,-51,-39,-35,-47,-54,-122,-37,-45,-52,-59,-58,-128,-46,-65,-42,-49,-133,-132,-102,-60,-68,-56,-55,-139,-141,-106,-61,-65,-72,-78,-64,-148,-70,-72,-151,-68,-81,-81,-72,-156,-74,-86,-86,-80,-161,-97,-81,-95,-165,-90,-94,-97,-97,-86,-102,-90,-173,-90,-103,-111,-99,-178,-95,-108,-112,-182,-115,-115,-101,-117,-120,-104,-120,-122,-191,-106,-128,-118,-110,-127,-196,-196,-199,-135,-123,-134,-203,-115,-126,-121,-207,-143,-127,-141,-211,-143,-139,-145,-148,-132,-148,-150,-219,-154,-156,-155,-148,-224,-141,-147,-227,-144,-157,-161,-231,-165,-161,-165,-168,-161,-157,-159,-166,-162,-157,-228,-265,263,-253,-199,-233,-158,-156,-151,-169,-226,-239,-158,-162,-176,-164,-160,-172,-179,-247,-162,-170,-177,-184,-183,-253,-171,-190,-167,-174,-258,-257,-227,-183,-197,-187,-175,-182,-193,-184,-268,-202,-191,-194,-192,-197,-205,-191,-207,-276,-278,-222,-201,-196,-282,-206,-219,-196,-286,-207,-206,-210,-223,-222,-223,-225,-280,-293,-296,-232,-220,-231,-300,-212,-223,-218,-304,-236,-228,-223,-239,-227,-310,-227,-240,-244,-314,-248,-237,-250,-243,-239,-247,-237,-308,-345,-273,-260,-248,-243,-263,-329,-252,-252,-248,-260,-267,-266,-253,-337,-249,-260,-255,-259,-342,-260,-267,-280,-270,-271,-348,-281,-268,-272,-279,-285,-342,-355,-280,-278,-279,-284,-277,-361,-282,-278,-274,-275,-290,-298,-300,-369,-300,-292,-290,-373,-309,-375,-299,-298,-301,-310,-302,-297,-370,-383,-302,-316,-321,-311,-315,-299,-321,-308,-392,-306,-322,-330,-312,-397,-326,-334,-317,-401,-330,-338,-324,-325,-337,-329,-339,-341,-398,-411,-347,-335,-346,-415,-334,-352,-350,-346,-341,-338,-422,-334,-345,-340,-344,-427,-345,-357,-357,-351,-432,-365,-361,-353,-367,-370,-354,-363,-351,-427,-464,-441,-397,-373,-434,-447,-376,-380,-374,-375,-373,-452,-454,-398,-377,-372,-458,-376,-388,-382,-377,-387,-396,-465,-400,-398,-468,-404,-404,-395,-403,-473,-390,-396,-476,-406,-409,-395,-480,-408,-404,-483,-418,-396,-486,-403,-399,-409,-417,-413,-421,-493,37,-5,73,71,-8,75,62,58,-12,62,55,74,64,48,50,-19,45,63,-22,61,48,44,-26,50,37,44,48,-31,33,40,48,41,43,30,37,-25,-38,-63,0,0,109,7,21102,0,1,-2,22208,-2,-5,-1,1205,-1,1169,22202,-2,-4,1,22201,1,-6,1,21201,-2,0,2,21102,1,1162,0,2105,1,-3,21201,-2,1,-2,1106,0,1136,109,-7,2106,0,0,109,6,1202,-5,1,1182,20101,0,0,-2,21101,0,0,-3,21201,-5,1,-5,22208,-3,-2,-1,1205,-1,1229,2201,-5,-3,1204,21001,0,0,1,22102,1,-3,2,22102,1,-2,3,21101,0,1222,0,2106,0,-4,21201,-3,1,-3,1105,1,1192,109,-6,2106,0,0,109,2,22102,1,-1,1,21101,1256,0,2,21101,1251,0,0,1106,0,1174,109,-2,2106,0,0,109,5,22201,-4,-3,-1,22201,-2,-1,-1,204,-1,109,-5,2106,0,0,109,3,1202,-2,1,1280,1006,0,1303,104,45,104,32,1201,-1,66,1291,21001,0,0,1,21101,1301,0,0,1106,0,1234,104,10,109,-3,2105,1,0,0,0,109,2,2102,1,-1,1309,1101,0,0,1308,21102,4601,1,1,21101,13,0,2,21101,0,4,3,21101,0,1353,4,21101,1343,0,0,1105,1,1130,21001,1308,0,-1,109,-2,2105,1,0,72,109,3,1201,-2,0,1360,20008,0,1309,-1,1206,-1,1419,1005,1308,1398,1101,0,1,1308,21008,1309,-1,-1,1206,-1,1387,21101,106,0,1,1105,1,1391,21102,1,92,1,21101,0,1398,0,1105,1,1234,104,45,104,32,1201,-2,1,1408,20101,0,0,1,21101,0,1417,0,1106,0,1234,104,10,109,-3,2106,0,0,109,3,1201,-2,0,1128,21101,0,34,1,21102,1,1441,0,1105,1,1234,1001,1128,0,1446,21002,0,1,1,21101,0,1456,0,1106,0,1234,21101,0,41,1,21102,1,1467,0,1106,0,1234,1001,1128,1,1472,21001,0,0,1,21102,1,1482,0,1106,0,1234,21102,1,46,1,21101,0,1493,0,1105,1,1234,21001,1128,3,1,21102,4,1,2,21101,0,1,3,21101,0,1273,4,21101,0,1516,0,1105,1,1130,21002,1128,1,1,21101,1527,0,0,1105,1,1310,1001,1128,2,1532,21001,0,0,-1,1206,-1,1545,21102,1545,1,0,2106,0,-1,109,-3,2105,1,0,109,0,99,109,2,1102,0,1,1550,21102,4601,1,1,21101,13,0,2,21101,4,0,3,21102,1,1664,4,21101,0,1582,0,1105,1,1130,2,2486,1352,1551,1101,0,0,1552,21002,1550,1,1,21101,33,0,2,21101,0,1702,3,21101,1609,0,0,1105,1,2722,21007,1552,0,-1,1205,-1,1630,20107,0,1552,-1,1205,-1,1637,21102,1,1630,0,1105,1,1752,21102,548,1,1,1106,0,1641,21102,1,687,1,21102,1648,1,0,1105,1,1234,21101,0,4457,1,21101,0,1659,0,1106,0,1424,109,-2,2106,0,0,109,4,21202,-2,-1,-2,2102,1,-3,1675,21008,0,-1,-1,1206,-1,1697,1201,-3,2,1687,20101,-27,0,-3,22201,-3,-2,-3,2001,1550,-3,1550,109,-4,2106,0,0,109,5,21008,1552,0,-1,1206,-1,1747,1201,-3,1901,1717,20102,1,0,-2,1205,-4,1736,20207,-2,1551,-1,1205,-1,1747,1101,0,-1,1552,1106,0,1747,22007,1551,-2,-1,1205,-1,1747,1102,1,1,1552,109,-5,2105,1,0,109,1,21101,0,826,1,21101,1765,0,0,1106,0,1234,20101,0,1550,1,21102,1,1776,0,1105,1,2863,21102,1090,1,1,21102,1787,1,0,1105,1,1234,99,1105,1,1787,109,-1,2106,0,0,109,1,21102,1,512,1,21102,1,1809,0,1106,0,1234,99,1106,0,1809,109,-1,2106,0,0,109,1,1101,1,0,1129,109,-1,2106,0,0,109,1,21102,1,377,1,21101,1842,0,0,1105,1,1234,1105,1,1831,109,-1,2106,0,0,109,1,21101,407,0,1,21101,0,1863,0,1105,1,1234,99,1106,0,1863,109,-1,2105,1,0,109,1,21101,452,0,1,21102,1,1885,0,1106,0,1234,99,1106,0,1885,109,-1,2105,1,0,1941,1947,1953,1958,1965,1972,1978,5208,5909,5768,5554,5637,5704,5180,5380,5492,5897,5711,5514,5814,5705,5758,5753,5749,5798,5765,5708,5785,5357,5899,5369,5329,5775,5312,5199,5639,5930,5298,5176,5272,2281,2468,2418,2450,2487,2125,2505,5,95,108,104,104,23,5,96,91,108,108,1,4,101,105,112,3,6,104,104,106,107,94,-1,6,109,104,109,107,94,-1,5,111,91,100,93,23,5,114,95,108,108,1,109,3,21101,0,1993,0,1105,1,2634,1006,1129,2010,21101,316,0,1,21101,2007,0,0,1106,0,1234,1105,1,2076,21102,0,1,-1,1201,-1,1894,2020,20101,0,0,1,21101,0,0,2,21102,0,1,3,21102,2037,1,0,1106,0,2525,1206,1,2054,1201,-1,1934,2050,21101,2051,0,0,105,1,0,1106,0,2076,21201,-1,1,-1,21207,-1,7,-2,1205,-2,2014,21102,1,177,1,21102,2076,1,0,1106,0,1234,109,-3,2106,0,0,109,3,2001,1128,-2,2088,21001,0,0,-1,1205,-1,2108,21101,201,0,1,21102,1,2105,0,1105,1,1234,1106,0,2119,21201,-1,0,1,21102,2119,1,0,1106,0,1424,109,-3,2106,0,0,0,109,1,1102,0,1,2124,21102,4601,1,1,21102,1,13,2,21101,4,0,3,21101,2173,0,4,21101,0,2154,0,1106,0,1130,1005,2124,2168,21101,226,0,1,21101,0,2168,0,1106,0,1234,109,-1,2106,0,0,109,3,1005,2124,2275,1201,-2,0,2183,20008,0,1128,-1,1206,-1,2275,1201,-2,1,2195,20101,0,0,-1,21201,-1,0,1,21101,0,5,2,21102,1,1,3,21102,2216,1,0,1105,1,2525,1206,1,2275,21102,258,1,1,21101,2230,0,0,1106,0,1234,22102,1,-1,1,21101,2241,0,0,1106,0,1234,104,46,104,10,1101,1,0,2124,1201,-2,0,2256,1101,0,-1,0,1201,-2,3,2262,21001,0,0,-1,1206,-1,2275,21101,0,2275,0,2106,0,-1,109,-3,2106,0,0,0,109,1,1101,0,0,2280,21102,1,4601,1,21101,0,13,2,21101,0,4,3,21102,2329,1,4,21101,0,2310,0,1106,0,1130,1005,2280,2324,21102,1,273,1,21102,1,2324,0,1106,0,1234,109,-1,2106,0,0,109,3,1005,2280,2413,1201,-2,0,2339,21008,0,-1,-1,1206,-1,2413,1201,-2,1,2351,20101,0,0,-1,22101,0,-1,1,21102,5,1,2,21101,1,0,3,21102,1,2372,0,1105,1,2525,1206,1,2413,21101,0,301,1,21102,1,2386,0,1105,1,1234,21202,-1,1,1,21101,2397,0,0,1105,1,1234,104,46,104,10,1101,0,1,2280,1201,-2,0,2412,101,0,1128,0,109,-3,2106,0,0,109,1,21102,-1,1,1,21101,0,2431,0,1105,1,1310,1205,1,2445,21101,133,0,1,21102,1,2445,0,1106,0,1234,109,-1,2106,0,0,109,1,21102,1,3,1,21102,2463,1,0,1106,0,2081,109,-1,2105,1,0,109,1,21101,0,4,1,21102,1,2481,0,1106,0,2081,109,-1,2106,0,0,81,109,1,21102,1,5,1,21101,2500,0,0,1105,1,2081,109,-1,2105,1,0,109,1,21102,6,1,1,21101,0,2518,0,1106,0,2081,109,-1,2105,1,0,0,0,109,5,1202,-3,1,2523,1101,0,1,2524,22101,0,-4,1,21101,0,2585,2,21101,0,2550,0,1105,1,1174,1206,-2,2576,1202,-4,1,2558,2001,0,-3,2566,101,3094,2566,2566,21008,0,-1,-1,1205,-1,2576,1101,0,0,2524,20102,1,2524,-4,109,-5,2105,1,0,109,5,22201,-4,-3,-4,22201,-4,-2,-4,21208,-4,10,-1,1206,-1,2606,21102,-1,1,-4,201,-3,2523,2615,1001,2615,3094,2615,21002,0,1,-1,22208,-4,-1,-1,1205,-1,2629,1101,0,0,2524,109,-5,2106,0,0,109,4,21101,3094,0,1,21102,1,30,2,21102,1,1,3,21101,0,2706,4,21102,2659,1,0,1105,1,1130,21101,0,0,-3,203,-2,21208,-2,10,-1,1205,-1,2701,21207,-2,0,-1,1205,-1,2663,21207,-3,29,-1,1206,-1,2663,2101,3094,-3,2693,2102,1,-2,0,21201,-3,1,-3,1106,0,2663,109,-4,2105,1,0,109,2,2102,1,-1,2715,1101,-1,0,0,109,-2,2105,1,0,0,109,5,2101,0,-2,2721,21207,-4,0,-1,1206,-1,2739,21101,0,0,-4,21201,-4,0,1,21202,-3,1,2,21102,1,1,3,21101,0,2758,0,1105,1,2763,109,-5,2105,1,0,109,6,21207,-4,1,-1,1206,-1,2786,22207,-5,-3,-1,1206,-1,2786,21201,-5,0,-5,1106,0,2858,22102,1,-5,1,21201,-4,-1,2,21202,-3,2,3,21102,1,2805,0,1105,1,2763,21202,1,1,-5,21102,1,1,-2,22207,-5,-3,-1,1206,-1,2824,21102,0,1,-2,22202,-3,-2,-3,22107,0,-4,-1,1206,-1,2850,22101,0,-2,1,21201,-4,-1,2,21102,1,2850,0,105,1,2721,21202,-3,-1,-3,22201,-5,-3,-5,109,-6,2106,0,0,109,3,21208,-2,0,-1,1205,-1,2902,21207,-2,0,-1,1205,-1,2882,1106,0,2888,104,45,21202,-2,-1,-2,22101,0,-2,1,21102,1,2899,0,1105,1,2909,1106,0,2904,104,48,109,-3,2105,1,0,109,4,21201,-3,0,1,21102,1,10,2,21102,2926,1,0,1105,1,3010,22101,0,1,-2,22102,1,2,-1,1206,-2,2948,21201,-2,0,1,21102,1,2948,0,1106,0,2909,22101,48,-1,-1,204,-1,109,-4,2106,0,0,1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648,4294967296,8589934592,17179869184,34359738368,68719476736,137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,8796093022208,17592186044416,35184372088832,70368744177664,140737488355328,281474976710656,562949953421312,1125899906842624,109,8,21102,1,0,-4,21102,0,1,-3,21102,51,1,-2,21201,-2,-1,-2,1201,-2,2959,3034,20101,0,0,-1,21202,-3,2,-3,22207,-7,-1,-5,1205,-5,3059,21201,-3,1,-3,22102,-1,-1,-5,22201,-7,-5,-7,22207,-3,-6,-5,1205,-5,3078,22102,-1,-6,-5,22201,-3,-5,-3,22201,-1,-4,-4,1205,-2,3024,22101,0,-4,-7,21201,-3,0,-6,109,-8,2105,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3131,3143,0,3323,0,3252,3392,11,61,105,95,94,17,50,97,83,78,79,83,108,-19,2,7,-79,-9,-2,2,-83,-11,-7,-86,-3,-16,-7,-11,-6,-21,-21,-94,-30,-96,-25,-19,-23,-31,-101,-29,-25,-104,-21,-34,-38,-108,-39,-34,-32,-33,-31,-114,-43,-47,-35,-49,-105,-120,-69,-43,-123,-49,-56,-57,-47,-128,-40,-51,-46,-50,-133,-51,-63,-63,-57,-138,-69,-58,-62,-65,-143,-79,-69,-63,-68,-148,-79,-68,-82,-83,-63,-81,-77,-85,-145,-158,-75,-88,-92,-162,-91,-85,-89,-97,-167,-96,-104,-87,-171,-106,-104,-105,-97,-176,-94,-109,-114,-104,-112,-114,-169,3259,3271,0,3124,4187,0,0,11,58,98,90,91,95,85,84,96,86,90,82,51,38,59,64,-22,60,45,44,-26,38,-28,58,42,42,52,36,32,44,29,45,30,-39,47,32,42,29,-44,35,30,18,30,34,-50,19,27,29,-54,-4,24,25,15,19,11,7,20,16,9,3,-66,19,-50,-55,3330,3351,0,3447,3843,3124,0,20,51,84,80,93,8,62,88,70,84,83,75,79,71,-1,33,66,74,79,63,75,40,32,70,77,-11,57,63,69,54,-16,51,61,-19,69,58,63,-23,63,57,39,53,-28,51,52,38,51,36,44,49,47,-37,41,39,-40,43,30,26,-44,26,33,-16,3399,3406,0,3543,3124,3689,0,6,59,107,91,88,90,90,40,38,70,68,58,-12,66,56,-15,68,55,51,-19,47,44,44,50,54,44,58,56,-28,54,39,38,45,-33,50,44,-36,35,27,47,29,-41,38,36,43,24,36,-33,3454,3463,0,0,3923,3323,3639,8,59,102,104,103,93,87,97,99,79,5,24,20,-50,26,17,31,11,21,-56,30,7,17,16,22,-62,2,14,3,-66,17,4,0,-70,6,-3,11,-9,1,-76,-7,-2,0,-1,1,-82,-18,-2,-16,-86,-4,-12,-16,-19,-19,-8,-17,-5,-95,-28,-24,-28,-29,-31,-19,-33,-25,-20,-105,-39,-28,-32,-30,-28,-28,-98,-113,-67,-33,-116,-52,-36,-50,-120,-37,-50,-54,-35,-94,3550,3561,0,0,3754,3392,0,10,68,86,106,92,89,82,100,88,93,91,77,6,38,18,36,36,33,-25,-52,-2,30,27,9,21,10,10,8,-47,-62,-15,12,4,-1,16,1,-69,13,14,8,7,2,14,-76,0,-9,-14,3,4,0,-14,-7,-16,-8,-3,-5,-89,-20,-9,-13,-16,-94,-25,-23,-27,-14,-10,-100,-18,-18,-38,-22,-22,-106,-23,-29,-109,-28,-42,-45,-48,-38,-42,-50,-35,-53,-35,-51,-107,3646,3654,0,0,3447,4293,3998,7,76,108,88,88,97,89,102,34,48,66,69,73,62,62,61,73,3,72,61,77,55,53,-2,-17,34,53,49,68,-15,59,45,-25,39,49,48,-29,39,46,48,51,55,-21,3696,3719,0,3392,0,0,0,22,65,74,90,87,6,41,86,76,88,70,0,44,63,70,74,79,63,71,57,69,57,58,34,39,81,-4,60,74,73,61,56,72,72,-12,71,65,-15,50,52,-18,68,59,61,53,50,54,46,-26,51,51,53,47,34,44,43,55,-21,3761,3770,0,0,0,0,3543,8,75,96,89,96,20,53,83,106,72,11,44,38,37,35,37,38,36,-48,17,29,33,20,-53,-4,14,12,-44,-12,20,23,8,6,-63,-14,4,7,11,0,0,-1,11,-72,4,-5,-7,-3,-10,-5,-1,-11,-81,-17,-5,-16,-85,-4,-18,-17,-4,-14,-26,-10,-93,-12,-26,-23,-19,-30,-30,-31,-19,-102,-26,-35,-37,-33,-40,-35,-31,-41,-97,3850,3862,0,0,0,0,3323,11,68,86,102,87,99,102,80,98,92,94,100,60,24,43,39,51,37,-33,31,47,33,-37,27,-39,30,28,45,-43,40,24,30,22,35,18,29,29,17,30,-27,-55,28,15,11,30,-53,21,7,-63,1,11,10,-67,-2,10,6,13,-3,-5,-74,-7,3,10,0,-67,-80,3,-10,-4,1,-14,-14,-73,3930,3942,0,0,0,0,3447,11,72,87,92,87,95,83,84,14,57,77,77,55,34,55,60,-26,56,41,40,-30,38,54,40,34,34,42,30,31,-39,32,28,40,26,-44,34,24,-47,32,33,29,33,27,31,35,25,13,-57,22,20,16,28,15,6,18,-65,2,2,15,4,1,7,-72,14,5,7,-1,-63,4005,4028,0,0,3639,4057,4130,22,50,88,92,7,41,77,83,70,81,77,65,83,67,-3,34,74,79,71,76,56,63,67,28,55,82,79,70,72,78,85,9,-4,68,78,0,75,-9,73,73,61,63,62,-15,71,62,64,56,53,57,49,-9,4064,4073,0,3998,4385,0,0,8,64,102,98,100,88,88,85,92,56,27,54,51,42,51,49,39,-31,51,36,35,42,47,-37,46,40,-40,31,23,43,25,-45,30,22,22,35,-50,22,32,-53,25,23,-56,27,14,10,-60,-22,11,2,14,19,-66,-28,14,4,-2,-71,11,-4,10,9,-3,1,-7,-65,4137,4151,0,0,3998,0,0,13,54,100,86,103,15,63,98,77,93,94,78,90,90,35,49,68,64,-6,59,61,59,73,-11,53,69,55,-15,49,59,58,-19,64,58,57,-23,59,52,39,49,48,-29,40,48,50,-33,55,44,49,-23,4194,4202,0,4229,0,0,3252,7,68,97,107,89,93,89,97,26,43,91,73,85,91,85,72,72,76,68,3,78,-6,63,74,60,59,79,57,0,54,67,57,52,50,-5,4236,4244,0,0,0,4187,0,7,76,108,102,104,86,91,88,48,36,55,51,-19,46,58,66,46,59,-25,48,58,55,55,-30,36,47,45,50,30,37,41,-38,38,39,41,27,-43,22,34,42,22,35,-35,-50,-51,-2,16,13,30,26,26,15,27,9,15,27,-49,4300,4308,0,3639,0,0,0,7,65,89,99,98,108,85,108,76,8,27,27,36,-48,16,32,18,13,-53,18,10,27,-57,8,10,9,17,-62,16,16,19,7,10,5,21,-1,-3,-72,-3,5,7,-76,6,1,-2,-11,3,-10,-10,-6,-14,-59,-87,1,-10,-5,-84,-10,-24,-94,-21,-11,-14,-14,-99,-22,-22,-18,-103,-23,-20,-33,-23,-39,-109,-27,-26,-30,-44,-114,-28,-44,-52,-34,-105,4392,4401,0,4457,0,0,4057,8,72,88,105,104,85,90,87,100,55,29,48,44,63,-20,54,40,-30,34,-32,43,39,49,48,39,31,-39,44,46,31,40,40,44,-46,18,30,19,-50,32,32,12,28,29,17,21,13,-59,24,18,-62,13,15,14,9,-67,-3,7,6,-71,-7,3,-1,0,-7,-63,4464,4484,0,4556,0,4385,0,19,64,81,78,95,91,81,91,95,5,39,75,71,68,75,79,77,70,74,79,71,2,38,-41,42,29,25,-45,32,22,40,35,-50,31,27,26,23,-43,-56,8,-58,21,22,8,21,20,21,17,3,-54,15,0,8,12,1,11,-1,11,-7,-77,-8,-3,-1,-2,0,-83,3,-12,-10,-11,-88,-3,-21,-9,-19,-23,-5,-95,-7,-18,-13,-17,-100,-28,-34,-34,-26,-21,-33,-23,-19,-95,4563,4588,1553,0,0,4457,0,24,56,89,75,88,87,88,84,70,13,50,67,75,79,68,78,66,78,60,-10,27,64,66,65,67,12,53,97,83,93,105,105,87,91,83,25,24,23,3754,4653,524315,0,4130,4673,2147483676,0,3392,4680,33,0,3998,4685,4194334,0,4057,4702,31,1796,3543,4713,32,1818,3923,4733,33,1829,4187,4747,42,0,3252,4756,8388643,0,4229,4765,36,1872,3639,4773,1061,0,3323,4783,38,1850,3447,4795,1073741863,0,19,78,95,95,92,88,86,72,91,89,4,76,69,70,0,66,80,66,61,72,6,113,107,93,88,106,93,4,95,106,99,103,16,84,84,86,102,80,93,75,93,77,75,6,92,69,87,71,83,10,91,104,87,84,98,86,16,95,93,81,19,84,85,76,88,93,8,76,82,74,71,87,84,80,77,64,69,75,65,79,13,92,96,87,89,93,87,97,81,11,86,88,87,87,8,89,106,106,90,102,92,101,92,8,101,102,100,100,96,92,102,89,7,105,96,102,106,100,98,102,9,88,105,105,102,98,94,82,82,84,11,98,99,95,102,86,94,15,90,78,98,76,5,104,111,109,93,111