Created
December 7, 2019 02:42
-
-
Save theglauber/4f2cd6e6dfa1738f27ad34e267cf1417 to your computer and use it in GitHub Desktop.
Advent of code 2019 day 6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
YQ2)CYG | |
63M)X4N | |
7YF)LRN | |
K2B)PVC | |
394)195 | |
W68)QNR | |
XDS)SX7 | |
JWG)789 | |
6RR)4R1 | |
S9Y)M1X | |
VDC)R4V | |
7G4)4YZ | |
XK2)K4M | |
R7M)ZHC | |
Q14)ZS1 | |
GJF)4RM | |
YQ2)K4G | |
T98)2GB | |
YRP)3Q9 | |
SD7)XRN | |
DYR)GQZ | |
4NV)T6C | |
8LL)WLB | |
9GX)T7C | |
673)Q4F | |
V2F)B5Q | |
BZN)RPX | |
Y2T)X6B | |
P89)F2S | |
WFQ)JNL | |
JJ7)QK7 | |
HYQ)RWS | |
Q97)V15 | |
NHX)XND | |
MHP)P5L | |
PPL)H6G | |
KVV)535 | |
8NK)9FG | |
B6X)6MG | |
MX2)T8M | |
7NC)V6V | |
ZP1)SN7 | |
FY5)PJX | |
J9S)H1F | |
LRZ)VPY | |
PSG)S74 | |
DGK)N44 | |
QJ1)BRR | |
2XM)LVG | |
ZG1)QNQ | |
72L)QJ1 | |
GNQ)XT4 | |
1XJ)PKH | |
T3M)ZB7 | |
JQS)B53 | |
CNV)7PL | |
4MF)9YJ | |
9FG)RKT | |
WKZ)GNQ | |
TR5)NNB | |
91T)NCN | |
1K1)YYJ | |
7W7)8MQ | |
PTB)4FS | |
X7S)88Q | |
RRD)17D | |
PM3)8DL | |
5X9)BYV | |
1MX)7R4 | |
6ZT)34D | |
514)9Q7 | |
PW8)B6X | |
DJZ)MWR | |
JW5)JL1 | |
8QJ)LYF | |
JKR)BGW | |
QDN)BPT | |
G83)DSM | |
W2G)R1S | |
PRH)K9W | |
S4P)XH3 | |
4CK)FLF | |
LN4)CPB | |
L2J)CPX | |
B4G)V7Y | |
343)1SG | |
QVS)62F | |
9YX)LL1 | |
Q24)S23 | |
BFL)9PN | |
Q5H)7YF | |
HT1)9SG | |
DGJ)Z8Z | |
NJG)LQN | |
6DQ)211 | |
PKL)4NV | |
91J)BBK | |
V8W)TFB | |
Q4F)644 | |
RYB)SBJ | |
1PX)626 | |
PV8)RHN | |
KZP)861 | |
VCS)V29 | |
ZWV)BGV | |
XF4)XC8 | |
CZG)3C6 | |
GVL)RWJ | |
MHC)KM8 | |
RQR)C8L | |
YQN)T6Z | |
WQF)8NF | |
BNF)RZP | |
MTJ)7W4 | |
1Z4)QF4 | |
Y7T)FQG | |
RRP)914 | |
J7D)Q4D | |
RWH)95J | |
PYM)XF3 | |
JNF)PD1 | |
RV6)514 | |
956)3RJ | |
PSY)NW6 | |
TV5)MPW | |
SPH)7RY | |
WSP)8V4 | |
66Y)B5W | |
W6M)6T5 | |
MB7)VX5 | |
RX9)9Q5 | |
731)Y7T | |
SCR)DXH | |
F8S)6HP | |
G34)XRW | |
QWC)Q57 | |
GPQ)JJH | |
LTY)RX9 | |
T8M)QXX | |
7JN)RGZ | |
T5V)771 | |
9ZY)9V7 | |
HCX)2H2 | |
ZQH)4CL | |
1TJ)VSH | |
3G2)KWX | |
D3P)5RD | |
X16)91V | |
T73)3TN | |
PCZ)5HG | |
DRZ)Z9D | |
M5M)LCY | |
5T8)66Y | |
RW9)HR6 | |
J4V)KTL | |
JL1)1GC | |
7JY)FT8 | |
4MR)PVT | |
1Y3)LC1 | |
VLG)LSP | |
PQD)FJF | |
LP7)4CB | |
BYW)8F8 | |
ZWB)H35 | |
9RX)CLD | |
BWY)7XZ | |
TB1)T3B | |
NDZ)2D5 | |
R1K)VVM | |
LC1)8QX | |
L6L)G5N | |
8F7)BF2 | |
7KD)MYW | |
N2H)Q1D | |
W5X)S98 | |
49M)GD7 | |
MRD)L9Z | |
QYP)4CT | |
SH3)VQZ | |
MHF)FP1 | |
VJN)NFX | |
Z81)N5R | |
41H)8HW | |
Z5B)CNW | |
S3S)LP7 | |
P2C)XW7 | |
5F9)KWT | |
NL1)KQL | |
FLV)8QJ | |
77L)VCS | |
1PC)L1N | |
S45)JMX | |
1S6)K8C | |
D4D)CTB | |
5T4)KCM | |
SZP)XKL | |
3GX)343 | |
PK7)ZDY | |
V84)ZJ7 | |
JJZ)CH5 | |
6Q2)4GX | |
SX7)5F9 | |
535)BYM | |
XHM)533 | |
4R1)B4G | |
V6V)RRR | |
1YY)1TF | |
G1X)GMY | |
N28)H96 | |
Z1B)W2S | |
9JK)28M | |
G2R)WGV | |
KY2)QD3 | |
XKQ)D4D | |
5T2)DQ4 | |
QF8)V84 | |
K7L)LRH | |
H3G)NF4 | |
FWM)NFK | |
MRJ)96X | |
PXB)YQY | |
L9Z)S3S | |
XW7)R94 | |
G2Q)XK2 | |
SMW)Q5Q | |
MDK)7HP | |
T9R)KCF | |
DLB)SMW | |
4FS)2Z5 | |
LYF)1MX | |
D1P)WRT | |
8FX)19X | |
VP2)66N | |
VVM)PNP | |
MDB)XXW | |
ZBF)ML7 | |
57K)5T8 | |
675)QF8 | |
PFK)XSZ | |
CTB)T69 | |
BBK)WCF | |
1JQ)Q7S | |
Z4H)3R8 | |
45F)76H | |
PKS)1W6 | |
MW9)J7M | |
GM4)4T4 | |
6LG)977 | |
KVZ)4CK | |
9LS)GX5 | |
5VF)CK3 | |
NLG)P6F | |
41N)KV7 | |
RYK)56N | |
BYJ)64G | |
3VZ)K2Z | |
2DX)7K8 | |
TKK)3GX | |
W7N)V7N | |
GKF)8G1 | |
H1L)VSK | |
YM9)9RX | |
DWF)X75 | |
KQ6)5T4 | |
NGL)HS2 | |
XQZ)4KN | |
J4Y)TWJ | |
18H)VJY | |
LVG)L1G | |
JX4)54Y | |
WWC)QH6 | |
G2Z)1XV | |
RWS)HZ4 | |
4NF)KLT | |
NFX)L41 | |
PJ9)6Q2 | |
KGW)J1R | |
7TX)KQS | |
3RK)98K | |
6NZ)7NT | |
9S3)DN4 | |
8F8)2J5 | |
ZNS)5H1 | |
V6G)GXH | |
4KN)JND | |
2DG)63M | |
SCR)5XF | |
R94)G2Q | |
ZXP)5B9 | |
PBB)ZS5 | |
44V)DGJ | |
MQQ)K47 | |
BFM)VH1 | |
QC1)L6L | |
LMW)R1K | |
6BZ)8RT | |
VSH)CHX | |
QMB)91J | |
54Y)5YC | |
L41)GQ8 | |
34D)N8D | |
FV4)86Q | |
6BD)P7R | |
S3D)7KD | |
D44)YYX | |
9D6)SPH | |
1K1)Y6Z | |
KRN)3RK | |
N44)5CR | |
QT7)PZH | |
WWM)LN4 | |
7PR)MNH | |
861)M5J | |
LNY)G1J | |
677)ZWB | |
7R4)62B | |
DLX)L3P | |
S74)6MP | |
PJX)J7D | |
VRJ)LGH | |
9R6)43D | |
X8J)Z9X | |
4C9)DGT | |
VR4)TX4 | |
8N8)K3G | |
M1X)L2J | |
BQ7)M8G | |
6DF)81M | |
7DV)PW8 | |
DGF)8JJ | |
6S9)38Q | |
211)44V | |
BGV)G5G | |
JWY)S1X | |
N9N)CQK | |
TWJ)DBT | |
3C6)VWM | |
YM9)JL7 | |
WP6)HQQ | |
HK3)XX6 | |
XND)189 | |
GZ6)151 | |
MHC)JXD | |
NKY)2HG | |
S2W)956 | |
XBG)71M | |
B78)LMW | |
91T)3GM | |
1YF)ZK7 | |
LGH)9LS | |
JLF)VFP | |
VKD)XGR | |
17D)1NR | |
P2R)FFS | |
9QG)R7M | |
2J5)V1T | |
2GB)9R6 | |
626)4BY | |
RX7)HCG | |
QVM)2H3 | |
3NH)R6Z | |
1Z7)W7N | |
8LQ)MZJ | |
1HC)FP9 | |
MVF)S9Y | |
QJM)NZX | |
H4K)MW9 | |
8LZ)ZL7 | |
LP3)Q24 | |
WQ4)19T | |
2H6)QB3 | |
XMM)DY6 | |
1TC)NWC | |
KVR)7NQ | |
SQM)K7L | |
2Q6)WRR | |
38D)14S | |
RSB)45F | |
N5R)GTN | |
VJY)3WC | |
RQ8)RLJ | |
M3C)SZP | |
LQN)T6S | |
3FP)WRX | |
YQY)JQ9 | |
LYF)6XV | |
SNJ)D1P | |
FYZ)8VN | |
RL3)V44 | |
YTJ)BWY | |
K48)5YJ | |
J7M)WQF | |
DVF)JJZ | |
N1P)GJF | |
C5H)LHV | |
M3Q)B8N | |
XC8)CX2 | |
ZQS)PKL | |
8FV)M25 | |
CM6)7PR | |
4HL)BKH | |
Q7Z)SAN | |
ZR4)9TY | |
T5B)WQ4 | |
27M)518 | |
56K)WB9 | |
KTL)MWK | |
CPX)FRG | |
S49)9DM | |
7W4)CQ1 | |
FSX)HCX | |
N9K)SPV | |
HRM)42L | |
3M2)DBM | |
CVP)2GK | |
WSP)15F | |
3TT)YKB | |
YZ8)T5B | |
64H)731 | |
P84)7DV | |
6Y5)3JX | |
GS3)XKQ | |
BF2)S7S | |
7TC)SQW | |
2WL)R1P | |
XV4)31N | |
RPX)NB4 | |
MY2)3NG | |
2G4)PBW | |
PBW)RB9 | |
K7B)MHF | |
Z8Z)JW5 | |
KLT)7P5 | |
4BY)N2H | |
5LQ)1YF | |
KM8)7V6 | |
7Q8)JX4 | |
JMX)QT7 | |
QDY)RYB | |
6VJ)BQ7 | |
NQY)5TJ | |
XB7)4HT | |
Y4W)FSX | |
M19)M9L | |
S2T)58V | |
33Z)PSG | |
FP1)743 | |
WVQ)WFQ | |
TVT)4VQ | |
XX6)FM7 | |
3VX)2LF | |
WHW)PDT | |
4VX)QZR | |
FJW)M14 | |
5XZ)PQQ | |
VMJ)R2D | |
6NZ)8LZ | |
VFP)RWH | |
WS3)9JB | |
QTX)PDX | |
2H3)SPB | |
CH1)VMJ | |
JF6)DCR | |
NDT)H9W | |
CQ1)6RS | |
XT4)T98 | |
MYW)SFC | |
8T3)N8R | |
T6C)CS7 | |
S8V)7BC | |
HDC)6PR | |
25L)4VX | |
DRS)9Y7 | |
2J7)KLP | |
COM)V73 | |
LWD)3CQ | |
GFN)31V | |
L1G)SY3 | |
Q8L)BZN | |
2HG)2J7 | |
JXD)7JN | |
1W6)G83 | |
5QG)KR8 | |
D2L)V2F | |
8G1)8G7 | |
CHX)6QK | |
CS7)2DG | |
9G7)24D | |
8Y1)PB8 | |
5RD)GQ5 | |
V73)C3L | |
4BG)9X1 | |
CX2)NJG | |
RJL)JJ4 | |
ZKL)Y7H | |
CJR)T5T | |
1XJ)Q5H | |
K9H)QW2 | |
FJY)YS3 | |
9SG)QVM | |
24D)KNM | |
SV9)NR3 | |
NPB)5VS | |
5C2)PFF | |
QXX)MSF | |
LB3)DLW | |
NLN)48L | |
21W)77L | |
N4M)7YM | |
WQ5)1ZQ | |
6RS)YTB | |
K47)D79 | |
PNP)M6M | |
896)BP9 | |
HLJ)YFX | |
WWH)LP3 | |
834)366 | |
HF6)CQ6 | |
CH5)1TC | |
WGJ)KVZ | |
JB5)855 | |
C66)T4Z | |
LL1)1Y3 | |
PVT)MBV | |
B55)W64 | |
3H9)Z9Y | |
89H)Z91 | |
Y5S)B6W | |
1F8)7SX | |
VP6)1L7 | |
KKN)QJ5 | |
LPW)421 | |
JTF)MDF | |
H4M)3WV | |
V86)6TC | |
R4V)2W6 | |
SP2)VCK | |
NP2)V68 | |
PVC)98Z | |
B53)GQK | |
QDN)QTX | |
NZX)1ZC | |
4Q7)Q5K | |
6ZJ)V83 | |
DW8)25C | |
743)6DQ | |
GTN)N9N | |
JWN)N9K | |
Y7H)3VZ | |
M6M)LT2 | |
64H)DGK | |
19X)CZG | |
DWC)P1P | |
7NC)Q8L | |
PCS)Q4B | |
PNB)Z98 | |
8SF)XR9 | |
PZF)71D | |
WPD)QVP | |
2Z5)MZT | |
Q5K)6FN | |
L41)S3D | |
VSK)H3M | |
ZL7)8FV | |
XRH)JM9 | |
899)3Z1 | |
1KB)S2W | |
RKT)5X9 | |
59T)TMV | |
R41)4BG | |
S4M)VR4 | |
9QT)R1Q | |
3YD)238 | |
Y7S)KFJ | |
1LT)KN4 | |
VP6)QYP | |
69B)LGV | |
ZTQ)Y6P | |
Y93)1G4 | |
56K)2KH | |
31V)9G7 | |
MZJ)V8W | |
PGW)TF3 | |
J8P)5T2 | |
Y35)9ZJ | |
2GK)WS3 | |
T4Z)NDZ | |
11Z)RQK | |
FBD)WWC | |
PZH)FZQ | |
3PP)575 | |
5GB)2H6 | |
M6D)ZV6 | |
CTB)LDS | |
WLB)2GC | |
QHJ)6RR | |
9Q5)BFL | |
Z6M)VRX | |
SJR)RP8 | |
5PT)3TT | |
FM6)N53 | |
Y2V)352 | |
TN5)KGW | |
CK3)D44 | |
4QN)7JY | |
GQ5)H79 | |
N8R)791 | |
JM9)ZVN | |
1NS)DWF | |
JQ4)YH7 | |
34H)6BZ | |
XXW)KQ6 | |
7P5)75Y | |
CB1)HQF | |
CQ6)6DT | |
43M)RSB | |
BS5)72L | |
HYT)BWX | |
VX5)KVV | |
FR8)RB6 | |
Y6Z)X11 | |
7GB)D3P | |
5LQ)TC3 | |
Q1M)PCF | |
WRX)HCP | |
977)6P7 | |
1W2)BKP | |
S8H)JF7 | |
98Z)S49 | |
FQJ)V13 | |
3WC)LTM | |
HRM)Z4H | |
5T3)3PP | |
JHP)SCL | |
B7W)PQD | |
6QK)T5V | |
CHG)LWD | |
2W6)XVJ | |
1NR)Q7Z | |
SPB)DYR | |
Q4D)QYX | |
4LT)43M | |
QYX)3QJ | |
KML)H2D | |
P4Y)59T | |
BYM)RYR | |
43D)JVR | |
Q9Y)G1X | |
QBL)7N6 | |
XDC)5SB | |
7YM)PCS | |
1DB)TM3 | |
FKF)VBX | |
XRN)Y32 | |
2GB)BPZ | |
YMY)XB7 | |
7Y2)YTJ | |
GSZ)12B | |
C93)9P3 | |
8PH)Y2T | |
V83)4QT | |
BBS)T1V | |
ZQH)VKD | |
DYD)T73 | |
YKB)XMY | |
CC3)BCW | |
7V6)P44 | |
XJ9)D8S | |
HYB)KVR | |
DCR)XDS | |
14S)5LX | |
4YZ)N1K | |
LTX)4MR | |
8HN)QBL | |
WRR)9WQ | |
WVT)3ZS | |
L1P)LPJ | |
V7N)RYK | |
SYW)M3Q | |
8GD)YW4 | |
PG4)S53 | |
LHV)4HL | |
LYP)X2G | |
TX5)H47 | |
B19)6LP | |
L9Z)SNV | |
PTB)NJV | |
3GM)16G | |
91V)JDK | |
S7S)7M2 | |
7PL)J4V | |
44L)Y93 | |
P89)YQN | |
8X1)YRP | |
W1K)69B | |
K9W)1V2 | |
4KT)1S6 | |
3NG)WY3 | |
Q4D)ZQS | |
9GX)RJ1 | |
B5W)NKY | |
7ZQ)7RC | |
1HC)J4R | |
VQZ)MHC | |
5YJ)J3H | |
2B3)YCG | |
9YX)394 | |
4NV)LRZ | |
WXS)BM4 | |
SZV)NGR | |
D44)PNB | |
Q37)T2W | |
PDT)HDC | |
NWC)TZN | |
1LT)5VF | |
19T)C71 | |
44Z)NCH | |
WY3)N4M | |
QBR)P89 | |
R1P)W2G | |
SYM)6ZJ | |
L3R)J6V | |
LJX)J8P | |
366)PG4 | |
1L1)DW8 | |
HQ2)4NF | |
FP9)BFM | |
9ZJ)DGW | |
575)LTX | |
DZT)MX3 | |
Y6L)3NH | |
V63)W5X | |
FSX)2GF | |
LDS)PPL | |
DXH)RJL | |
CVP)MHP | |
QKF)TKK | |
PX7)Y7S | |
WR6)TN5 | |
XH3)QMB | |
7F6)FYZ | |
BYT)X7S | |
PQQ)9YX | |
R6C)N9V | |
KXN)WSP | |
8P9)D6K | |
Q68)ZR4 | |
JJ7)NHX | |
P6F)BJR | |
V2L)BWV | |
MZT)BS1 | |
RYK)JF6 | |
RSX)4KT | |
P1P)CB5 | |
4PM)Y2V | |
2TX)7KG | |
6XL)JHP | |
H3M)6Y5 | |
JB2)6K8 | |
M4K)BP4 | |
7FT)XT8 | |
JBN)5RG | |
Z9X)QBR | |
2KH)Y35 | |
66N)G2Z | |
QF4)899 | |
6Q2)2WP | |
2D5)118 | |
J4M)9XZ | |
LRH)9GM | |
V44)TV1 | |
Y6P)BS5 | |
SZX)25V | |
BQJ)D4K | |
PDY)5QB | |
NGR)X8J | |
FTQ)T2S | |
71M)493 | |
5B9)76W | |
HS2)45J | |
N8D)7ZT | |
XKL)WWM | |
J6V)25L | |
8ZG)XWS | |
LRN)2W2 | |
189)BYT | |
Z23)J9Y | |
4Y2)NLG | |
Y7X)SH3 | |
ZB7)Q68 | |
R1Q)MY2 | |
HDC)SKL | |
VMD)5SG | |
29X)V25 | |
SJ6)HRM | |
MWX)J9S | |
1BV)TQZ | |
PKL)7GB | |
8DL)GFN | |
5LX)WVQ | |
9TY)1DB | |
MRJ)Y4L | |
M9L)M1G | |
PB8)D5N | |
7GC)8RN | |
9H7)85N | |
Q1D)YVZ | |
WK6)1XJ | |
CB5)DRZ | |
BP9)KRN | |
33W)1Z7 | |
9K7)4PM | |
6DT)G1M | |
HM8)PXB | |
KQS)XMM | |
KCM)YZ8 | |
DBT)3H9 | |
SCL)7Q8 | |
MKC)XPK | |
ZT8)VC3 | |
4T4)KP5 | |
M4W)WKZ | |
JF7)5KD | |
QMR)1K1 | |
S98)ZXP | |
K4M)XRH | |
Z9D)M19 | |
J5M)XF2 | |
62F)9XB | |
JDK)7X1 | |
81M)6W7 | |
QMS)PTB | |
7KG)W7Q | |
XKW)J21 | |
PYD)SJR | |
151)PFK | |
7N6)B19 | |
XPK)GS3 | |
2GF)29M | |
4QT)834 | |
GQ8)SNP | |
K71)677 | |
C8L)99R | |
NF4)5XZ | |
GMY)PGW | |
TJH)JNF | |
7ZT)8N8 | |
KNM)M85 | |
MC5)WFY | |
1PD)MVF | |
3Z1)Z6M | |
195)F7C | |
MBV)CB1 | |
3PC)QF2 | |
J3H)J5M | |
H9R)PCZ | |
D8F)NPB | |
R1G)P84 | |
GVJ)QMS | |
V83)2WL | |
4CB)J4Y | |
9Q7)RX7 | |
46S)SYW | |
28M)MRD | |
2YN)1NS | |
XGR)1HC | |
KWT)CJ9 | |
NMJ)QT4 | |
BP4)9K7 | |
PXB)HDK | |
71D)8VG | |
CK3)ZG1 | |
LQ6)33W | |
T6S)SNJ | |
9JB)WZD | |
56N)CVP | |
FX4)FJW | |
YS3)4Q7 | |
RF2)BNC | |
ZFV)T9R | |
88Q)PBB | |
PCF)GSZ | |
Y35)JJ7 | |
352)LQ6 | |
PVT)QVS | |
LCV)LYP | |
3TN)82Z | |
NW6)Q5Z | |
9BV)2TL | |
CYG)9BV | |
D6W)T3M | |
PY1)3PS | |
Y44)G34 | |
XSZ)27C | |
RYR)GZ6 | |
XF3)6ZT | |
V29)896 | |
VBX)KKN | |
WFY)33Z | |
XF2)HYQ | |
K4G)ZTQ | |
J1V)Y44 | |
5SB)WR1 | |
SNV)FF2 | |
8KC)MQX | |
ZS1)8X6 | |
15F)9KP | |
193)JB5 | |
43M)M95 | |
1TJ)JQS | |
SNP)WVT | |
3FJ)WGJ | |
JND)P2C | |
8CD)CJ4 | |
VSK)S2Q | |
J1R)PDY | |
F2S)XWP | |
7RC)3PC | |
914)FV4 | |
9XZ)4C9 | |
QW2)S3M | |
TM3)PZF | |
C53)VP6 | |
WRT)2G4 | |
ZDY)Z45 | |
BCW)46X | |
CGR)1MM | |
DY6)HV3 | |
YMG)TZ9 | |
8JJ)NRW | |
HR6)K6H | |
3PS)SYM | |
96X)7W7 | |
HKP)TYH | |
8HW)LJX | |
FGK)LPW | |
3CQ)Q1M | |
5VS)S8H | |
5TJ)4MF | |
RZP)KC3 | |
MNH)7ZQ | |
QJ5)F8X | |
8VN)BNF | |
ZCW)9S3 | |
1MM)V2L | |
BS1)NMJ | |
JJ4)1VD | |
5YC)WPK | |
MHM)MKC | |
4BH)VP2 | |
4CT)FJY | |
JL7)HF6 | |
BJR)BQJ | |
3DB)XV4 | |
7HR)3WZ | |
K3G)BL2 | |
VCK)YMG | |
6DF)FY5 | |
Y4W)DGF | |
KJJ)59Q | |
771)WWH | |
KCF)TW5 | |
YYX)7TX | |
DGW)PV8 | |
KLP)XTP | |
Q7K)3VY | |
151)J5G | |
G6X)18H | |
8VG)6VJ | |
7HP)YY8 | |
FRL)74J | |
X88)3FP | |
BKH)HPQ | |
JNL)4PW | |
NJV)91T | |
45J)BHR | |
BKP)CXG | |
16G)7F6 | |
QZR)SV9 | |
NNB)9QT | |
1G4)Z3H | |
J4R)T53 | |
7X1)72N | |
RRR)RL3 | |
644)DLB | |
B6W)7Y2 | |
CGT)Z32 | |
H79)QJM | |
PPF)D6W | |
QNQ)94Y | |
J9T)1TJ | |
X4N)6NZ | |
7W4)Z1L | |
G5N)FR8 | |
HYQ)HLV | |
F13)7S3 | |
7R7)C5H | |
RKF)G2G | |
M19)F9C | |
WZD)F8S | |
JLL)MB7 | |
S5J)TR5 | |
L1P)G77 | |
FTQ)VDC | |
2H2)TB1 | |
MPW)MDK | |
GC5)N1P | |
75Y)1L1 | |
3PS)4BH | |
LSP)44G | |
X11)SS7 | |
5MB)CH1 | |
SCY)VMD | |
5D3)2B3 | |
F3C)9ZY | |
4MP)RQR | |
TV1)SZH | |
42L)4ND | |
3P6)B18 | |
9GM)41N | |
X2M)PK7 | |
M95)H9R | |
TX4)4QZ | |
ZV6)FX4 | |
DSM)PRH | |
ZZC)DWC | |
BNF)JWN | |
6P7)JLF | |
9QZ)G44 | |
VC3)W7B | |
JB5)V88 | |
ZP1)5VL | |
RWJ)B55 | |
K4D)193 | |
J21)ZNS | |
3VY)7GC | |
VTH)WXS | |
R98)PM3 | |
V7Y)FPJ | |
72N)HT1 | |
7S3)HK3 | |
R1P)DZT | |
2TL)JB2 | |
6LP)YFS | |
QH6)6VX | |
V88)6BD | |
7M2)YMY | |
CPB)7R7 | |
R1S)RRP | |
35C)FZG | |
R98)KHK | |
GX5)RKF | |
S3S)MDB | |
38Q)NYQ | |
RHN)S4M | |
3LN)8KC | |
TL3)Q9Y | |
4QM)ZFV | |
XTP)DBF | |
9KP)H4M | |
Z91)8X1 | |
QK7)1BR | |
58N)KZP | |
T3B)W9Y | |
BF6)NXD | |
BWV)BF6 | |
XRW)X2M | |
WR1)GP3 | |
JN8)SCR | |
SYN)YOU | |
XWS)P2R | |
KNY)2L7 | |
G2G)BBS | |
6XV)HJG | |
Q7S)SP2 | |
9PN)FM6 | |
FPJ)ZZC | |
BPT)8NK | |
4PW)DVF | |
YDJ)XQZ | |
1VD)NK8 | |
RLN)XDC | |
WCF)N28 | |
FT8)VLG | |
3QJ)QDN | |
VKD)CC3 | |
7RY)84L | |
CLD)3M2 | |
9DM)XHM | |
FM7)FBC | |
L3R)BYJ | |
GQ5)K9H | |
Q5Z)G6X | |
D6K)8RR | |
HDK)49M | |
DLW)99D | |
2LF)W6M | |
FBF)J4M | |
5QB)GVJ | |
PKH)876 | |
MDF)V63 | |
CQK)PJT | |
1ZQ)WR6 | |
BNC)DJZ | |
WGV)MWN | |
SZH)JN8 | |
W89)HLJ | |
SBJ)58K | |
WB9)2TK | |
SPV)P1Y | |
YYJ)8CD | |
S23)5C2 | |
6HP)58N | |
533)3YD | |
RP8)L5B | |
11J)GPQ | |
FF6)JWY | |
27C)887 | |
LBJ)3CR | |
FLF)RRD | |
TTS)VQN | |
G5G)F3C | |
8RN)3CC | |
XKK)FGK | |
9XB)XBG | |
T9W)11J | |
72N)K2D | |
H9N)673 | |
R56)HKX | |
MWR)5TG | |
6MG)RSX | |
RGZ)SJ6 | |
VF4)WQ5 | |
DLJ)TX5 | |
NCH)M6D | |
Z9Y)VYS | |
Q57)8PH | |
VPY)FTQ | |
WQ4)MHM | |
K6H)FF6 | |
H96)DBH | |
FN2)6RJ | |
791)2Q6 | |
VH1)R56 | |
KFJ)J96 | |
8QX)HM8 | |
L3P)3G2 | |
95J)V6G | |
31N)J95 | |
HQF)PJ9 | |
7Y2)3MR | |
V68)2H5 | |
T3M)FN2 | |
R1G)D7R | |
HM8)CNV | |
5MB)6LG | |
RLJ)WPD | |
64G)W68 | |
DN4)1DK | |
QKF)NDT | |
P5L)LBJ | |
SS7)NL1 | |
P1L)G9Y | |
5P3)44Z | |
7BC)VWJ | |
T2S)1W2 | |
S8H)TKZ | |
G5R)H3G | |
C25)LZJ | |
YDZ)2XM | |
98K)K7B | |
6W7)B78 | |
1DK)Z81 | |
MK4)CL7 | |
BM4)PBJ | |
NRW)ZYF | |
D5N)W31 | |
FZ9)K48 | |
3LC)XKW | |
7BQ)ZT8 | |
C5H)S4P | |
YFX)ZCW | |
PFF)L1P | |
R6Z)Q97 | |
CS7)89H | |
F7C)W7W | |
887)HYB | |
DQ4)LCV | |
NCH)7NC | |
KHK)VTH | |
Q24)P5P | |
KR8)GKF | |
5C9)FBF | |
5VL)HP6 | |
XG8)4LT | |
RWV)T9W | |
518)7TC | |
8MQ)Y1Y | |
25V)NH3 | |
TFB)LFR | |
99R)3VX | |
YDV)19D | |
84L)L3R | |
J96)8SF | |
TJR)DLJ | |
P44)5D3 | |
VWJ)4Y2 | |
3JX)9QG | |
QD3)38D | |
TSH)FRL | |
Y1Y)X16 | |
2H5)NN5 | |
MQX)D2F | |
29M)C5T | |
HLV)1F9 | |
7NQ)Z23 | |
WFQ)77Z | |
FBC)D8F | |
LTM)1LT | |
6MP)QMR | |
C5T)1F8 | |
77L)ZWD | |
V25)9QZ | |
6CG)KNY | |
NXD)JLL | |
XR9)XG5 | |
PX8)HQ2 | |
1SG)1YY | |
3R5)CM6 | |
S53)MRJ | |
9X1)C5X | |
VVH)JQ4 | |
KC3)B7W | |
LCY)P4Y | |
6VX)1PX | |
3WV)YQ2 | |
675)R98 | |
FJF)J9T | |
SFC)2DX | |
YPQ)8GD | |
MZL)RW9 | |
5HG)S45 | |
CHG)M5M | |
3ZS)GVL | |
WPK)9JK | |
NK8)Z5L | |
D7R)6CG | |
Q5Q)4HS | |
GP3)4BN | |
KQD)9S7 | |
25C)XJ9 | |
LN4)TV5 | |
3CC)LCL | |
TZN)MQQ | |
BGW)G9M | |
9P3)MX2 | |
T5V)8P9 | |
3YD)S8V | |
D79)LNY | |
4VQ)8LL | |
RB9)H1L | |
CL7)FLV | |
JQ9)H4K | |
1ZC)TTS | |
RWM)KML | |
118)3LC | |
1F9)QDY | |
6K8)CGT | |
RQK)3LN | |
5H1)XG8 | |
3D8)SRF | |
V77)DLX | |
TKZ)VRJ | |
FRP)1PD | |
GQK)41H | |
4K3)DRS | |
M14)1PC | |
2W2)Z5B | |
2L7)V86 | |
PDX)CQZ | |
RTV)46S | |
Z5L)M23 | |
NN5)4MP | |
L5B)MK4 | |
YTB)R6C | |
QDZ)SZV | |
YMD)W89 | |
W64)WK6 | |
HCP)Q14 | |
62B)3FJ | |
KP5)Y6L | |
9QT)YPQ | |
B8N)Z1J | |
DGT)57K | |
6T5)34H | |
K2D)5C9 | |
46X)FWM | |
Y4L)KJJ | |
BHR)8ZG | |
G1J)THP | |
TW5)QHJ | |
6MP)YDJ | |
58V)Y7X | |
ZYF)V7W | |
86P)7BQ | |
VR1)29X | |
85N)T2P | |
PBJ)GDR | |
KWX)CYC | |
2GK)WHW | |
L8V)VR1 | |
N1K)7HR | |
T7C)V77 | |
H35)1KB | |
DRZ)LTY | |
1BR)YLD | |
QF2)6DF | |
T5T)WYL | |
3R8)QWC | |
1GC)KXN | |
HV3)Z1B | |
HCG)35C | |
QVP)YDV | |
YFS)W3V | |
C93)NLN | |
K2B)MTJ | |
NH3)KKF | |
KV7)PRC | |
855)2YN | |
Y32)ZWV | |
MWN)Q7K | |
G77)3D8 | |
T6Z)K71 | |
T1V)YMD | |
PJT)BM2 | |
XC8)5P3 | |
493)C66 | |
YCG)8FX | |
CPX)XRP | |
TC3)PYD | |
4CL)PX7 | |
SN7)RF2 | |
76H)JRC | |
9XZ)7G4 | |
5VF)9D6 | |
SQW)PY1 | |
3WZ)MC5 | |
5KD)SQM | |
VH1)6XL | |
BWX)P1L | |
Z98)56K | |
7BC)8HN | |
936)8T3 | |
ZHC)KX3 | |
XRP)NGL | |
XWP)Q37 | |
T69)JWG | |
RJ1)QC1 | |
S1X)CGR | |
QSP)QKF | |
W3N)GC5 | |
ZJ7)4QM | |
C71)5GB | |
876)21W | |
CQZ)5MB | |
YW4)6S9 | |
SKL)Z3F | |
6PR)M4W | |
JRC)8LQ | |
DBF)64H | |
4QZ)1LH | |
NGR)TNF | |
7NT)FBD | |
HQQ)ZQH | |
D2L)RTV | |
N5R)YDZ | |
48L)QSP | |
Z1L)FKF | |
59Q)2TX | |
58K)DHB | |
J8P)F13 | |
F8X)RLN | |
44G)7FT | |
LHV)J1V | |
481)HKP | |
7XZ)D1Z | |
4GX)GW8 | |
1V2)9S8 | |
ZWD)NP2 | |
8GH)W3N | |
P1Y)4K3 | |
ZVN)3DB | |
LPJ)C53 | |
DBM)LB3 | |
1L7)PSY | |
XG5)5LQ | |
M85)SZX | |
4RM)9GX | |
Z1J)R1G | |
77Z)1Z4 | |
FWM)YM9 | |
TYH)C93 | |
9ZH)83V | |
LDG)9H7 | |
KX3)C25 | |
NCN)RQ8 | |
RDJ)MWX | |
THP)675 | |
W7Q)TSH | |
G63)917 | |
FFS)LDG | |
MX3)PYM | |
S3M)5T3 | |
9YJ)S5J | |
M1G)CJR | |
W7B)ZKL | |
9V7)LVS | |
9WQ)5PT | |
T2W)HYT | |
G44)27M | |
F9C)KQD | |
5CR)RV6 | |
WYL)FQJ | |
QT4)3P6 | |
NW6)JTF | |
VWM)8GH | |
5SG)3R5 | |
XBG)G2R | |
H2D)9ZH | |
C3L)MZL | |
QH6)4QN | |
9R6)1JQ | |
Z32)5QG | |
J5G)NQY | |
JVR)XKK | |
W2S)G63 | |
GW8)Y4W | |
S2Q)VJN | |
FQG)R41 | |
238)44L | |
XMM)TJH | |
GM4)K2B | |
8JJ)PKS | |
R2D)8F7 | |
CJ9)XF4 | |
SY3)CHG | |
H1F)S2T | |
2TK)Y5S | |
YY8)X88 | |
FZG)VF4 | |
VLG)FRP | |
B5Q)8Y1 | |
8RT)2RS | |
5RG)TL3 | |
J9Y)L8V | |
8G7)WP6 | |
JN8)TVT | |
Z3H)FZ9 | |
12B)GM4 | |
PBB)936 | |
3MR)SD7 | |
84L)1BV | |
Z45)VVH | |
QNR)G5R | |
K71)11Z | |
394)PPF | |
BF2)86P | |
XVJ)JKR | |
94Y)ZBF | |
6TC)JBN | |
YH7)W1K | |
DHB)47N | |
7K8)ZP1 | |
H6G)QDZ | |
TF3)SYN | |
MSF)D2L | |
D8S)KY2 | |
HJG)K4D | |
86Q)XL2 | |
8V4)RWM | |
J95)SCY | |
GJF)PX8 | |
HZ4)M3C | |
9S7)M4K | |
KNY)RWV | |
5H1)RDJ | |
VQN)H9N | |
T53)TJR | |
ZK7)DYD | |
8X6)481 | |
7SX)BYW |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
COM)B | |
B)C | |
C)D | |
D)E | |
E)F | |
B)G | |
G)H | |
D)I | |
E)J | |
J)K | |
K)L |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
COM)B | |
B)C | |
C)D | |
D)E | |
E)F | |
B)G | |
G)H | |
D)I | |
E)J | |
J)K | |
K)L | |
K)YOU | |
I)SAN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
""" | |
https://adventofcode.com/2019/day/6 | |
""" | |
import collections | |
class Node: | |
"""container for the tree nodes""" | |
def __init__(self): | |
self.parents = [] | |
self.children = [] | |
def add_child(self, child): | |
self.children.append(child) | |
def add_parent(self, parent): | |
self.parents.append(parent) | |
def __repr__(self): | |
return "Node: parents: {}, children: {}".format( | |
self.parents, self.children) | |
def read_data(datafile): | |
# if not found, will return a new "node" | |
tree = collections.defaultdict(Node) | |
def do_insert(parent, child): | |
nonlocal tree | |
pnode = tree[parent] | |
cnode = tree[child] | |
pnode.add_child(child) | |
cnode.add_parent(parent) | |
tree[parent] = pnode | |
tree[child] = cnode | |
with open(datafile) as data: | |
for line in data: | |
(parent, child) = line.rstrip().split(')') | |
do_insert(parent, child) | |
# validate and find the root | |
root = None | |
for k in tree.keys(): | |
n = tree[k] | |
assert len(n.parents) < 2, "Node shouldn't have more than one parent" | |
if len(n.parents) == 0: | |
assert root is None, "Tree should have only one root" | |
root = k | |
return (root, dict(tree)) | |
def hops_to_root(key, tree): | |
""" | |
Count distance to root, moving "up". | |
Assumes not more than one parent per node. | |
""" | |
node = tree[key] | |
hoopcount = 0 | |
while len(node.parents) > 0: | |
assert len(node.parents) == 1, "node can't have multiple parents" | |
hoopcount += 1 | |
node = tree[node.parents[0]] | |
return hoopcount | |
def all_hoops(tree): | |
hoopcount = 0 | |
for k in tree.keys(): | |
hoopcount += hops_to_root(k, tree) | |
return hoopcount | |
def main(): | |
for datafile in ('day6-testdata.txt', 'day6-data.txt'): | |
(root, tree) = read_data(datafile) | |
print("{} -> {} orbits".format(datafile, all_hoops(tree))) | |
if __name__ == "__main__": | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
""" | |
https://adventofcode.com/2019/day/6#part2 | |
""" | |
import collections | |
class Node: | |
"""container for the tree nodes""" | |
def __init__(self): | |
self.parents = [] | |
self.children = [] | |
def add_child(self, child): | |
self.children.append(child) | |
def add_parent(self, parent): | |
self.parents.append(parent) | |
def __repr__(self): | |
return "Node: parents: {}, children: {}".format( | |
self.parents, self.children) | |
def read_data(datafile): | |
# if not found, will return a new "node" | |
tree = collections.defaultdict(Node) | |
def do_insert(parent, child): | |
nonlocal tree | |
pnode = tree[parent] | |
cnode = tree[child] | |
pnode.add_child(child) | |
cnode.add_parent(parent) | |
tree[parent] = pnode | |
tree[child] = cnode | |
with open(datafile) as data: | |
for line in data: | |
(parent, child) = line.rstrip().split(')') | |
do_insert(parent, child) | |
# validate and find the root | |
root = None | |
for k in tree.keys(): | |
n = tree[k] | |
assert len(n.parents) < 2, "Node shouldn't have more than one parent" | |
if len(n.parents) == 0: | |
assert root is None, "Tree should have only one root" | |
root = k | |
return (root, dict(tree)) | |
def first_shared_ancestor(tree, key1, key2): | |
""" | |
Walk the path up to the root for each node, | |
and find the first common ancestor. | |
""" | |
path1 = path_to_root(key1, tree) | |
path2 = path_to_root(key2, tree) | |
common_ancestors = [value for value in path1 if value in path2] | |
return common_ancestors[0] | |
def path_to_root(key, tree): | |
""" | |
Walk up to the root and return the path as a list. | |
""" | |
node = tree[key] | |
path = [] | |
while len(node.parents) > 0: | |
assert len(node.parents) == 1, "node can't have multiple parents" | |
parent = node.parents[0] | |
path.append(parent) | |
node = tree[parent] | |
return path | |
def hops_to_key(key1, key2, tree): | |
""" | |
Count distance between 2 keys, moving "up". | |
Assumes not more than one parent per node. | |
Returns None if no path exists. | |
""" | |
if key1 == key2: | |
return 0 | |
else: | |
node = tree[key1] | |
hoopcount = 0 | |
while len(node.parents) > 0: | |
assert len(node.parents) == 1, "node can't have multiple parents" | |
hoopcount += 1 | |
if node.parents[0] == key2: | |
return hoopcount | |
node = tree[node.parents[0]] | |
return None | |
def hops_to_root(key, tree): | |
""" | |
Count distance to root, moving "up". | |
Assumes not more than one parent per node. | |
""" | |
node = tree[key] | |
hoopcount = 0 | |
while len(node.parents) > 0: | |
assert len(node.parents) == 1, "node can't have multiple parents" | |
hoopcount += 1 | |
node = tree[node.parents[0]] | |
return hoopcount | |
def all_hoops(tree): | |
hoopcount = 0 | |
for k in tree.keys(): | |
hoopcount += hops_to_root(k, tree) | |
return hoopcount | |
def main(): | |
for datafile in ('day6-testdatab.txt', 'day6-data.txt'): | |
(root, tree) = read_data(datafile) | |
you = 'YOU' | |
santa = 'SAN' | |
waypoint = first_shared_ancestor(tree, 'YOU', 'SAN') | |
d1 = hops_to_key(you, waypoint, tree) | |
d2 = hops_to_key(santa, waypoint, tree) | |
distance = d1 + d2 - 2 # -2 because the initial hop doesn't conut | |
print("File: {} - distance = {}".format(datafile, distance)) | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment