Author: Honza Pokorny <me@honza.ca>
Add d6p1
006/input | 1272 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 006/main.py | 73 +++
diff --git a/006/input b/006/input new file mode 100644 index 0000000000000000000000000000000000000000..43a2bac211778a4e33de455ae9a7b4e2095c53a5 --- /dev/null +++ b/006/input @@ -0,0 +1,1272 @@ +6CF)4J7 +RC4)H87 +LMS)RL4 +KGS)1QW +H8N)KW5 +JJM)YPS +P1W)ZKT +BSY)FMR +9T5)JK4 +2X2)NQ5 +H6R)FLY +8N9)H7L +5LR)TYT +VM7)V5V +GVF)Q8P +PQV)9NB +4W3)V84 +H59)B3G +RGW)82C +BTQ)VRF +KQW)TNC +RT3)JHN +ZLY)15X +YJJ)55L +8Q2)6S7 +963)PNL +8F3)WPH +H2Z)LMN +MFK)DMJ +JGN)H4X +P1C)Y9K +92D)8YS +2M2)PQ1 +YY6)PRG +3J8)LBX +2WD)TK3 +CNS)BJL +B53)JJ5 +NND)CBM +FHS)RP5 +RMS)6VH +FBB)QVC +SD2)WPN +BXL)76Q +V8H)LCW +MXC)2W2 +CCX)KC9 +JSQ)2T8 +7HM)D24 +XN9)N36 +J3X)PRZ +6VQ)8ZV +QR4)MTL +KVT)V47 +PXR)VFJ +VZN)P7W +WK6)72B +R46)J6N +5M4)LZB +4PL)V6R +WWR)BJ1 +TPX)NRM +BS7)X7M +JJ5)8N2 +V9N)D6W +7K2)2LZ +3JZ)FV1 +2DJ)6N1 +RC5)L5D +2RG)FK8 +V8M)CL6 +KLY)MBD +DMJ)KVD +6M6)6WX +HB1)1HD +KJW)G61 +HZF)B1Q +2N4)73R +H8G)8XL +ZGK)RSY +35Y)FSR +H34)GLB +9MV)WR9 +NBS)RV6 +6QM)KLM +HN3)K2T +LCB)GNZ +LDJ)D3T +5PC)512 +BXH)6MZ +XS7)W5B +LF3)6LJ +3Z8)ZTJ +3NT)9D9 +65F)JVH +V6V)C9B +KTQ)KG8 +6WP)92D +X4M)WGG +66R)B53 +B5C)2MP +FC4)6T3 +WWR)VRD +9DG)P94 +XFV)TQQ +4LK)V21 +2H8)HVS +JHN)QHZ +2GV)VSL +581)XRN +THC)ZGK +CB8)R2T +FN9)4Y9 +1KH)RHQ +YF2)FNW +ZBW)JLW +YCK)R9D +2SH)X2M +512)W7P +TDK)FN9 +TH8)HQZ +JK4)P62 +BLG)CWW +V84)VYC +BTY)NXZ +8GC)DX1 +CN5)YPZ +Y6J)CQP +L1X)NXF +SQ7)3QL +8KD)PS4 +1SW)RHW +7X4)S86 +RGS)581 +2BC)DVS +6J8)XXQ +Q3S)TKF +T2K)TRL +NY4)16L +96Z)NMX +J1W)YRJ +8C3)29M +VRF)VX2 +LD6)Y6M +RHX)FN3 +J6N)LMY +BSB)JXV +PN4)L1X +M92)JPT +TBX)324 +8RN)QKN +GNZ)J2D +GZ1)WJ4 +783)96Z +SLD)L3C +9FK)V9L +D3T)PM2 +1JL)MKH +CKL)PYR +SZD)YF2 +8LD)4GQ +MQ2)JCP +CTW)GZ1 +M7W)8NR +FWH)GBQ +1CX)BTC +YJL)RGX +FLY)ZDD +NCJ)8GC +PM2)2YG +T82)KM8 +4M3)Q71 +LGQ)JYC +K4Y)287 +J48)THC +CNV)NCJ +9P7)SZY +QXP)XM5 +S5Z)BSY +59Q)SLL +S79)16C +W66)JL4 +L6Q)CZ2 +7CB)7HP +DQ4)CLP +PQ1)FCR +5QP)163 +RJB)H3J +CH5)25F +TQG)VLN +SDT)J67 +1VL)X2B +5SM)G71 +RSY)1J4 +CZP)XNT +57T)37Z +1J4)3B2 +7X4)WNS +BNT)NND +QMS)DVH +VW6)6QM +VFJ)4XH +17T)NLM +N8T)7HM +QPS)7LM +XXQ)2KV +WBS)8RF +95F)3Z8 +NR1)WQM +S75)WNT +ZJ5)7WS +YNF)RDQ +2DY)XBV +7LM)V48 +C78)64H +VHR)L2P +V47)9QN +9C5)Y5S +9D9)QDT +7DC)2DJ +H8P)H6P +QH4)X4N +K19)CYL +CXY)CMV +G8D)FDN +4Z3)LVF +V1Z)YHN +GM3)B2Q +LVF)VZH +2LZ)YOU +FNW)1R5 +36J)2QT +2Y4)69H +LTZ)JGN +GTN)MZ3 +FQX)WZP +3M8)P7L +16L)H78 +9B1)NTB +PB7)86H +Z3P)T9T +M1X)KK5 +6PS)5FQ +55L)2WZ +174)6GC +86H)2W7 +WXH)R15 +3B2)3Q6 +BGQ)SPZ +1QW)NJT +WCK)5R8 +ZKT)MTH +Z7S)67J +FK8)5J4 +WJM)H83 +4Y9)Z9B +LKC)3MW +6FM)MC3 +163)68L +XJS)2PD +NVB)C8Q +WTV)S32 +V9L)SVG +5HW)7LG +BTC)DX6 +TKF)2DX +JJK)NPF +LQN)DSV +21B)JTT +9H8)ZY4 +72B)W1Y +MF8)M3Q +6WF)SQ3 +N34)4HL +1KB)32T +VYP)H6F +TTC)XHP +QM4)H2Z +NRM)7FK +ZGK)V13 +XRN)361 +324)ZMX +1PY)PH7 +PDS)VLX +M88)XD4 +1DZ)VF8 +YL2)J9J +6GB)NR1 +VX2)JJM +X4N)FN1 +KK5)MZX +7ZT)GLZ +JDG)GGM +Q4N)8RN +JYC)N5Z +MTL)SPD +1KQ)135 +9JX)FHS +NSF)PYT +QWF)QX9 +FY1)48P +V4W)GXX +L5D)8KQ +P1C)F46 +5R8)M1X +NSM)SV5 +366)CXY +D24)Q83 +ZKG)SD2 +QKN)MC4 +P4P)RK6 +9QN)K4Y +38D)TJH +RG6)SZD +JL4)GQQ +Y6M)3NT +FR7)C3Q +DNH)7YW +SDL)M5X +JFT)YY6 +5D9)KVT +JBL)GM3 +C4V)FYC +KW5)Y7D +V76)VSH +CMV)ZKY +TK3)5KN +KDS)X34 +NMY)QYZ +MDP)GVL +QSS)CY8 +QFX)ZN1 +Q54)VJP +VSH)3DK +ZY4)B19 +X6Y)15G +L3C)78D +LDV)SJT +8M7)6VQ +22Z)BTQ +RHQ)NFK +9NT)DQ4 +C9B)WB9 +HGD)QXP +YDX)YMZ +VMQ)8C3 +9RM)QTY +GQQ)9C1 +LSG)KJW +6MS)GVF +ZTL)LLK +S86)W19 +1FV)LGQ +C8Q)P4P +DMP)Y1X +48P)LGX +MZ3)9B1 +LKH)2WL +NZJ)TNJ +F67)L34 +9Y3)783 +ZNJ)6WF +WX6)ZSC +15G)RTW +QHP)9YN +DQH)KY6 +4LF)LY8 +XHR)GK1 +3MW)SRY +Q8N)RPX +R9X)SZL +V85)FR7 +MVW)QLB +1DY)H29 +43D)NY4 +MKH)SBX +5FQ)ZT8 +P97)2JM +DSV)RGW +37Z)5SJ +3WG)KTQ +Z9G)2N4 +K7Q)HQV +BX1)2H8 +7WS)G27 +WHN)2DL +YHN)9YB +1JN)BGQ +PYP)VQ8 +VXC)917 +13Z)XTZ +9WT)N8Q +VVH)MP7 +WDM)RC5 +G8T)WHN +VYC)MR6 +XM5)FWH +N8Q)V77 +2YM)HH9 +L4J)8G9 +1TG)S6H +XCC)TD8 +KRF)4KZ +19N)9FK +SMS)V1K +8N2)MZS +869)8F8 +JGD)PYW +76V)CLW +NDZ)VM7 +VLX)6WD +895)38D +1XZ)Q34 +VF8)1F6 +TNC)7DC +16C)MWQ +LDJ)C4L +ZV6)7XJ +NXZ)H34 +BLS)4MM +GG6)NKG +BCD)KT9 +PYW)LSG +LNP)7XQ +MZX)BY9 +RGX)J8P +S32)DSS +J9J)LTZ +39P)S75 +CNS)PDZ +PYW)CHG +Z19)V8Q +68L)9WR +V6R)MVW +LLK)MYP +9MV)MQT +1FH)4CK +P4N)MMM +4TD)96J +V77)CH4 +MMW)CTW +MLN)3CS +W8G)2JS +4KZ)HBT +5PM)6PP +C81)JSQ +V11)WK6 +FCR)MVH +YR2)KLY +W1H)XTX +SKL)NQG +2YM)VL7 +M8K)6HN +1K6)JX8 +ZDD)H1W +4JW)NV8 +GS2)CMP +RDM)7XB +3QB)GTN +D6W)MJT +NRK)6PS +7WS)B1L +PKH)L4J +G61)WTV +2T8)8Q2 +TL6)W7Z +1TC)KXM +1VL)DZD +LVZ)1DZ +1TQ)S3R +7BY)ZB6 +JPT)1JN +LF3)K91 +37D)LKM +9LN)VZN +MQT)Q1F +M6X)GTS +CNH)1WS +6GC)BSM +1F6)88V +FKP)XQZ +QX9)5SM +1HD)VP7 +MMQ)RT3 +QXX)9P7 +GLT)SQ7 +HQP)TLR +K2T)P6X +TTZ)Z7S +D49)3NV +DFD)V29 +LPW)877 +ZKT)BXL +YHN)TKD +FV1)9Y3 +3ZB)57Z +WN1)35Y +SQ3)ZCF +DJF)ZNJ +R61)LCB +BMX)YFT +W5B)3VM +46C)174 +BJ1)2XP +XZJ)KN9 +2D7)N8T +TTF)KDS +1T5)8M7 +Y5Q)SKL +6C8)WHW +QBH)6PZ +6RD)7BY +Z2Y)1KB +J3Q)X6Y +PBR)2D7 +JLW)2CY +RP5)54P +PYT)9HC +N5M)FY1 +MWG)N2M +V1K)M7W +55L)869 +M3Q)Q8N +FSR)ZV6 +MX8)RQF +LKM)SAN +KKP)WDM +FN1)1DW +WB9)VDR +G98)RMS +H7L)CCN +TL3)LJF +YNZ)K8V +KL2)66B +M28)P9Z +Q34)Y28 +TNJ)NSM +W25)R9X +8XL)GS2 +ZB6)26Z +BYR)5QP +MVH)BNW +TKD)P1C +9JW)WX6 +8LC)J3Q +H8F)Y14 +347)7SJ +8VL)RC4 +38T)1FV +9FM)M39 +CH4)LVQ +LNV)QPS +H87)FPL +9YN)LKH +9HB)PBR +9WR)NWL +X7M)BYR +3GM)N7X +67J)RJB +2XV)LNV +3VX)WWR +1R5)VMD +9HC)BTY +GVL)CVB +D8J)5LR +M39)VW6 +NPF)MFK +7NQ)6M9 +3DK)P76 +ZQG)J1W +JCP)TBX +DX1)9DG +917)LDV +CBT)M9J +G71)H8P +4J7)FZJ +RGX)CB8 +63W)P1W +V8Q)2DY +H42)YGG +RY7)1V6 +W7Z)CYN +BGL)JJ8 +TLR)X2S +X4H)2SB +MC4)QR4 +Q8P)CCX +P8R)43D +J3R)VS6 +TPK)9H8 +D17)NMY +G27)9S9 +1SV)RWF +MQ2)B47 +L2P)VMF +V13)Y5Q +L5B)YJJ +WNT)MZF +B47)WN1 +KN9)9VX +LFJ)GPB +F82)855 +BD5)MLN +SBX)CBT +7XQ)H65 +VJP)6WB +PH7)WKG +LBF)1SW +2YG)FSB +7LM)8DN +913)5D9 +VLN)BLG +FM6)5PM +5W2)7W8 +BY9)6M6 +ZN1)FP5 +2WZ)BSB +D24)4LK +8NR)R8W +414)QSS +ZMX)4TD +3VM)ZLY +HT3)LDJ +XDR)CJ6 +R2T)22Z +L34)RY7 +7FK)17T +X2S)TTZ +714)9C5 +BNR)GYJ +RQF)KQW +3F9)GWN +FL6)DNH +6WB)YL4 +7MT)V1Z +Q1F)LBY +PS4)Q54 +82C)MDP +77H)MGJ +CVB)DXB +HGD)FBB +ZTJ)XH9 +FXS)JP8 +KB9)WYZ +C4L)XG8 +C3Q)YR2 +96J)F8M +W53)6C8 +LZB)L6Q +Z78)62Y +361)G8D +FY1)RDM +S5Z)V9N +23W)PN4 +SRX)Z3P +PRZ)PXR +7NF)R58 +QTY)WY4 +897)V3S +GVF)ZV3 +PTP)21B +37G)H59 +Y3R)LVZ +CWH)C81 +W9M)GXC +V29)CKL +NXR)91Q +Y84)6RD +G2K)2JD +MR6)1CX +QDT)F67 +ZM3)1BY +XHP)H8F +WVL)9JX +NRM)Y4R +CY8)CHJ +H6P)XJS +96Z)MT8 +P6X)4M3 +XQZ)SC7 +J67)3J8 +GCR)V85 +H65)ZM3 +K4Y)W74 +WPN)6NJ +F46)LG7 +H78)NXR +LBY)G98 +FZJ)63T +21B)CT7 +7G9)414 +2D8)G7Z +QLB)VTR +1V6)VGH +R15)LQP +2QT)Y3R +Q83)7YN +BXL)NV4 +J8P)JDG +76Q)C4V +SZY)PTP +7SJ)7G9 +C8R)H42 +VW6)8LC +135)6MB +4XH)WJM +8KT)93S +G7Z)7NQ +9C1)GSW +TC8)J26 +3F4)W8G +CZ2)RPJ +9WT)BCD +LY8)533 +548)PKH +K2M)6MQ +2X1)HN1 +LSY)R9G +PVN)X3T +H3J)L65 +7XB)DT6 +DVS)XN9 +SGN)DS4 +NYD)WHP +DWD)C3V +LM8)MGP +ZCF)VSC +PXN)ZPT +7ZT)CWH +DGH)7K2 +VSL)4CC +FP5)Z9G +6F2)MWG +RV6)MNB +8TQ)GTB +YPZ)QL2 +14G)SMS +VML)XHR +Y4R)D46 +MNB)1K6 +FNP)9H6 +X1T)5JP +1DW)28V +76P)4MK +WW4)53M +WZP)B5C +DS4)1PZ +B1L)DQW +RHX)RGS +42C)CBV +HQV)9T5 +YDV)DFD +KG8)Q7R +72W)BSZ +369)ZBW +9YB)77H +MD3)YT8 +YGG)VYP +3QL)289 +X2B)548 +Y5S)R64 +9MM)P8R +W19)382 +RPJ)QQG +P9Z)BNT +DNB)CCP +6HN)DMP +MW5)SLD +WRS)HWD +ZKR)186 +WQM)LQN +NL4)JBS +WHW)TTC +WJ4)1T5 +R9G)FQX +2W2)8VY +P3H)V11 +243)XCC +SJT)7NF +3Y4)9SS +MP7)4ZD +186)BD5 +NZ3)913 +KLM)MMQ +8G9)5GZ +G38)YDV +85T)MX8 +V4B)9FM +8RQ)NQ7 +LX6)BMX +2SB)9MV +8KD)5VJ +J67)PGY +SD2)FC4 +GWN)R2R +VL7)3W9 +CB5)1TQ +5Q9)BV2 +M5X)PXN +HHT)3ZB +NV4)JYQ +5TY)XQ5 +RG5)NL4 +CLW)Q3S +NMX)K2M +VQY)T82 +FN3)CCF +TQQ)KGT +6MZ)KRF +N36)49V +Z8B)LSY +69H)M88 +DX6)Y84 +HQ7)1KQ +F1V)D17 +JQM)8M4 +QNV)Z5Z +NQ5)YJL +GSW)DDZ +6WX)3S2 +CNV)T5Z +2JS)366 +5JP)VPV +6LJ)6GB +YFT)347 +GTS)J1D +KC9)S38 +LBX)H8G +4NY)2KP +WHW)2D8 +W25)9M2 +R58)D8J +D17)88Z +8T7)8ZZ +7YN)HY6 +ZBW)WB3 +ZSC)DZK +X2B)R9B +VP7)GLT +2Q1)ZJ5 +ZV3)T68 +MTH)39P +SNY)4LF +2WL)JBN +WPL)D49 +CCF)VVH +HPS)9M9 +FYV)PQV +9N8)VMQ +92F)1DY +RWF)ZGM +CYL)V6K +3Z5)2Q1 +VCN)HGD +NV8)LD6 +KKV)V8H +6PZ)KVK +5VJ)KKP +GDT)NX1 +CWW)4JW +Y9K)7ZT +DB4)CH5 +DXB)VXC +SPD)4NV +YNV)4W3 +KGT)2M2 +YRJ)KV6 +X9Y)TDK +S3R)L5B +8F3)7MT +XWR)TM1 +Y8W)PB7 +PGC)SWT +Q71)2XH +Y1X)32Q +2PD)81V +FY4)X1T +J8M)W25 +WPH)2C1 +N5Z)DQH +ZKY)LM8 +HWD)3W8 +395)429 +3Q4)6NL +H4X)W8Z +WB3)MQ2 +5G2)JGD +F5F)W9M +88V)HT3 +GGM)J2X +FKN)P8V +VMD)3F4 +RHW)9RR +RMS)243 +MT8)Z8B +8YP)WW4 +VLX)F82 +3S2)LKC +8YS)9N8 +XTX)Y2V +VGH)4W2 +Z5Z)5BT +GLZ)FL6 +93S)CVW +J26)ZQG +JSX)CZP +9SS)WPL +L4J)YNZ +M9J)395 +5HW)8RQ +7K2)JBL +SWT)7T3 +57W)Y8W +V21)WCK +9M9)NDZ +KVD)FY4 +8WJ)1KH +W7K)HN3 +72N)M6X +C66)1VL +JJ8)4ZS +6M9)QT9 +RK6)BKR +7HP)S3V +H6F)XDR +4ZS)XZJ +R8W)4G3 +6NL)H72 +BGL)JP1 +V5V)5G2 +9M2)13Z +W7P)M28 +BNW)V6V +P94)RG5 +5G2)78H +2C1)HB1 +ZGM)7VK +CBM)6FM +5Y3)NR2 +FV1)85T +JTT)H8N +6C8)SGN +Y9M)BXH +877)DTS +JP1)TL3 +D46)C5Z +2XP)XY7 +H72)3VX +26Z)95S +RMV)QBH +69H)ZRT +2KV)897 +4MK)JF2 +P7W)DGH +RDQ)LX6 +2DL)MP8 +1PZ)GDT +ZTV)NVQ +KVV)NZC +22Z)9NT +B4W)S5Z +6MB)52R +B19)V8M +VRD)SDT +8ZZ)8Z4 +WKG)9HB +R2R)MD3 +VTP)CB5 +T5Z)J3Y +KVK)QCV +DTS)23W +PCP)2X2 +HN1)8KT +LGX)KKV +XG8)JFT +H1W)KZT +B1N)3Q4 +NQ7)9JW +FWH)TCR +JBR)SSB +SX6)R3L +QCV)CNV +H29)QFX +TM1)2YM +ZZS)HZF +9VX)PYP +Y7D)V4B +TD8)J3R +82P)WXH +855)P2R +3W8)92F +BQZ)8WJ +VTR)JQM +NR2)5TY +L65)N34 +64H)YL2 +1BY)TPK +Y14)XS7 +4KM)2BC +5H1)MCJ +T68)LBF +H83)SX6 +HT6)C78 +7W8)TFL +32T)QXX +TFL)FKP +CT7)5HW +QXP)NZ3 +8C3)6J8 +5GZ)FBY +V6K)9DJ +NWL)5W2 +W74)ZTV +429)369 +WYZ)Q7P +LJF)F5F +NVQ)S79 +X7P)1TG +4CK)7X4 +N9H)4NY +15X)H8Y +BV2)95F +WK6)9RM +JF2)46C +DNH)RZQ +LMN)GCR +CGB)YDQ +NXF)5H1 +8RF)TVM +3VT)LFJ +LMY)2RG +7HM)C8R +GLB)MF8 +5NR)QMS +CLP)V76 +2W7)NYD +4W2)4PL +JBN)GPF +J3Y)XWR +C5Z)MW5 +SPZ)65F +PWT)LNP +X2M)5Q9 +CH5)RMV +FBY)ZZK +8Z4)R46 +XH9)HT6 +FDN)76V +NLM)HCM +MP8)YDX +R9B)SBW +1TQ)963 +H8Y)CGB +5J4)FM6 +9NB)3VT +XTZ)3Y4 +CCN)714 +TCR)SRX +3W9)WVL +2DL)JBR +XBV)PBL +S38)B8B +SZT)Z78 +GK1)CZC +B3D)QHP +ZT8)DNB +TDK)KVV +HBT)MXC +VPV)ZTL +Q7P)NPD +QYZ)6WP +2KP)KGS +LQP)XFQ +LSG)8TQ +P62)72W +CPM)57W +2XH)XLN +R3L)DNY +TPX)X4M +KM8)64L +ZV6)82P +4NV)8N9 +JP8)FYV +F8M)38T +64L)NZJ +QCV)VML +SBW)QNV +YDQ)2WD +T9F)GZ3 +Z9B)8YP +KY6)2X1 +TJH)LMS +YL4)W53 +3CS)1JL +CVW)9LN +7DX)VTP +53M)W1H +NTB)V4W +PCP)TH8 +SLL)ZZS +MJT)42C +62Y)DWD +WGC)7CB +XQ5)LMM +NKG)P97 +NRK)F1V +BJL)4Z3 +7YW)6MS +WHP)6F2 +N7X)ZKG +WY4)JJK +NZC)G38 +GBQ)BGL +8DN)3JZ +641)72N +XD4)B1N +WNT)6CF +92F)HPS +GYJ)HQP +P1W)Q17 +R9D)5PC +PDZ)RHX +2CY)Z19 +W1Y)5M4 +32Q)2SH +BSM)NRK +QHZ)9G3 +MBD)36J +TT4)NSF +PRG)VQY +4GQ)QH4 +4MM)3WG +382)HC7 +V48)8T7 +CHG)J8M +N2M)NBS +2JD)PDS +SVG)5Y3 +T9T)QFT +52R)T9F +9T5)2XV +8ZY)1SV +RL4)VHR +S6H)1TC +MGJ)TPX +WR9)SQG +6N1)XFV +DNY)X7P +TYT)HHT +XFQ)2Y4 +KZT)X9Y +J1D)4KM +Y2V)W66 +NC5)N9H +MGP)2GV +88Z)37G +LCW)S7P +XJL)Q4G +9G3)KL2 +DZK)CNS +NJT)BS7 +SC7)K19 +HVS)SZT +P7L)14G +NTB)YNV +1NH)8LD +WNS)8VL +Q17)N5M +MQT)LPW +PGY)1FH +78H)M92 +8ZV)BLS +FSB)BX1 +9FM)9MM +FPL)GG6 +29M)9NY +P76)8SN +COM)PWT +9DJ)8F3 +LVQ)Y9M +C2R)SDL +6NJ)WGC +4VX)RYG +8M7)63W +MZF)59Q +61G)895 +25F)W7K +28V)9WT +ZZK)T2K +L6Q)19N +NFK)P3H +B3G)CN5 +P2R)1XZ +NQG)95L +HY6)1NH +BSZ)CNH +4CC)H6R +JX8)8KD +91Q)YCK +5SJ)B3D +KV6)57T +JXV)4VX +VS6)KB9 +NQG)QWF +FMR)RG6 +DDZ)MMW +B2Q)X4H +YMZ)PCP +MMM)BNR +SZL)36D +289)G2K +YT8)TT4 +9HC)TTF +QVC)TC8 +VMF)FNP +CL6)Q4N +95L)SNY +Q4G)R61 +8M4)B57 +JYQ)C2R +VDR)3F9 +4G3)C66 +R64)BQZ +X34)QF1 +DQW)XJL +GPB)QM4 +C3V)CPM +4J7)66R +95S)37D +B57)ZKR +78D)61G +CYN)NC5 +CMP)FKN +HQ3)VCN +CZC)JSX +K8V)G8T +KT9)WBS +VZH)Y6J +9H6)PVN +CCP)3M8 +VP7)DB4 +KXM)TQG +5KN)Z2Y +QL2)LF3 +9NY)FXS +8VY)M8K +JBS)B4W +DZD)P4N +RQF)3Z5 +3Q6)WRS +GXX)5NR +63W)3QB +W8Z)J3X +6VH)VJ6 +4BW)YNF +MC3)TL6 +SLD)J48 +MYP)HQ7 +DT6)G8J +GPF)1PY +6PP)KFB +GZ3)76P +CHJ)3GM +DX1)NVB +7LG)8ZY +QF1)HQ3 +85T)7DX +6T3)K7Q +49V)4BW +Y3R)DJF +4HL)641 +FYC)PGC \ No newline at end of file diff --git a/006/main.py b/006/main.py new file mode 100644 index 0000000000000000000000000000000000000000..96aef88c9cb279a6c552cfe4c83f846f40572cd7 --- /dev/null +++ b/006/main.py @@ -0,0 +1,73 @@ +from functools import reduce + + +data = """COM)B +B)C +C)D +D)E +E)F +B)G +G)H +D)I +E)J +J)K +K)L""" + + +def add(a, b): + return a + b + + +def assert_root(lines): + orbitors = [] + orbitees = [] + + for line in lines: + a, b = line.split(')') + orbitors.append(b) + orbitees.append(a) + + orbitors = set(orbitors) + orbitees = set(orbitees) + + root = orbitees.difference(orbitors) + assert len(root) == 1 + assert 'COM' in root + + +def count(x, k, n=0): + c = 0 + c += n + + for item in x.get(k, []): + c += count(x, item, n + 1) + + return c + + +def main(): + x = {} + + data = open('input').read() + + lines = data.splitlines() + + assert_root(lines) + + for line in lines: + a, b = line.split(')') + + if a not in x: + x[a] = [b] + else: + xa = x[a] + xa.append(b) + x[a] = xa + + res = count(x, 'COM') + print(res) + + + +if __name__ == '__main__': + main()