diff --git a/input/day06.txt b/input/day06.txt new file mode 100644 index 0000000..3dfd447 --- /dev/null +++ b/input/day06.txt @@ -0,0 +1,2216 @@ +3ZP)TWL +Q6Y)XTN +CH8)KBM +LM9)J36 +JR3)H4Y +K78)N2S +64C)8RP +9SN)LSL +FP6)68K +22G)6PB +45K)2GQ +66X)GNJ +YX4)GZV +PZV)VWL +ZMF)VK9 +NJL)TB7 +CDK)TY7 +Q5G)4XG +4X1)NQQ +MPH)2R1 +S89)KGM +3GL)9K2 +1LQ)K8W +YCY)WW4 +S4L)615 +X4H)Q89 +97J)V45 +1SX)KSQ +1WP)7GW +DD2)2YF +NFK)1QL +R9X)JR1 +PY2)B3J +9JP)VHF +PP6)CDK +4V3)7CX +JB2)K18 +M55)ZF3 +MNM)TMN +984)2KC +N9C)JY4 +Z96)QDP +78K)9WY +CR3)KDC +483)Q4R +N1L)W65 +698)C7T +ZX7)3F8 +QBJ)82J +CNF)DH1 +V6S)H4B +CRW)FC5 +F4Y)9WC +Z6H)DK4 +J82)R1H +8XG)3WM +8QZ)F55 +82C)VGJ +ZSR)KZD +1SN)MPC +MM2)SCZ +N5V)SCV +XPB)LSV +WDM)KNZ +S53)7MW +YRK)C4V +DY9)YLQ +G9X)JYF +FT1)318 +G5F)VVX +CKN)J7J +1T7)LP6 +K1H)8MF +213)DRD +752)LVP +FP1)RZX +DV7)3Z5 +PM9)LWF +Q1Q)2ZM +8KT)B4M +QGH)RNP +VGV)LKK +TXJ)239 +52D)YRK +QK9)GFB +BB9)QDJ +46M)MQR +RLC)FCJ +TW6)3G1 +XQD)9BQ +R4G)QW2 +LD8)JP8 +VQZ)Q45 +TZD)RRV +RRV)SHJ +YL4)3GR +K2W)K1P +X6M)CCC +M3Q)TK5 +X4M)MMV +9KR)DS5 +6V7)7TH +8K8)W6C +JZR)Q28 +B1B)3Y2 +MD1)SYX +1NM)1D2 +ML7)Z59 +89S)CVG +DXM)JMF +ZKG)YXG +LSL)88Y +RNS)B7C +KSR)2HG +8TQ)G4H +JTD)S4K +VY9)RBC +TD4)FQJ +L8R)PY9 +H4B)2FT +WQF)CYJ +FQJ)3CJ +YRK)GXG +G62)2Q8 +DTZ)T5B +JZ6)47G +1R7)DMZ +DMX)386 +PX2)TVJ +BJR)942 +D7D)GNR +7HY)LXC +MNK)8GH +KT2)WTH +WH8)LSR +1F4)N5V +GD9)WKV +Z5W)MWK +VVX)YG1 +8DD)SSX +V9K)YM1 +3LZ)BP7 +5Q5)D5G +RSR)4CH +2HG)9ZD +6MV)84C +X1R)WM3 +3QH)92H +1SG)2CN +X2G)QMG +8YH)HX9 +WL1)5FF +6CS)52D +8VH)1HR +JP8)ZQL +CQP)WZC +RQ5)SWQ +G62)ZB4 +2KY)TN1 +5T5)22G +823)5LS +6B2)D5B +KQM)78K +ZQL)5K7 +BZH)CY8 +S6H)3RS +TL3)PZV +3N2)53S +CHW)1G8 +SHJ)SG9 +P3F)YRW +QDQ)XH5 +JSQ)31X +J8Q)BY9 +68G)V2V +W9D)P5V +X1R)VJG +4CD)85F +17X)PJ1 +66M)K3B +R66)2JS +B6P)721 +YHQ)4L3 +NTT)CM8 +2ZQ)CT7 +6WW)L3S +B6F)53P +KLW)749 +86C)Z4L +TSV)GTB +K4B)RV1 +VR4)BGL +Y7Y)BFQ +DZL)WQH +H1X)1MP +Z6H)VYZ +BNR)NH9 +BQ5)JN1 +NHT)MNW +XPM)NW3 +XYN)96S +BH9)NCD +QM7)6P9 +4B7)Y5T +GJD)9F2 +P5V)CQZ +QZ5)7Q1 +SBB)S2N +NRT)9TZ +3Z1)QRP +T88)BF3 +9JS)2WN +FJ3)B4H +NVN)GLT +P1V)ZSR +245)9KS +F1G)FDR +TFB)W3X +3Q1)733 +QRP)7RJ +6KT)9PV +JMN)WH8 +ZP8)TQC +P28)9SN +68C)3N2 +R77)JZP +YQQ)Z49 +F1G)LPX +PMJ)8FP +CYX)WP8 +D82)ZWH +BZS)F25 +B19)DBY +2L4)TTR +FPR)LJC +GZV)MYJ +863)H9D +TB7)TGW +FQX)P5M +DXC)TNQ +RL6)9MJ +Q45)814 +P8C)1WJ +4XG)MTL +B7C)7F4 +KFZ)9KX +GQ3)MYG +CL1)Y7Y +VTS)5Q5 +F7V)9RH +HJ3)R77 +L95)RBD +BS7)HR9 +MXP)NGP +1D4)6JF +PSV)YGZ +PYF)VHG +3NN)1YT +C4G)9V4 +HSP)NRZ +Y15)ZN5 +2VX)9LH +ND1)79L +RGY)6XH +WRX)F58 +LGL)P9F +CBB)DY3 +65K)92P +HNF)J6Y +1T8)8DD +F2F)W4T +RG1)HRF +8CH)765 +SYX)97L +5M8)ZQ1 +W3Y)24V +GNR)GZW +VRX)J7V +M7D)JZR +1HR)JBC +T95)PS7 +WVZ)TC7 +P57)P95 +G6Q)CLF +K9V)CL1 +14M)DPN +XF3)ZP5 +6LS)P57 +VL2)6VB +C51)5NZ +MSQ)ZSP +J6X)SQP +7MW)PHD +LY8)FZG +MW1)B97 +Y2P)C4C +386)6L6 +LQH)R15 +NN6)X4M +9VW)KP5 +QYT)GSJ +437)N7L +N3G)NV9 +YV3)YBG +LCX)C64 +T75)98Z +9S7)666 +VVX)984 +HGD)YL4 +3LH)H8K +VYZ)K78 +FZL)D45 +V3R)YKL +PSS)FZ5 +97L)GWT +59T)5RL +PNV)VK2 +7RM)2Z2 +46R)ZJ2 +R7D)1DG +V77)KRP +XRC)8BK +YKT)V6P +8GN)QLQ +79L)4H6 +2WF)HR2 +R2M)2VR +7LD)M3K +2PZ)4FF +4VS)JRR +2HG)86F +FNY)NHT +PK6)W1T +YGR)BXQ +8XB)L7F +XV9)B7M +5NZ)6BJ +9N4)NB1 +8LK)KL8 +9NZ)8PS +XSC)JV9 +527)ZQZ +129)WWX +YFF)RLQ +JYF)X9T +RM9)B2N +3Y2)TZ1 +Q17)JMC +HBB)W4G +BSB)TY3 +2C7)G91 +CGY)ZM1 +817)KF5 +R96)XHF +J9T)FP1 +HB3)ZN4 +XXP)DDR +QVG)BVM +PXC)PJG +ZNQ)KR6 +78Q)2N5 +WFJ)NJN +B3G)9BX +QFQ)HTL +VK8)PX2 +4KT)HP2 +FK6)3HB +9MJ)QYN +XNG)KR4 +N1W)YV9 +2Q8)B98 +SSP)GSB +V3L)1W6 +RT6)HDZ +TWL)PP6 +266)RCH +5Y7)C9W +83W)W28 +784)FQT +JZP)744 +N7L)GJK +VS6)VLN +QR5)X9Y +G91)5KX +Q3Y)6FG +RZX)P29 +ZJ2)9ZH +FNS)TR9 +G6Y)1SG +MJP)T18 +L9G)79J +92P)WFJ +SG9)XGN +LJJ)RN2 +BGL)429 +4H1)M4H +3ZX)9NZ +M3K)6FF +DBL)YHQ +96B)66X +18Q)3PZ +95Z)9S7 +ZPY)C8V +RC8)JRY +M4H)FJS +GDZ)XMJ +262)MTG +45K)CHP +V2V)QVG +5CY)BXS +NPC)Y52 +FLR)DYG +B5N)W5F +4N2)79X +RXQ)2RH +RNV)435 +X4Z)XFR +5K7)65K +666)4KC +459)F4K +B1B)XWW +RNQ)KPS +YQM)MQY +HQM)R94 +4B4)SG3 +LVP)GQ6 +WPQ)1MG +2WN)FVY +H89)3GL +9BT)8LV +XS8)P41 +V71)25S +BN6)WVZ +GM7)GZB +1DQ)LBK +R7S)816 +12C)M55 +SYS)HZJ +88D)NRT +DPN)K6H +GZW)B3Z +JNB)815 +WVH)2Q7 +XGV)PLJ +12G)SHZ +JXT)DD2 +COM)RT6 +B7L)MSQ +632)262 +9CN)FVL +HLJ)GVN +3MR)DSN +DTY)QBH +MWN)Z77 +CQB)BW7 +6DV)Z27 +VLM)LG9 +YQD)H18 +PBB)85V +CSR)729 +CRP)8SN +GDF)R9X +S49)W48 +YNV)896 +PNS)T2T +G7J)2CP +PVH)XS8 +F9T)1G2 +WR3)ZQ5 +KD6)Q76 +M54)7WQ +HN6)7C8 +KHZ)899 +WW5)B61 +V3M)D7D +956)4NF +8M2)J3N +KN7)2RY +YSM)T65 +ZWN)J25 +53P)B3T +SJD)JPB +GSJ)98C +ZD5)VGL +L4K)5WQ +85Q)2Q3 +3TK)ZMG +JL2)3DJ +BYM)QDQ +6NG)B19 +YG1)8Q9 +T5B)YCG +4LK)8DS +S8T)76W +WTH)Q8Z +8SN)7Q4 +B7B)BSB +6YZ)CRP +VTS)XFN +B4P)3NZ +6L6)JV5 +WDZ)1XL +NX3)RLZ +H9L)5FD +995)FD7 +M7G)SSP +TY7)ZVG +3DJ)Q56 +RRV)5FL +BD8)FNY +VJX)Y5G +N5V)RCW +MPC)F9C +CQZ)YFF +HDZ)HQM +H56)KDP +J2X)KMT +7GW)MK7 +43L)M3Q +QDX)PZN +814)44F +CX9)4X1 +PY9)DV7 +P5K)FVN +VHK)8TQ +KPS)Z47 +FGN)DQV +G3T)61M +R4G)HB3 +WDD)G9P +H1V)M5B +TBY)G4B +SFR)VJX +24X)WQN +Y61)ZC5 +94C)ZD4 +FXR)26S +1W6)R88 +NCY)RPZ +3G7)YR3 +7KL)W2Q +J5G)989 +JMC)WBJ +BBB)C95 +1VV)9PX +1WS)96B +GMM)N1K +FFL)N7V +PHD)SPZ +WCL)PS2 +5J7)64M +8Q7)8YB +NRK)J4L +WLV)538 +59X)TSV +CQR)4XR +P33)93T +BPR)F73 +3RS)X83 +P51)8VS +Q28)6JB +615)NNK +643)VT2 +RN2)CZ2 +HJW)4C1 +PJ3)9FT +M78)XFC +VCT)BYM +C8Z)2NX +4GF)9BC +H8K)M9F +P9F)2C7 +NNZ)F8R +6CL)SJD +GXG)2KY +55N)G3X +2TX)R48 +4RG)QK1 +YSQ)TD4 +JVW)87V +5FD)NP7 +LVM)K5L +2M7)1NM +JHN)JNB +NQQ)V5J +HX9)ZZD +5FF)C5Y +V45)59F +MMF)SLV +Y7R)2ML +ZZD)HXW +Z69)BP8 +XKP)QN8 +YGK)RNQ +F6X)QJY +FPV)ZK9 +XWX)YV3 +RPZ)NX6 +49Z)L23 +99L)643 +TP1)YW5 +BW7)9XJ +2ZQ)4H1 +N7V)1TD +PZN)KCM +CHL)M78 +MCS)CYW +JXW)VH2 +ZQZ)CRW +KST)BRC +5WV)157 +XKM)NHS +T18)KN7 +LPX)WDM +MTG)9KF +7ZX)ZNQ +LBK)483 +RBC)SF5 +ZYX)J82 +HNZ)2BG +CMQ)F8T +SSQ)JMN +52P)TQN +7C8)WDW +754)QYF +MNW)1L4 +THY)NG4 +SCZ)5B4 +DY3)7V8 +3XX)M5S +G58)HJ3 +SLL)6DZ +X83)PNS +7P3)XR9 +FCX)LKP +JFL)PZW +KMT)F4C +4H7)KY4 +4J3)6MV +GVN)L1G +HY4)WF3 +Q8Z)ZST +1YK)81Q +NTS)PBB +BXW)XFD +SDL)M7G +9K2)CGY +14K)SXW +WBC)6YZ +CNF)MMF +J82)4LK +11N)4DZ +H18)N9C +9B8)DHW +JJX)MC7 +ZZQ)R28 +5B4)CQX +ZDF)46X +SJF)XSS +CBM)BS7 +SSQ)CBB +25S)FQ3 +ZSM)G4D +5FJ)W6Q +G4D)R4G +94V)TYQ +DYG)MSS +3JX)8P1 +XGN)H32 +K4W)GCH +SR1)QX5 +QMD)CRR +3PX)LVM +GPR)Z96 +87Q)L6K +Z2Y)P5J +5VW)FZL +5CW)TL3 +H4Y)1ZY +Q8H)7HZ +F4K)HWM +Z49)5WM +DH1)YGR +XFR)7HY +J4L)JNL +2BZ)3LD +1D2)GNF +C8V)743 +HRM)PDC +D9Z)PXH +NSC)LHB +9GQ)W27 +GSJ)DVT +SVW)VB5 +61M)BZS +HV2)KQ3 +HXZ)CCM +DK4)8C8 +7RJ)4SG +GJ1)KF3 +C1Q)F5P +YBT)L2M +L9V)Q4K +TD4)H31 +RN4)MT1 +DNM)4YV +QFD)5YP +LCN)3Z1 +JMX)C1L +Z81)B2X +NVJ)7BS +LWY)YCY +GJ9)CCY +5VB)QZ5 +JFL)946 +9LH)1WS +XWW)PLH +JDD)QXJ +G36)1T7 +ZQ5)6G6 +X9T)D9W +NCD)WXS +Q76)126 +3WF)LC9 +7CX)C9B +V5J)6CL +NL4)JWH +GRX)DWL +X4M)1MS +TVJ)LCS +B87)VWC +8KY)Y2P +KGM)QXZ +ZMG)VXJ +PS2)Z41 +TNQ)RB2 +RS8)GWJ +8CN)J2B +6KP)SSG +WYM)JXR +126)BWH +2RH)25T +TFG)4XQ +BD3)MWM +G97)XSP +D2J)CBM +MW1)3LZ +JJD)73T +8RX)WCM +C99)N5C +4TM)MYS +YK6)B7N +T65)7ST +7YK)1K3 +6FF)6XQ +7Y2)9HD +8VS)FNM +QV6)9N4 +59F)M14 +YGZ)121 +BH9)L6T +2BG)NPB +MSS)8D9 +DSN)413 +2F7)QLW +RX2)61S +5M4)4H7 +VSJ)FMF +DD2)K9T +7TH)3DM +1QL)GT3 +JQD)ZWS +QDV)S49 +FC5)MNZ +KBL)LJY +DW5)NGJ +6C3)H8V +S4L)7G3 +538)L4G +ZSR)HCW +VJG)ZKG +DZS)4N2 +H96)555 +2NV)956 +HVB)NNP +JMF)HCD +9KS)8ZL +VHH)D7N +GZB)CHY +L6K)V4X +SWM)4PP +3FY)QMD +RT5)C9G +RJK)189 +DNM)LD8 +2VR)8LG +LP6)R96 +TQN)5FJ +BSJ)N9B +DR7)G5M +749)CYX +KBL)NVJ +PJ6)Z6H +QBH)GB7 +ZXP)C1Q +NWC)MM1 +KCM)BBF +QP8)M7D +YLQ)G36 +QRZ)2M7 +Y8V)CM4 +CQX)58W +B1Q)VSX +8C8)3R6 +KF7)W8S +J7J)8XG +XQF)R2M +1D2)H8S +N4C)L2Z +BHV)GVT +FVY)3FB +5LS)M98 +CQB)85D +B7L)WL1 +816)S7X +H9D)L8R +1MC)YDC +6CJ)X6X +13Z)TL7 +5RS)SQY +NRP)C5W +CMF)7VQ +BLZ)ZD5 +YG3)TLS +KG1)N76 +Y52)MVN +4F2)WW5 +765)GS3 +PS7)RYT +HVM)LM2 +6XQ)T3K +C5W)996 +9JY)DH4 +C65)VGV +R95)Q74 +JNZ)GH3 +MMV)2RC +7Q1)85Q +PDC)XJ4 +XHF)YQQ +TZ1)3TN +J36)JR3 +SDT)68C +57F)GJ7 +SVY)L9H +RML)12Y +698)2MZ +2R1)ZWN +RTK)KCV +Y8K)4XB +CT7)Q6Z +WBF)F1R +W6P)BZH +CYW)6KT +GFR)95Z +W28)GMM +XYY)L7N +8MF)4B4 +6GH)8H3 +NCL)74N +5WZ)FY1 +2KC)Y8V +DQM)XVT +K92)XJF +QX5)8CD +RGW)97Q +HH8)F76 +53L)DW5 +LKP)X6Z +31X)863 +LSM)JZM +QN8)44L +1WJ)JB2 +C83)L1C +KFW)HLJ +MT1)GRX +P4S)GDK +FQ8)8YH +GXQ)7QB +GTB)ZMV +KVH)G56 +4VS)CNF +PS7)632 +7GG)6LS +SQY)398 +Q28)3MR +1ZY)NSN +2GQ)Q4W +NX6)69Y +3CJ)789 +174)F5N +GJK)MJT +LQS)HH3 +JP8)BQ5 +LSK)7NK +LLT)7KD +YRD)MQ6 +H7P)317 +JBC)M58 +GJ7)XNK +ZVG)VTZ +34M)S3R +VSN)P7X +6JF)BPR +XYY)SLQ +JNL)WX7 +TMJ)KF7 +LP9)45K +HF6)P1V +12Y)SDL +GDP)3ZP +C7T)YN9 +9ZH)BSJ +96T)7M9 +FVN)5JS +G9P)8V3 +MWK)PSP +TMJ)5JK +NHF)GCP +MQ6)74V +D35)VMF +P41)57L +L9H)WF2 +4FF)T1H +F73)LH4 +NSN)567 +LCX)QSK +Q45)BP5 +1XL)NVK +317)6X3 +XNK)XGB +NL4)TXH +MWM)34K +NV5)6LZ +4PP)BB9 +SLQ)XD2 +Z5W)H1V +BBF)6V7 +RPM)RQ6 +3Z5)B6P +MTL)RLC +8FP)CDD +CHL)RWY +FY1)HQ5 +DXD)JNZ +9XJ)WPQ +Q4K)P3F +B4M)Q1Q +8ZL)5CW +SXW)77W +2Z2)1DQ +7BS)25D +GN1)Z5D +X94)ZZQ +N9B)185 +V6P)XV9 +121)HYZ +W3X)JPJ +8BG)S6K +YVJ)QR5 +K8W)QRN +XRK)1JQ +VB5)8CC +GX5)HS9 +4CH)WBY +GS3)1Y5 +YRW)XWX +LCS)GT8 +DKX)14M +NL1)BHV +7VQ)SN8 +R6S)QDD +Q4W)WT2 +C9B)CSH +5KM)LCN +1TD)LCH +B4T)35C +M62)V2H +V4H)HN6 +5KM)5WV +CZ2)WQB +VFD)WHM +9BX)X4H +FTQ)D3L +G6Q)QVX +5FG)8VH +89K)J6F +4XG)MST +HPB)JMY +PZW)Q6M +T8J)SDG +ZB4)635 +2LH)8JV +157)N42 +PDM)TX6 +HCD)VSJ +NNP)99H +6GC)C8Z +NPB)4HS +S51)K92 +5FD)SLY +GT8)PXC +45Q)8GJ +GNF)V9B +H8S)8VY +35Q)N1W +RC7)4XH +PJG)JDY +8SY)9JL +3T8)6NX +NG8)HBB +78Z)H56 +H1X)GJ1 +TRG)9JP +YML)KBL +CVG)179 +YXG)R7S +4YV)N4F +SLV)SYS +XKM)ZSM +8X9)SXH +L27)NTT +N1K)GN1 +MTG)264 +X6M)WBP +SHZ)DH9 +NJN)C5B +QXZ)SJF +GQ6)JM9 +R66)9J3 +BQ1)WH1 +RQ6)LT6 +XQS)3PX +5YP)7JD +WWX)5WZ +J3J)VV9 +9B5)DNT +GTS)Y59 +BXS)SYQ +9DN)GTW +XM7)C3M +S3K)KHZ +V2H)LQS +SFK)FHB +6GC)732 +YN3)KQM +W4N)2TX +B87)XXZ +ZV1)4FD +SG3)YB8 +ZBM)87Q +V33)JWT +JDY)8YQ +5JC)5Y7 +896)1T8 +QXJ)K2S +68C)4QL +ZWX)WQD +KKF)B64 +2FT)8QL +3WM)CSR +PGH)GD9 +R36)817 +NGJ)MM2 +2ML)QDV +H8V)1GZ +C9G)QSS +TYQ)95C +MXZ)PMQ +98V)RNS +PLJ)LW1 +JPJ)527 +H31)NVN +N1L)8KT +RQ2)97J +FGW)YV8 +B92)5M8 +B63)V3M +7HZ)VR4 +4NF)PK6 +W67)66M +B9H)Y15 +FYQ)6S7 +CGP)D96 +FRP)NFK +B61)DNM +VP3)8WZ +NG4)P5K +B3J)J5T +DQZ)X6W +B7D)9CN +ZDZ)FXR +R7S)Q7J +CNZ)94J +LPJ)QYT +YBG)PTC +X6W)Y8K +F9C)CR3 +VD9)X1R +JWH)CN9 +S7L)8BG +WX7)DR7 +M1J)1PN +LXC)G1M +CM8)HXJ +SL8)78T +PJ1)TMJ +PWY)D7G +V4F)KFW +4SG)VL2 +8LS)1KR +YJ1)8J5 +GFY)Q8H +XGR)S2V +JN1)W4N +5T5)7MD +1L5)RJK +85Q)KLK +68K)RGW +61S)TGR +Q56)B3G +LT6)FFL +8Q9)BD3 +4WF)7BY +YDC)SFR +SSY)F11 +XSP)4QM +W4T)J8Q +2N5)8CH +J6F)ZDZ +5WQ)Z7J +KWB)ZPY +4XH)2ZQ +KDC)L32 +8LF)YNV +3GN)QTN +429)86C +B2X)FBR +3TN)BXW +CMY)HKM +2NX)HVB +QR5)MLR +99H)2LH +743)1MH +VGJ)S6H +NRJ)13Z +WX2)XM7 +KSQ)KQ9 +7JD)24M +VV9)5QP +BJZ)24X +7TG)Y9F +LJ6)XDR +JGY)6NG +4L3)6TD +3GR)3D2 +88Y)GL3 +6QZ)SSY +KD2)36J +TPV)GM7 +2QR)CHL +XFN)5SG +B78)3XX +1MS)8PX +CH9)PY2 +QDP)XRT +LN6)L4R +KQ9)148 +M3D)VDM +P29)QRZ +3XM)JDK +L3S)7KL +HG3)213 +TMN)GGW +4KK)WR3 +113)BLS +95C)D35 +BPD)PMJ +JWT)K1H +FMH)1B9 +413)B7B +H32)MNM +J3N)J3J +GDK)YOU +8PQ)H96 +QVX)PLQ +B2N)MGN +SF5)89K +NP7)SMY +SDG)PZ2 +D3L)DTY +Z77)CPZ +B7M)5T5 +D7G)PQX +NSC)KST +8T5)H89 +PMS)1S2 +8P1)9TF +J25)YKP +4CY)HNF +1K3)JXW +5RL)5MW +8FP)SLF +4FN)NTZ +ZSP)GTV +F8H)P7B +3L5)DBL +XRT)44D +MJP)QND +PM5)3QH +QMG)B78 +BKZ)YVC +ZC5)NRP +4XB)QJV +7J5)JDD +7QS)VFT +CN9)784 +QWH)129 +P7X)VVC +ZWS)6WW +PMQ)RC7 +BVM)JGY +F11)8T5 +4XR)2LP +PQX)1SX +NV9)KD6 +6WJ)2VX +NHS)YGK +81Q)Q9K +L2M)WWK +H5V)FKM +CY8)WYM +8RM)JTD +ZNB)HR4 +CN9)6DV +52D)7MK +7MK)NG8 +D3L)Z24 +P2K)DNW +4H6)V89 +LGZ)C4G +8LG)Z55 +5B8)WDZ +Q74)WQF +F8T)L5D +DVT)4VM +H5V)XRC +DWL)82C +7Y7)CKM +4XK)YQD +2RC)6GH +FH9)ZJF +MJT)V9K +QSS)R7D +62H)K6S +ZFX)143 +MGN)KZ5 +8JR)54L +98Z)B5N +1GZ)SBB +8HF)FJ3 +D6N)GFR +F76)BN7 +DDR)K2W +2ZM)RZR +LCH)DXM +F5N)N1L +91M)H7P +QLW)BGN +744)YRD +GHZ)RKG +9HD)6L2 +VMR)LJJ +42R)GTS +XFR)7P8 +7YS)ZBM +HS9)QK9 +FJL)BKZ +Q6Z)NCL +ZMV)FMH +9L2)4KT +LNL)V2L +NCX)2JF +HDL)F4Y +TXH)4XK +JPW)WX2 +L4R)G6B +7V8)1R9 +8RZ)ND1 +ZNS)QPX +FNM)51Q +B1G)R66 +38X)KH2 +NPP)7DP +9J3)6C3 +VLM)C83 +KLK)YQM +HP3)BQ1 +J32)VK7 +PQX)GLK +FT1)C51 +JBC)CGP +3GN)LSK +8HQ)9HT +B4P)XG2 +3XX)7CC +B4K)SVY +LPY)LLT +BF3)YZ7 +GHD)FL2 +499)2L4 +G2T)XKM +SXH)4KK +M5T)YSM +VX4)JXF +733)PVR +143)BJR +Y9T)FQ4 +9KX)JXZ +NQF)3TQ +815)CKZ +1Z1)W4K +9TF)7ZY +NVR)QS3 +MJC)1LB +RNP)3L3 +5ZP)LVN +T3K)TFB +7WQ)72X +J7B)7CT +7CC)B63 +5JS)BF5 +9CJ)BD8 +CXY)4VJ +FYZ)88H +C5Y)NM7 +Z7S)T8J +TTB)9DN +J6Y)18Q +7J8)X94 +YQ5)NCV +PTC)CQP +9KF)NL4 +HQ5)GFM +8RY)LY8 +T5B)14Y +F2F)3MH +L1C)Q17 +MPC)VZG +JXT)KKF +WCM)HHL +GP7)GMJ +NCV)3L5 +CKZ)1Z7 +TL7)TPV +VG3)GZX +NVK)DY9 +J1V)4VS +VHF)Z2Y +LW1)B1Q +P1J)W1D +JST)32Z +4MD)9L2 +VGL)N7X +JPB)C5V +6P9)62H +LJC)DQM +R88)KBJ +N9V)LWY +RV1)VMR +4FD)1R7 +ZYM)3F3 +LKK)91M +PLH)QV6 +2CB)YN3 +24M)F1B +14Y)MCG +749)SDT +1MG)9JS +BWH)JWP +TSC)HTJ +Y73)SFK +F4C)8QZ +HB1)NJL +6VK)574 +6DZ)SSQ +JZZ)B9Q +7YK)LQ5 +M3Q)8K8 +9RH)78Z +MVN)TBY +LVJ)YML +TF1)JWS +Q4R)7GG +8YB)1T4 +NB6)TNN +GL3)4FN +NGP)M27 +RBD)2MS +9FT)NRJ +MYS)SQB +LG7)8LS +XMJ)8SD +S6K)XKL +W6Q)49Z +3L3)3B4 +2YF)N7B +9WC)JFL +8PX)DJJ +3NZ)4J3 +3BF)L27 +2ZR)6RY +FFZ)ZMF +WBY)RXQ +2TP)FQX +9VT)MJC +RQ2)K9V +94J)BHS +PX2)HNT +7VQ)TW6 +M58)F1G +8VY)S8T +LSV)88D +KCV)VHH +WQN)2NF +LZZ)VCT +LR9)L9G +6JB)S3K +MBJ)VS6 +VXJ)CY6 +TY3)MNT +2F7)NV5 +ZN4)ZL1 +B7N)HZH +8BK)78Q +HHL)F3M +ZWH)MPH +W4G)CH8 +CT7)B4T +NNK)5KM +W82)Q6Y +WZC)4D9 +5DC)WN2 +2CN)HB1 +ZF3)VY9 +2JS)MYC +P5J)LPJ +WCG)5CY +KFN)94C +754)RTK +CW8)KSR +K8M)V3Y +DQV)MGG +RC7)8M2 +MGG)FFZ +GWT)FJL +6RY)CXY +KBM)G4C +Z59)HXX +74V)T5H +K3B)SVW +WWK)2BK +M98)JZZ +YVC)TXJ +RWY)46R +7S6)YK6 +B64)YBT +2C7)FCX +VWL)VD9 +RML)FC6 +KF5)WBF +LM5)XVD +4VM)H53 +4QL)1S9 +5MM)FPR +ZJF)GQH +9HT)2BZ +D9W)8B9 +CCC)PYF +78H)F8H +YM1)B6F +85D)Z69 +XRC)D6N +KZD)QFD +HXJ)XQD +X6Z)K4W +HCL)FTQ +XVT)FGW +7QB)1SN +GMS)RGY +X53)RC8 +YQ7)2TP +BJY)3FL +H5D)Q1C +X5W)F2F +SCV)RX2 +QW7)HNZ +L23)3JX +5KX)PMS +BP5)WPY +KH2)3ZX +ZST)1JY +H9G)V6S +DXC)MJP +6PB)V23 +NYC)CMF +8ZS)1F4 +ZRQ)FH4 +KL1)JR6 +JMY)J2X +DXC)8G9 +SB3)89S +1YT)2L6 +LH4)99L +N4F)C1C +K9W)NCX +5MM)2F7 +1T4)5H6 +DNW)4B7 +3L6)S53 +YV8)1Y9 +85F)6CJ +RLZ)9JY +1F6)64C +T75)GQ3 +B5R)ZYX +Q1B)L9V +WHM)PJ6 +P7B)9GQ +XD2)Z4Y +347)499 +TK5)GZ4 +8NW)82H +M7R)S4L +B11)3L6 +RPZ)SLL +77W)XSG +CZ2)8NW +3FY)GX8 +2ML)NL1 +6BV)H5D +8GH)PM9 +XVY)JNJ +93T)W9D +QJ7)11N +SYX)GP7 +TXH)823 +PSS)W82 +67H)1F6 +J7P)HWY +W1D)NB6 +6J2)YJ1 +J25)DTQ +HWM)JPW +4VV)ZX7 +CCY)X6M +S7X)FK6 +F8R)NN6 +3G1)YVJ +FYZ)WCG +SLF)LHX +941)Y94 +2NF)HY4 +4XQ)L95 +F55)QBJ +GJN)9CJ +26S)B7L +S2N)4V3 +FMH)3YR +TQC)RSR +1NM)1VY +CK7)LQH +BN7)2WF +4B4)Y73 +QSK)7Y7 +J7V)8R4 +P3W)X6V +LSR)2Z7 +62H)6WJ +7G3)3WF +HH3)V77 +88H)RB1 +PVR)CMY +MST)R6S +VB5)5TC +V23)VX4 +BGN)6TZ +31X)MD1 +JY4)MXP +1JY)RQ5 +R1H)JJD +4QL)H9L +84C)J7B +1L4)XCV +KF3)ZWX +MQH)D9Z +G56)BN6 +555)P15 +P6F)H4L +GWJ)8Q7 +MCG)42J +LJY)7YS +HXW)1WP +FK6)68G +T2T)K4B +ZN5)P2K +7QB)C65 +J65)RT5 +KNZ)P51 +HYZ)45Q +239)53F +CYW)YQ5 +9DZ)1Z1 +185)ND9 +MZM)1M5 +WXS)JHN +TN1)F7V +3GL)M1J +GXQ)GFY +C5V)LGL +XJ4)JQD +FQ3)X53 +6TV)JFN +Y9F)QM7 +T1H)NYC +VWC)CMQ +MC7)J63 +GTW)6GC +8WZ)Q1B +D96)7J8 +KF7)59X +KS9)LG7 +9J3)ZSD +G4C)PHX +BRC)D5Z +8G9)QDX +FV4)2PZ +F58)R8P +QW2)FYZ +VT2)Y9T +6VB)BJY +ZZ1)X9Q +K5L)ZDQ +148)WBC +1KR)TZD +WW4)FPV +ND1)W3Y +2NV)CQR +C8W)T75 +XVD)RQ2 +L7F)1L5 +TGR)6GD +S3R)WVH +NHT)8JR +J65)TP4 +F3M)GX5 +789)XSC +K3Z)754 +GFB)83W +LHB)9B5 +HC2)F86 +LNZ)L2G +FQ3)6CS +BY9)96T +C3X)G62 +KP5)MR1 +PY9)M5T +RB1)5J9 +KRP)6MD +V6C)MCS +B3T)YG3 +MQR)6BV +BF5)5VW +DJJ)CX9 +GP4)7DN +XVD)Q3Y +RCW)JXT +SYQ)8JP +DZ4)G97 +BV4)W4C +R9D)HJW +LJJ)HRM +K9W)CBF +JNJ)B92 +VFT)LM9 +SQP)ZDF +S2V)2QR +6XH)G2T +1VY)F6X +QG2)8DW +42J)98V +G3T)9TC +8KB)245 +S4K)Y7R +FNS)LM5 +SKS)FGN +5H6)9S5 +LW4)HGD +FHL)SBP +9V4)B42 +YCG)TF1 +5TN)12C +QDD)TP1 +BP8)4VV +5QP)B4P +N2S)WLV +L5D)XXP +2SF)TRG +MW8)995 +XCV)BJZ +F2S)FNS +Z8N)43L +K9T)TSX +NM7)7J5 +97Q)X5W +R94)8SY +ZDQ)NPP +85V)B99 +6QF)W9G +GB7)H9G +VLN)ZNS +4XR)D2J +8D9)SZ6 +2ZJ)1D4 +F53)TTB +ZT1)9VW +41J)W67 +CBF)HPB +RKG)42R +62K)57F +7ZQ)R95 +6G6)W6P +R7W)H5X +QDJ)RQP +TNN)WRX +7DP)HVM +3R6)S7L +7P8)8B2 +JSQ)JPG +9BC)94V +M5B)GXQ +2Z7)3GN +C64)FLR +P56)YLZ +4HS)DZS +8GK)QFQ +9BQ)F1F +V2L)437 +SQB)GPR +D5B)XVV +QF5)HSP +5MW)J9T +W4K)6J2 +5TC)XGR +XLL)ZFX +Q56)LN6 +JR3)ZP8 +JR6)5M4 +3HB)23L +YW5)4CY +NPP)B1B +6NX)V6C +1MP)VQZ +2MZ)7ZQ +8JR)1MC +LVN)58K +61K)LZT +5FL)LZZ +6B8)64W +G1M)B1G +WM3)T1T +V89)N9V +QS3)3FN +D5Z)NQT +ZM1)5J7 +D7N)8XB +XSS)Y37 +2Q3)PWY +Y94)MW8 +GBY)RGP +XTN)G6Q +JXR)GMS +8JP)MXZ +F86)DTZ +RCH)3VC +524)14K +G6Y)HV2 +RZY)BLZ +N7X)8GK +7QV)35Q +2PZ)55N +318)BNR +ND9)7QV +HR2)FP6 +RGP)9K3 +8PS)SB3 +LM2)L48 +R15)NTS +G7Y)CQB +J6F)YQ7 +VTZ)YNX +VG3)C8W +XDL)3NN +FJ1)FK1 +MM1)4MD +96S)NCY +T5H)3FY +3LD)1PH +989)X3M +Q1C)SAN +YB8)XDN +FK1)LJ6 +ZP5)J48 +RNP)V33 +W5F)Q8N +22G)DQZ +1G8)C3X +GCH)46Q +G3X)ZT1 +ZD4)GTN +Z21)5RS +YV9)4GF +TLS)NQ3 +X3M)8LF +9J1)SDF +HKM)KFN +JPG)DXC +C5B)8CN +YNX)P3W +QYF)GHZ +GGW)FV4 +TTR)5JX +HWY)2SF +MLR)JZC +9ZD)JVW +2ZK)LGZ +GQH)NPC +76W)H5V +2Q7)B7D +264)M3D +YKP)53L +CM4)PD8 +GX8)52P +3YR)DR5 +ZSD)P2X +T9T)KLW +JM9)9D2 +JRR)8RM +9PV)G9X +VHG)5B8 +8JP)752 +Q89)F2M +TR9)GBY +GMJ)XVN +K6V)7P3 +QRN)ZNB +7M9)P6F +NTZ)KJP +LPY)KT2 +C5Y)X4Z +Z27)34M +TSX)3T8 +WPY)CH9 +LZT)QD5 +W1T)GDP +CCC)XGV +XDN)CKN +9JY)4TM +L2G)6KP +F25)6TV +23L)JMX +4KC)2ZK +3F3)XNG +92P)SHT +L1G)3YT +58W)M7R +9F2)459 +S8J)8ZS +GSB)G7J +XVN)62K +899)PZH +1PH)GJD +YKP)SR1 +JV9)YYN +3R3)PSS +YRW)KP3 +HXX)8SQ +WDW)9B8 +HCW)TSC +KP3)YKT +9XX)BFY +4VJ)XRK +FJS)LSM +N7L)Z7S +P15)P1J +GF1)RML +V9B)RM9 +CY6)QW7 +Z4L)QGH +7HY)DZ4 +CYJ)9WN +YLZ)JSQ +2RY)VK8 +3MH)7S6 +86F)S51 +YZ7)KG1 +3F8)9KR +8RP)Z8N +1S9)LVJ +F5P)J6X +W6C)ZY5 +TX6)ZRQ +B3Z)SL8 +9B3)FQ8 +Y5T)DFN +FC6)7TG +QK9)8RY +L2Z)B9H +R8P)G7Y +RQP)VFD +ZDZ)G6Y +KL8)7MT +72X)KD2 +87V)V71 +8SD)RPM +CCM)BVX +WQD)H7J +3YT)G3T +BPR)ZYM +CPZ)8PQ +BLZ)PCV +FBM)4WF +W8S)GJ9 +HH8)9VT +GTV)FYQ +DH4)R8T +NKM)HF6 +9K3)DKX +FBR)347 +CRR)2NV +VK7)ML7 +DBY)V3L +6B8)176 +WMC)RG1 +6XH)P56 +QJY)6VK +FH4)FHL +5SG)LCX +MNZ)38X +VH2)113 +51Q)PG6 +K18)PSV +5JX)K8M +35C)NVR +Z5H)941 +CLF)BPD +Z2Y)QXV +WKV)QF5 +44L)S89 +5QP)HH8 +W1D)M62 +NQT)12G +DXM)3Q1 +X9Q)FBM +WBP)Y61 +XJF)KS9 +LQ5)793 +8LV)N4C +44L)N3G +QPX)5FG +VZG)4CD +QD5)8X9 +KQ3)DZL +WH1)LP9 +793)VLM +78H)8RX +WYH)K9W +MNT)73Y +QYN)VTS +PD8)VG3 +JZC)KVH +NRZ)8HF +H1Z)7YK +7MD)F53 +WP8)PDM +JXF)HC2 +5VW)B77 +X6V)R36 +4DZ)W53 +8YQ)5DC +FBH)QP8 +LG9)XPB +398)T88 +QTN)JL2 +N76)17X +NB1)7ZX +73T)4RG +J7P)XQF +8DS)3G7 +MYC)NKM +YCK)F2S +64W)MWN +FMF)GP4 +2GQ)91P +SLY)JST +F1F)K3Z +MD1)VSN +74N)NSC +HLJ)S8J +57L)LNL +GZ4)BC7 +DR5)1YK +1Y5)R9D +Z5T)9B3 +Y8V)5MM +HZH)K6V +SMY)52C +8BG)P28 +QLQ)P4S +6NB)8CR +P5V)SKS +N42)8GN +5JK)4F2 +BXQ)T9T +ZL1)WKD +KDC)7XM +721)PNV +W4G)J65 +Z7J)G58 +H7J)9DZ +4QM)67H +2LP)2ZJ +ND9)NQF +YKL)QG2 +L7N)KWB +Z5D)1VV +LWF)HXZ +HRF)BH9 +82H)FJ1 +LPX)P33 +8GJ)XPM +6BJ)HP6 +W53)58H +SWQ)QJ8 +XFF)LS6 +189)CW8 +BNR)Z8T +R8T)NLQ +R48)M1M +Y37)PGH +8CD)WYH +DHW)3BF +PXH)3TK +JFN)XYY +C9W)VP3 +H4L)QJ7 +8CC)NRK +P95)524 +WQH)SXR +9DZ)8KY +3DM)7LD +8VY)6B8 +CKM)H1Z +3VC)GDZ +LC9)HDL +N7B)165 +95Z)ZZ1 +567)T95 +HPB)HG3 +7XM)X2G +F3M)D3C +KY4)Z21 +WT2)VHK +TP4)THY +LHX)F9T +QJY)78H +54L)WDD +7MT)8KB +GT3)V4H +D5G)3R3 +79L)V4F +1PN)PVH +H96)9WJ +JWS)PJ3 +7DN)RN4 +KMT)2ZR +C4V)B4K +DY9)6QZ +53S)7RM +PZH)GFW +GWT)HBP +3D2)7QS +732)CHW +MYG)YSQ +WF3)CNZ +BD3)FT1 +GLK)WCL +BC7)2KD +BFQ)9CK +NW3)GJN +35Q)Z81 +32Z)6B2 +C8W)9BT +H9D)G5F +B42)R7W +B19)MNK +RYT)J1V +B97)8LK +79J)XDL +GZX)GHD +QYN)Z5W +Y59)6NB +7TG)MW1 +D45)RZY +GTW)ZV1 +W48)XYN +3PZ)D82 +GFM)8HQ +FKM)R3Q +B4H)41J +TGW)XFF +Z8T)GDF +1LB)YX4 +C95)5JC +179)NX3 +47G)ZXP +34K)2CB +Q4R)RNV +1B9)LR9 +F1R)QWH +574)KL1 +53F)J7P +VR4)YCB +C1L)6QF +LS6)GF1 +NLQ)266 +ZY5)NWC +64C)9XX +XDR)XKP +7CT)3LH +Q9K)Z5T +CDD)DMX +H5X)NNZ +Z55)M3C +YYN)C99 +FCJ)M54 +JN1)H1X +1MH)698 +9ZH)YCK +FDR)46M +C3M)LW4 +DRD)MZM +HBP)LNZ +79X)Q5G +QND)3XM +98C)SWM +DTQ)RL6 +WQB)FH9 +58K)L4K +NH9)V3R +PLQ)BV4 +73Y)61K +CHY)5ZP +SBP)8BB +RB2)BBB +91P)WMC +XFD)5VB +BHS)MQH +MR1)NHF +8SQ)59T +8B2)7Y2 +6FG)FRP +XFC)XVY +BP7)FBH +K5L)WY1 +XVV)PM5 +FD7)LPY +DFN)XF3 +XXZ)JZ6 +GVT)J32 +GCP)MBJ +25D)8RZ +WBJ)JJX +5J9)Z5H +8V3)HCL +PZ2)1LQ +NQ3)P8C +J5T)6F6 +LP6)9J1 +XGR)B87 +MK7)TFG +6TZ)DXD +KR4)CK7 +8JV)L3R +P5M)174 +946)HP3 +1VV)XQS +47G)VRX +MYJ)B11 +9JL)5TN +B98)KFZ +W82)RS8 +NVJ)7XH +KP3)B5R +JDK)XLL +GWJ)J5G diff --git a/src/main.rs b/src/main.rs index 3fd2de1..2f007f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,5 @@ mod tasks; fn main() { - tasks::day04::run(); + tasks::day06::run(); } diff --git a/src/tasks/day04.rs b/src/tasks/day04.rs index c155cab..a666f93 100644 --- a/src/tasks/day04.rs +++ b/src/tasks/day04.rs @@ -1,6 +1,7 @@ use itertools::Itertools; use std::ops::RangeInclusive; +#[allow(dead_code)] pub fn run() { let range = 109165..=576723; task1(&range); diff --git a/src/tasks/day06.rs b/src/tasks/day06.rs new file mode 100644 index 0000000..9ea3831 --- /dev/null +++ b/src/tasks/day06.rs @@ -0,0 +1,32 @@ +use std::collections::VecDeque; + +pub fn run() { + let input = std::fs::read_to_string("input/day06.txt").unwrap(); + let orbits: Vec<_> = input + .lines() + .map(|line| { + let mut s = line.split(")"); + (s.next().unwrap(), s.next().unwrap()) + }) + .collect(); + task1(&orbits); +} + +fn task1(orbit_list: &Vec<(&str, &str)>) { + let mut queue = VecDeque::new(); + queue.push_back((0, "COM")); // com is where everything floats around + let sum: i32 = (0..) + .scan((orbit_list, queue), |(all, queue), _| { + if let Some((depth, next)) = queue.pop_front() { + all.iter() + .filter(|(a, _)| *a == next) + .for_each(|(_, b)| queue.push_back((depth + 1, b))); + Some(depth) + } else { + None + } + }) + .sum(); + println!("Task 1: there are {} direct and indirect orbits", sum); + //405096 too high +} diff --git a/src/tasks/mod.rs b/src/tasks/mod.rs index c78254c..d68ddd7 100644 --- a/src/tasks/mod.rs +++ b/src/tasks/mod.rs @@ -1,3 +1,5 @@ pub mod day01; pub mod day03; pub mod day04; +pub mod day05; +pub mod day06;