diff --git a/input/06.txt b/input/06.txt new file mode 100644 index 0000000..05ffa22 --- /dev/null +++ b/input/06.txt @@ -0,0 +1,1558 @@ +373)6C9 +7Y8)CB5 +HQT)MJB +PNS)P67 +KC2)B72 +FSZ)JLN +XBV)JC2 +DFZ)4NT +VGX)9KB +XC8)7LW +1CP)Y2R +CPQ)866 +ND4)PQK +R6X)RPV +9T7)2NW +C8T)B5J +SVZ)J7N +ZJC)43B +C9F)QC1 +T95)5CD +X3K)Y6S +4KT)47S +7Y3)8FL +PWC)CG4 +WXF)7M6 +WFP)D52 +7MG)LGR +FYC)WFD +G3V)GB6 +5CL)T9T +M2Y)JVP +YKJ)SBJ +WHK)SHR +B4V)5Q1 +34P)VT8 +DRP)WHK +BWX)G7N +5DV)Y1J +DN9)JJT +ZH6)G17 +GHB)RJY +CWJ)BNW +3M2)FJ2 +FBV)YSP +JWL)4JX +6D4)3NR +Z47)5PP +LRH)MN5 +NMR)4KT +5QZ)DD5 +TH4)JPV +K69)676 +KS7)1WM +ZSQ)NS3 +NHD)28G +M8W)SWH +X13)V46 +J26)SMX +C72)2RJ +HJS)36H +WN2)BYS +PZR)T1K +YXS)68W +717)7MG +5X3)6QS +8JL)271 +Z19)9TQ +6WM)JM6 +1M1)XR3 +235)8KY +K31)GL5 +N21)G8D +G5Q)XQ1 +1VZ)PTD +W4C)BVN +8R3)2KB +23X)9KY +9C8)VPR +4NT)HTZ +VPW)373 +5WG)3DX +C9P)K31 +SBJ)HNW +NYX)F5F +BGM)L96 +JNP)ZWD +KYD)K6B +MS3)FFT +5LF)H5Z +D6S)9C8 +GSC)9NS +KPJ)QHN +MSR)PBR +84J)H67 +7WL)WQ7 +G6L)7BD +DWR)7C2 +676)HPD +KKS)TMW +1XN)S7Y +4KJ)S4Z +9V3)643 +LC7)J12 +1KQ)QH4 +4RJ)H3S +7DC)VGD +NNZ)2BN +1YB)GZR +NJ3)7R4 +2RH)P2C +XQ1)1RS +Q3J)YT1 +19F)NY1 +7JF)MZ5 +H3S)NM6 +V46)CD8 +YZ3)KVB +QC1)3GP +RGP)FGL +L9C)12F +9VT)HW2 +3YC)YFL +DRG)FJL +VW1)BWJ +K48)FPQ +ZXF)FYT +9WW)T8F +HWZ)HVV +3TB)F68 +Q5H)7JF +18W)67P +Z94)ZH4 +RHK)2RQ +CHR)235 +PCV)822 +22H)2FC +2KX)J4V +K1C)R3H +PFX)RQH +FMJ)SNM +9LW)GHV +3FL)15J +VH8)T2H +P9F)SCV +XWR)VVK +JNX)4G3 +DHF)2HZ +SRD)X77 +1ZT)6JP +WHM)FBV +F4P)1V5 +TJQ)2YD +FR3)CHR +RBS)218 +7WJ)BWV +C1K)5C3 +2XD)NYX +XQH)3C6 +M8H)YPG +3MV)VSZ +Z9G)752 +JFY)XWC +ZTG)JGW +XBV)XNQ +PSM)RV7 +9DT)J2Q +MFR)T4N +2YV)NZR +F5Z)F46 +996)V7Q +5C3)KCQ +XXZ)6YW +Y3D)GXB +HNL)GSC +QW6)9BR +VWN)FSZ +VGD)MFR +PT9)B4V +FD4)23X +5ZM)D4K +JQF)KMM +NTL)NGR +LKB)18Y +H3M)75J +SSC)NBC +GDC)5BG +YYY)K2S +9J7)261 +CZW)C6C +YXX)S1M +Y24)LMP +P8W)MS3 +P2C)V81 +FRJ)X21 +C1F)5QJ +271)GF6 +6ZB)LC7 +9DM)Y3D +T19)KZ7 +NTK)F5Z +6ZR)WXJ +FP1)XGG +RB6)8ZW +CFT)S6T +BQB)SGH +YPG)Z3K +BLF)RFZ +XG3)4HZ +1RS)7LP +Y62)C31 +BJH)YYY +V9S)DV3 +NZ4)8Q9 +1ZH)XMD +F68)GYQ +DVH)QST +5N6)VCN +Y6R)6J6 +YD9)SRY +CSJ)1N6 +QLK)JST +N5B)CJP +R89)KDZ +Y8Y)GWR +8KY)M8W +551)3V1 +MJB)DKR +SLN)KDQ +Q2F)SMR +5PX)6WV +LTT)RSB +6WV)SZL +Z3D)4L8 +L96)3BV +XSC)SSC +C6C)F4Z +D98)CJ5 +3BV)ZY4 +G2W)QQR +7R4)QVN +9KY)M9J +22P)2M3 +3DD)NN1 +CFS)JCP +7N6)33L +DY2)ZZ4 +4XP)KZS +NF2)FSJ +45J)W3Z +9WJ)47Q +J5K)GTR +JJT)D1K +18Y)VF3 +JBX)6ZB +SP8)6N7 +C19)B68 +9V9)TTF +CJM)8ZX +Q25)VGX +X8R)B1Z +ZFX)Z6G +YLZ)J83 +8R8)WZF +8HZ)9V3 +WM3)WSV +HJS)9D2 +9J7)W1W +84J)5M4 +HXS)NMS +K2R)SN6 +X6W)VZH +CD8)4NK +4RQ)19F +J4F)FQ5 +LMT)W9Q +CNM)JZ2 +QXX)T4C +M3Y)26B +C9F)Y4D +DX9)VFG +PBR)MY5 +9LV)LL6 +355)3CD +6CQ)HHR +L67)SN3 +5SS)4JD +KPB)RM6 +23J)JP9 +R2W)VKQ +BMV)FR3 +CBT)PW1 +5CD)47P +22P)YM7 +1WM)5TS +3J8)TBN +2HQ)DZB +47S)BQT +D79)TPD +6BJ)TJX +8WT)ZXF +L4L)8GP +NQW)S8F +GVF)LHW +SM1)23J +SCV)N3X +3NF)9R8 +SYP)TCP +K9K)XWJ +2BN)XF2 +9SD)C6P +TWT)LMT +5W4)PKK +399)VS9 +ZTH)226 +G79)24V +M59)G2K +HH4)YMN +X99)Y73 +68Q)3YR +FMW)NHD +VT8)Y5F +BWV)GS5 +5PM)CBL +V53)R1Q +4KT)D2J +89Y)S72 +9GR)1KQ +ZH5)FLH +VVM)22P +9ZD)Z25 +KRV)S3R +YMN)JGP +JPV)PNL +SN5)69L +RXN)6B9 +J4T)717 +JT6)DV1 +1XJ)MXH +N5L)KKC +PNL)C6T +6L1)T14 +CB5)SBL +49B)TWT +5Q1)91L +5DP)FMN +KL5)K63 +6SS)HFN +3W8)ZGG +SPZ)ZRH +W2N)QLG +W9Q)D4X +F23)PLW +ZGG)LTT +6WM)RWY +6MP)WKG +G5H)M8Z +ZZ4)YMG +V81)7SF +7NY)KNJ +SMB)1XN +JM6)744 +XMD)C77 +LRM)X3Z +Q5G)733 +2MK)21P +R1B)DKM +XBW)YJM +XWJ)68B +VZX)L67 +SLC)ZJC +CK4)3MV +K59)G79 +TT6)L15 +8ST)7D7 +M5F)PCV +HLZ)44L +92Y)R2W +XR3)K48 +Y5F)GFH +RZ2)NJ3 +RKG)RXN +8HF)VH8 +V8Q)7NH +JH7)PYL +RH2)FWH +NBP)VVM +BP1)8TS +47P)MXY +WFT)R6N +992)VDG +HWB)QG8 +CC7)H8R +3JH)MNM +MV5)37P +K58)QMH +H31)5PM +QHN)HG7 +LMY)5H9 +6CM)C9F +Q9Z)C46 +GVF)5N7 +78J)DLC +D4Y)NNZ +MQR)6RG +NDG)NHH +Y8H)14B +789)J26 +S8S)Q25 +JRQ)L4L +TC6)TPH +7Y9)WY3 +46N)419 +Z6G)KHM +J8D)TJQ +YVK)V49 +V49)JMD +HT9)NQT +F65)SPW +6RG)YS3 +YPZ)S4C +R6N)VW1 +6N7)J8D +4J3)TFK +Q7B)9J7 +FYT)HWB +GFT)NTL +ZW7)S8S +QMH)6CQ +W2G)F11 +QVN)C8T +L5H)TJJ +PKK)Z6L +MZ5)LPV +QC1)CHF +8GB)LV5 +X21)8R8 +M7P)2KX +PB2)GR2 +TMZ)BCL +GLW)VDC +SGZ)DFH +SH6)KTZ +2ND)6RF +TTD)MBX +C6T)SPZ +S4H)N4T +PB2)BP1 +W1W)NTR +B8H)XH7 +WKB)XZZ +J1T)MD7 +3MQ)DN9 +K6B)WQF +HJ7)HJS +1WJ)LM4 +FH8)7SV +QVX)XPS +1N6)W9B +NMF)VTJ +1TR)NDF +LM4)ML4 +VPR)DHF +Y6J)9YH +LCG)LCV +RQH)T29 +KS7)G24 +8WK)7W4 +MLY)VM8 +KMM)KL8 +T29)5QB +HTD)NBP +MN5)BXP +S8F)6NJ +2XK)YN4 +74L)ZTC +XTY)N5C +W7B)7LS +XWC)1VZ +CNX)L1G +4JX)KCH +7D2)73S +3CD)TKJ +743)F65 +CMB)XNG +DJ7)BPJ +4BQ)PNS +419)NZ4 +2RJ)DVH +J7N)X9M +PKK)MR1 +6JK)B64 +ZGJ)DJQ +F11)CNM +SK6)HW5 +9MT)5LF +TBN)KYD +5K4)BWT +8FL)V5T +GWR)9ZZ +L1J)KRV +SF8)Z6H +VFQ)TT6 +CGT)V37 +LV5)K8T +FL3)8XY +RJY)KQM +P3T)1GP +RM6)R6X +Q7M)4JJ +WN7)Y8H +2MJ)YLH +QHR)1MD +LP9)BHH +NL6)J4T +4QW)9VQ +YS3)6P7 +VSZ)XG3 +P13)JSM +9YH)4KD +N5C)G6Y +Z38)DY3 +4WF)LPJ +51Y)H8N +R3H)MGH +KY9)49B +3Z4)N4N +F6L)1G8 +1RC)M56 +61F)DRG +V7V)9SD +21Z)LMY +L4Z)N5B +D2J)PWT +YT1)S1F +X9M)LJP +LL6)K59 +NW7)TH4 +RL2)Z3D +M56)L9Q +1MD)C16 +PVB)QW6 +SNM)MPW +9ZL)XTZ +MBX)CK4 +MSL)2XV +K8T)MDC +YMG)XG5 +261)XD8 +LQS)JQF +WY9)8D4 +HTZ)PB2 +F5F)1XL +L99)Q6C +NDF)PQF +JC2)W9H +ZB4)F23 +JSM)9L8 +9NQ)B2Y +VBY)X7W +ZGJ)WFT +ZCP)ZYV +S1F)W73 +FG5)M7P +ML3)7GF +891)Y5M +WPL)2FM +1XL)3YC +WQF)VRV +LGR)S9J +TKJ)CWH +HCV)QXX +8XP)NVD +WFD)ML3 +7W4)HPH +TT3)VYK +KWS)BZ4 +9JW)8ST +DMS)2XT +8G8)PSX +ZH8)3SC +TSH)JKC +DV1)X4Y +VVR)SSK +VGN)J5Z +X4Y)RHK +XNQ)JNP +MWZ)JGH +B64)L5C +7BD)N3S +9NQ)FY6 +DFH)SH6 +Q4B)G4S +8VR)46G +SK6)PFY +6NJ)VQ8 +DL6)MNJ +BWJ)3TB +F46)G3V +Y3S)DK1 +NMS)V8Q +XFL)RZ7 +DD5)CWJ +K4C)5QZ +DB6)S9H +HDX)GV7 +H8R)X99 +6Y7)VWN +Y9X)PQ6 +QPL)WX4 +3WT)5DD +C46)FFZ +QYY)K3G +5YG)4XP +N9H)4QP +J2Q)4YN +SW3)LQS +DBR)D8Z +SWH)SGZ +9YB)C9P +L1H)KP8 +DMS)SPX +QK6)SAN +CHF)6BJ +XH7)Z8L +YXY)T9W +COM)FV9 +Q4P)DMF +PLW)QD2 +NY1)682 +F1L)YPD +LV7)5YG +KZ6)Z94 +CPF)4M5 +V1W)FYC +GHV)HW7 +37T)CFS +D2G)CC7 +YSP)V8D +KZ7)YLZ +37P)YVK +KDQ)25L +NR6)7WW +4KD)CWX +4QP)BYF +H8N)G5R +NQB)8HZ +PBL)97M +8FZ)GTH +HKG)HCV +X3Z)3BD +91L)Z73 +RBW)9LV +NPC)3KQ +NHH)7D2 +D79)1LG +3V8)TSH +1V5)7Y3 +B5H)Y8Y +3YR)GRV +KHM)VTR +4H9)G8X +28G)J1T +NTR)V59 +96W)H4H +BVN)JJ7 +XPS)Q8X +NTW)4G4 +13C)XDB +D52)DMS +W9H)HCQ +3DX)7DC +3RF)V7P +NTG)RH2 +P8R)6CM +NVN)LBQ +68B)RH8 +PQ6)PT9 +6WV)8G8 +733)HQH +RPH)1HG +CWX)XWR +PTD)Z9G +J7Z)9XV +P5J)NTG +6JP)68Q +DJQ)9ZD +Z4W)3W3 +VRV)2YV +M3Y)CMB +GTR)K58 +R1Q)WSY +ZWD)Q3J +H5Z)B44 +LCV)P8W +VW1)ZB4 +4G3)YLX +R4M)R99 +ZYK)R4M +WNJ)9WJ +7LS)16X +8ZW)GHB +D4X)YG2 +VFG)VHX +RFW)XXX +611)6Z2 +6YW)QPL +P7B)JHC +L19)NMF +DF9)YQM +QDW)634 +25L)SMB +1TL)6DM +9NS)GVF +W8D)2RH +WJK)8GB +KNL)ZHK +M73)1PV +Z3K)Z5G +TDJ)BQ8 +XRD)HT5 +HY9)RBH +JJ7)6PJ +1QL)G5Q +T66)W4C +YMC)CTM +VY3)88V +LJD)44K +BMP)6Y5 +8SD)GTB +5H9)PJF +GY7)4RQ +FF6)HNL +GRV)RFW +YFL)836 +3HY)NVN +HW2)CZW +8JL)D79 +68B)4Z9 +FPQ)Q7B +45T)QYY +KCH)MSR +DL4)W7S +9RK)CSJ +7S2)YXY +4L8)WB7 +LJN)M3S +DBR)8TT +YNY)1W3 +VZX)HWM +V59)KMG +337)8HB +DKR)749 +NZR)FD4 +V7P)1RC +SW2)TMZ +MQR)4BQ +BZ4)S6B +LPJ)WHZ +24Z)NQW +CRT)KKS +Q7Z)4QM +L34)S57 +FLY)MWZ +DK1)HTX +7YW)L9C +7LW)6WM +PYC)7P7 +R3H)891 +BXP)N9H +YM7)9TK +4TS)WM3 +TXG)HTD +SQ5)Z4T +TFK)HLZ +B61)4SG +9H2)37T +RXZ)WPL +FMN)ZKD +NVD)B55 +HG7)673 +C95)J5K +JCP)71P +WQ7)99C +VDM)L21 +WBB)4BJ +L1B)TTZ +JC2)337 +TC3)74L +YN4)25P +97M)KHD +P8D)S4H +Y4D)GMV +WCM)CDF +V5T)RBS +6DH)ZLC +VM8)G4K +GYD)BGM +Y8L)XN1 +TWV)GLZ +RV7)P5J +47P)PFX +NS3)H41 +1XL)1QL +G6Y)QY9 +GYQ)V9S +47Q)C1K +WGC)D1Z +26B)HDH +JQ5)2SW +SS2)NL6 +9SP)3W8 +H5N)96W +LCN)ZTH +18Y)VNH +WJP)VZQ +B2X)XC8 +6VQ)RSZ +L1P)DY2 +XN1)2HQ +MV3)GG7 +K48)X1R +41F)P3V +RWY)KR8 +WBS)T95 +BJM)G1Z +T1K)BMV +B2F)LF2 +BD6)C1F +2FC)3JH +5QB)46H +FFT)1TR +88V)YD9 +JNB)87W +3MD)89Y +43B)RBW +VDM)MLY +WV9)P8D +HJL)SW2 +LFN)W2N +3JH)CTW +NVC)MH8 +BNW)ZCP +BXH)9LD +V8D)Q2F +1HG)SRD +GB6)LV7 +3ND)BPQ +6DT)34P +PQF)MV5 +KL8)YC5 +D76)8SD +2XV)P5S +GLZ)3M9 +5LR)WN7 +N4T)PZR +FFT)RB6 +9TQ)8P2 +68V)5K4 +3R9)LCZ +VVK)X5K +D1K)RPP +TPH)996 +HTF)BTH +ML4)TC6 +BP9)HQC +H41)2XD +H8B)JTV +QVN)P1Z +KTZ)NW6 +B42)X8R +8D4)T6P +BPQ)NW7 +VVF)NB7 +XGG)1HD +5XT)MHK +JST)RLD +5PX)R1B +LKB)PYC +GFH)J7Z +N3S)3ND +XPX)HZX +X79)VPW +3ZJ)SM1 +JWM)JQL +M9J)SK6 +F9B)PWC +G4Z)LP9 +9CG)JBX +M5F)GKV +S9J)43P +6B9)3MD +TMR)7NY +7LP)RTF +JZ2)VHV +GJ9)XFL +TJX)PSM +TQM)Y3S +PJF)G82 +8KY)51Y +S3R)Q8H +3Z4)K2R +XTZ)JWM +HS1)BP9 +1CP)C3Z +99J)992 +P3V)FLY +LNC)W7B +QGH)HKG +R36)KZW +GGJ)XS3 +9M5)3J6 +M3S)QP4 +GLB)JB9 +BDQ)PDK +ZH5)99J +TPD)QBL +V7Q)NF5 +N3X)LCG +DYJ)M59 +8XY)2ND +WTG)J4F +XXZ)3DD +PTS)5DV +WVP)M57 +7SV)TC3 +71K)3VP +T2H)5W4 +P5S)KZC +3M9)9DT +D4K)Q5H +7WJ)7Y9 +ZKD)X13 +JMD)9DM +3N8)HH4 +LDJ)M2Y +D16)BMP +7M6)WMC +5LV)78J +3KQ)VVF +GKV)KDS +7NH)9WW +6ZG)NRC +1LG)NDG +NL3)SW6 +DY3)D2G +FWH)9V9 +P1Z)1T7 +VDG)SZY +46H)TXG +ZBJ)RFQ +ZYV)5VC +44V)N6J +5VC)399 +C38)QQ7 +2XT)X6W +4MF)WMQ +P3H)P7B +WHZ)P1X +C77)XSC +3GP)FF6 +23X)WNR +8TT)JWJ +866)WQL +6S6)WGC +X5K)2NH +XD8)LJD +ZLW)JWV +VPR)5XT +VHX)5WG +TWT)XPX +WBB)6LZ +RR9)K4N +218)DB6 +6BX)Z4W +4QT)PD8 +6TQ)L4Z +KZW)YXX +2RM)ZSQ +LJP)45K +CK4)1XJ +9SP)9JW +4SG)5DP +VTJ)K6X +W4V)8FZ +DBT)SVZ +6SG)Z1G +LF2)NJS +68V)6Y7 +HLQ)LNC +NGR)CS5 +PVN)DL6 +TT7)3M2 +L67)FMW +5N7)7N6 +HCG)JFY +QP4)TBW +4M5)F4P +S1M)G2W +HVV)1TL +KDS)FGH +915)41F +1G7)9CG +SW2)K69 +KWK)9GF +KSJ)5SS +RLD)WNJ +C7W)HY9 +T7W)G6L +FMN)GFT +GGP)X79 +MGH)SLC +9NL)5LL +B5J)RGP +DKM)QY5 +4BJ)HTF +M9L)FP1 +PQK)H3M +58G)551 +JFY)Y6R +D24)9M5 +142)743 +Z8L)HC4 +KVB)HD9 +P8W)WJK +6RF)6YG +8HB)VTW +B2Y)68V +X6W)DYZ +752)VDM +QNV)PVN +682)B2X +K6T)HT9 +DLC)SW3 +24V)ZLW +3TV)NL3 +HNS)G5H +GT2)JGF +WB7)21Z +SHR)VJM +2CP)F6L +GS5)TQM +VHV)Z47 +HWM)WHM +TTF)CM3 +9BR)P8R +SGH)WQZ +CTW)6VQ +JRW)3J8 +8XY)X3K +LCZ)TT3 +DMX)VZX +5DD)2MK +RB4)YJY +XG9)MV3 +LBQ)WZD +C6P)WVP +T9W)CMK +ND4)V7V +T8F)YOU +37P)HBQ +43P)9H2 +WFP)84P +Y2R)KC2 +NXF)GZM +6PJ)9T7 +1ZT)DDZ +GVH)DYJ +Z5G)F2P +673)ZBJ +BQ8)HRJ +NRC)CJM +QY9)4KK +HNW)GRR +FGL)Q9Z +B68)7Y8 +99C)C72 +SN3)JWL +Z6H)WTG +BQT)5X3 +KMG)LFN +G8D)DX7 +6RF)FTB +5KB)JRQ +ZWD)QZ1 +L9Q)SVF +JGW)495 +HPH)ZYK +QBL)VK7 +1ZR)4WF +5LL)QNV +WX4)LCN +H66)RW5 +GTH)RR9 +4FL)LY9 +G7N)WFP +BJH)4KJ +RH8)DBR +CM3)QZV +WZD)5J2 +BVK)TMD +S72)4H9 +RSB)3BN +DYZ)51P +8ZX)NVC +JB8)HS1 +GGV)NXF +Y73)CLH +3TX)Y8L +3GJ)T7W +2MJ)N21 +WXJ)L4T +KZC)VY3 +WXR)6S6 +DMF)KWK +GWC)915 +6TD)KZ6 +CJP)PBL +MDC)BWX +86B)Y6J +GV7)74P +5PP)45J +JWJ)GLB +GRR)44G +S9H)PJ5 +GHV)M8H +VTW)T19 +4L2)6MP +WZF)Y9X +1GP)BCY +CTM)NZ6 +VZQ)GVH +36H)NGV +CJ5)1V3 +RPV)6FC +X7W)YMC +WHM)NSP +TC3)3RF +X77)WBS +44K)BLF +BTN)PTS +JZ4)V4P +RWB)BVK +B44)GWC +HJG)142 +S4Z)CGT +SPX)61F +XZZ)PVB +FK4)9RK +M1Q)R2T +FJ6)F5Q +XM6)B8V +NM6)1ZH +NXX)VBY +7Y3)P3H +9L8)DRB +MVC)QR3 +HDH)6ZR +NS3)HLQ +3C6)9MY +SN6)R36 +FTB)GGV +VQ6)PQ1 +GL5)HDX +14B)8WT +ZP9)Z19 +FFZ)45T +84N)5LV +FYT)BXH +CTZ)ND4 +CG4)KBZ +HQH)84N +Z1G)W87 +VF3)Q3T +J12)D98 +BCL)C7W +N3M)5CL +XS3)YZ3 +Z47)3Z4 +495)3PZ +QST)ZH5 +MNY)L1J +9LD)MXX +JGF)RZ2 +NZX)LRH +51P)2RM +MXH)C19 +MD7)3NF +BXY)5NH +L4T)9VT +NSP)XTY +X5M)K6T +24Z)X5Q +2NH)4QW +JVP)KSJ +S6B)L19 +TTD)52H +HPD)628 +44G)3HY +YG2)G1T +628)Y62 +HCQ)6BX +Q4B)141 +8TS)YNY +SMX)KY9 +67P)GDC +WY9)QGH +QD2)3WT +X5T)SF8 +1T7)FL3 +VS9)XXZ +QQR)5LR +VDC)G1V +5QJ)VV7 +5BG)1WJ +PFY)H31 +52H)27L +G2K)T66 +J83)3MQ +PYY)DWR +G4S)HWZ +QZ1)XHL +HHR)6DH +73S)CBT +FJL)B2F +6LZ)92Y +SRR)Z8J +9ZD)SP8 +B55)B5H +19F)84J +6J6)YXS +YJY)XRD +KR8)NMR +BSN)C95 +VYK)6SS +3J6)YPZ +H67)JQ5 +6CM)XBW +TCP)B1P +KZS)HXH +75J)NTW +FGH)XYD +9DG)NQB +HYH)BD6 +CBL)8R3 +SZY)HQT +V4P)BJM +WQZ)FYR +KWB)RPH +1BX)VGN +KCQ)13C +4NK)XG9 +DX7)SLN +P67)9NQ +HTD)LRM +JLN)2N3 +FV9)DFZ +FY6)CNX +2KB)KNL +GZM)K9K +XYD)QWT +7P7)LXC +RL2)2RT +7BX)5HY +1W3)BBV +836)TT7 +G8X)FMJ +G4K)SYP +16X)1ZT +VJM)CRT +6L1)L5H +Z4T)GT2 +2M3)611 +WKG)R55 +JRW)6D4 +ZYP)V53 +87W)SQ5 +4KD)KS7 +HJ7)58G +C46)K1C +Y2D)PYY +373)NTK +DRB)VVR +N4N)6TQ +VH1)24Z +NBC)D29 +JGP)M47 +YLX)MSL +V7F)HJ7 +HH3)4TW +TMD)WXR +WSY)W4V +6P7)L4H +GTB)GY7 +84P)ZYP +LXC)8XP +VK7)4L2 +2XD)H66 +WSV)DRP +25P)NR6 +7GB)5KB +4YN)232 +1PV)X5T +CJ5)ZKZ +T4N)K7Y +4QM)DL4 +J83)MVC +Y5M)B9P +J4V)HNS +QP4)8WK +R1Q)8HF +WQL)QVX +8D4)ZCY +5M4)RB4 +ZLC)1ZR +FQ5)22H +KDZ)M73 +F5Q)4TS +P1X)8VR +TTZ)WFN +ZTC)TMR +K4N)JLT +5HY)TWV +Z73)Q5G +9CG)JH7 +X79)9SP +3BD)PJZ +3V1)N1R +GR2)M9L +C16)LLG +W2G)7BX +3NR)NF2 +LYN)FK4 +4G4)GTT +ZLC)CTZ +4Z7)HJG +L5C)S1W +RZ2)9DG +643)M1Q +B1Z)7WJ +9D2)MQR +MNM)3N8 +5MT)Z38 +84P)K4C +QLG)Z83 +2RT)97G +1V3)2YK +LD2)P13 +3V1)1BX +WK3)Q7Z +ZVB)5MT +RFQ)WW4 +CDF)V7F +VQ8)BSN +JLT)CFT +W9B)R89 +NJS)385 +HT5)7YY +NYX)BQB +G1T)5PX +4JD)WBB +D8Z)GGP +TVN)3R9 +ML3)QDW +JB9)N5L +NQT)BXD +VNH)6HQ +141)H5N +R99)NZX +2RH)BTN +XNG)YTY +N1R)WKB +4L8)9ZL +F2P)N3M +BYF)4FL +2FC)41D +6CT)FH8 +MXY)L1P +VJR)GYD +JWV)Q4B +7C2)WJP +MB3)XQH +N6J)31H +2SW)ZH8 +B9P)C38 +HBQ)B3B +YTY)MNY +FLH)RL2 +9XV)M5F +PWT)86B +V1W)SRR +6HQ)FJ1 +2HZ)ZVB +6C9)4MF +VKP)Y2D +41D)X5M +C97)WY9 +PQ1)M15 +GDC)YKJ +74P)KL5 +7D7)WXF +QR3)DX9 +2RQ)RXZ +QH4)SRN +G1V)3FL +MR1)ZP9 +FJ1)1YB +G82)B8H +749)W2G +HXH)Q7M +X5Q)355 +T9T)4RJ +2FM)LYN +21P)1CP +TJJ)5ZM +2NW)LJN +GGV)TTD +K3G)WCM +GMV)7S2 +JHC)7WL +BWT)311 +W87)7YW +9KB)H8B +Y6S)WK3 +MXX)VJR +3VP)SS2 +M15)DMX +YC5)44V +3J8)W8D +SVF)LD2 +RW5)L1H +PDK)PNW +BBV)D4Y +GF6)D24 +FSJ)WV9 +VCN)NXX +W3Z)JT6 +PJ5)4J3 +YJM)TVN +866)ZW7 +Q3T)KPJ +K2S)6CT +N6J)BJH +6Z2)JWF +XG5)JNX +7SF)2XK +311)KDR +72T)HJL +ZCP)CPQ +Z25)FJ6 +MH8)GJ9 +K6X)JB8 +TJJ)5N6 +XF2)KWS +CMK)SKK +NGV)FRJ +P8C)ZTG +QWT)C97 +QY5)3GJ +XDB)DBT +6FC)QK6 +LMP)7GB +B72)3TV +K63)WN2 +TMW)4Z7 +NW6)9MT +Q6C)3V8 +7LP)HYH +SJM)HH3 +M57)D76 +5J2)MB3 +YPD)Y24 +VS7)L99 +HW7)GGJ +5TS)D16 +BYS)6TD +SZL)F9B +9C8)71K +8GP)VFQ +HFN)P3T +K9V)RKG +6QS)72T +SW6)6DT +H4H)ZFX +XHL)NPC +YLH)QLK +WMC)PQ8 +PQ8)FG5 +7GF)B61 +SSK)631 +G5R)3TX +822)G4Z +WNR)KS6 +SKK)XK8 +31H)Q4P +RZ7)BDQ +P29)9YC +HZX)P8C +2YK)RWB +88V)9YB +ZRH)HXS +HQC)JRW +T14)D6S +BTH)KPB +VTR)L1B +2RM)XM6 +L15)789 +JGH)VQ6 +KDR)NJM +5VC)KWB +HRJ)ZH6 +YQM)BXY +C31)2MJ +RTF)JZ4 +MHK)GLW +BPJ)LKB +744)DF9 +TBW)6L1 +ZCY)F1L +WB7)6JK +K7Y)VH1 +9MY)VKP +385)377 +JQL)L34 +SRY)ZGJ +7M6)B42 +SMR)M3Z +V37)LDJ +PD8)6SG +VKQ)46N +L4H)V1W +KNL)TDJ +7MG)9LW +HW5)P29 +97G)DJ7 +T6P)1M1 +C3Z)9NL +PNW)XBV +D29)JNB +4KK)CPF +VTJ)HCG +RSZ)3SS +MY5)6ZG +33L)9GR +3SS)18W +NN1)SJM +FJ6)2CP +ZHK)127 +232)SN5 +PSX)1G7 +HDH)VS7 +JM6)4QT +BXD)3ZJ +KS6)M3Y +HLQ)8JL +JWF)QHR +45K)P9F +BHH)K9V +46H)GJW diff --git a/src/06.rkt b/src/06.rkt new file mode 100644 index 0000000..1002ada --- /dev/null +++ b/src/06.rkt @@ -0,0 +1,38 @@ +#lang racket + +(require "../lib.rkt" + graph) + +;; Given a list of strings of the form "XXX(YYY", +;; convert it into a list of '(1 XXX YYY), +;; representing a weighted edge graph from XXX to YYY of weight 1 +;; so the distance between two vertices is the number of orbit jumps +(define input + (map (λ (str) + (list 1 + (string->symbol (substring str 0 3)) + (string->symbol (substring str 4 7)))) + (problem-input 6))) + +(define input-dag + (weighted-graph/directed input)) + +(define input-udag + (weighted-graph/undirected input)) + +;; The number of orbits (direct and indirect) of a satellite is +;; its distance from 'COM, so the total number of orbits is +;; the sum of the distances to all satellites +(define part1 + (let-values ([(dist-hash _) + (dag-shortest-paths input-dag 'COM)]) + (sum (hash-values dist-hash)))) + +;; The call to fewest-vertices-path will give the number of vertices +;; between 'YOU and 'SAN inclusive, so subtract 1 to get the distance +;; But we want the number of orbital transfers, i.e. the distance from +;; the object 'YOU orbits to the object 'SAN orbits, so subtract 2 +(define part2 + (- (length (fewest-vertices-path input-udag 'YOU 'SAN)) 3)) + +(show-solution part1 part2) \ No newline at end of file