aoc

commit f09726471c0113b3a9e94d60e4537ef0fe2fca4f

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()