-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
day06.py
2126 lines (2113 loc) · 17.8 KB
/
day06.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
data = """3TK)7K5
M33)KHG
SRG)PM6
9J7)D3N
BV1)HTK
NQZ)P9P
P37)8RV
J8J)YY6
RRN)FH3
5DG)K7K
RP6)5B1
4DY)8XJ
Z2H)M85
LPL)X69
NDC)PPK
7QT)8JY
DYB)QFL
JKN)JX6
9NY)V2G
TVC)B8Y
V85)9J7
65S)K5S
KY1)BCQ
M12)DKQ
37X)JVW
J1J)479
22J)B25
CLV)WFH
DVN)LQY
X92)FYT
L93)156
VPY)FSX
TXC)VB9
583)5DK
Z3F)L5D
NYX)B1Y
VZJ)LK6
8MT)8N3
513)3YP
FDV)ZLW
3XT)T11
7XG)5WB
DKJ)KN1
DJ7)517
YTP)F34
YPQ)7XZ
HCC)RMS
LPH)7JP
V4N)JSX
X5T)93R
3FW)WK9
M79)NK3
PXL)ZB1
7QC)B2Y
GLV)V76
JX6)QKW
325)RW9
8HF)WTK
GVY)ZLB
H7K)P37
LW1)KHX
36S)VC3
PV1)RYV
8RV)VHP
1MH)5S4
9LV)85Q
BFM)BG6
QD4)6YZ
156)9CG
CC1)ZJH
RSH)95F
P4M)QPL
LHN)F7C
XBW)TSD
4R9)HTS
B8Y)HZH
QFV)475
WT9)CVL
WK9)ZJX
J71)GH2
7S3)LQX
8T4)1M4
3SV)3Z4
9K7)513
HFB)PZV
Y15)QTZ
1C6)SZ6
9RP)DBT
VB9)NJT
Z2R)1WH
R76)WZ4
T7Q)5L1
KJB)T24
YSZ)VXN
K9D)RZN
Y5B)BR3
KNL)4FQ
QPC)RKX
CJC)G1N
C2M)Q89
Y3C)9ZV
KHV)V1W
YXZ)PQH
B25)99L
9MV)BRH
XH7)ZG7
2GJ)4FM
RZN)TR3
S4Y)C2M
CDR)QC3
9QH)W45
S1M)WT9
ZFN)XNH
5C8)HQV
58V)RXM
467)LML
FGB)1C6
SHF)VFG
PQH)6LP
4CK)33F
JYK)QRK
8NW)YY8
85X)2RH
FK8)YPQ
5YX)9PR
JV3)1WC
ML2)PVD
C79)L6J
H9W)L8M
LKN)CY4
1SW)TKJ
MJG)6WX
HH7)7SX
4B9)BV1
CFY)82B
KHS)BDS
KV4)JGM
6LC)KSS
LFN)GWR
KG7)BYC
5FT)Z8B
K3J)3SV
KZL)SS8
B1R)BPG
CJV)BYK
1FH)PCQ
Z83)FMW
BFF)Q6Z
NC1)HM5
QRK)5BT
WJ2)FPF
9M2)57G
33X)2BP
G78)GB8
CPH)1GX
T69)H1D
DGS)GF7
VS2)G2B
LLB)F25
RF9)2G7
JN6)TRK
TC6)KMM
TX9)ZWD
QPV)V2Q
39Q)492
QFL)YSR
23D)K85
CD9)H3H
W54)8SD
9C1)K5K
CYB)V4N
5DS)V3Q
7YL)883
FB4)7KN
TQR)N1X
W5L)NT3
TWN)7Q5
1DN)L8Y
QCC)HDV
38B)5V3
R8F)FQF
XM2)KH4
RQW)GKV
2R5)RV7
2BY)H2T
B99)V8N
2BP)K54
TV5)KZL
9TH)Q7N
ZWD)PW9
HGV)B4Z
VJ6)VSS
KV4)C79
RWZ)4YZ
6X9)G6Z
VNS)QN1
P5Z)5F6
9QP)BD6
JKC)58V
V35)1TQ
ZTW)1SQ
VJQ)VL3
TLY)M6L
ZDC)XDN
VXN)BG5
XT9)VJQ
BTL)LHN
3J4)N38
Z35)3FP
ZN4)R45
CPP)D37
828)CJY
TMX)99R
KPQ)QXC
6X9)KP2
WD6)78Q
GH7)NF1
C67)6X9
2R2)3GJ
2XJ)M5B
TSZ)94F
3VB)JG8
37C)SL7
LYQ)QFP
PW9)9W1
8HH)NSX
G49)QW9
VVT)LGV
STL)TM1
5LH)VZH
NHS)3W5
RR9)7J9
DKJ)LGK
P3L)2B1
CYT)JZ3
MG2)PXL
SS8)B7Y
QCQ)DGR
TPS)5YN
D7K)FQX
ZY5)DL8
S55)PQC
G55)TD6
N2B)71K
FFQ)KPQ
C4K)VD8
KWM)7LB
JYR)GLV
G4J)25F
H1Y)VTZ
DZD)L3Y
KNG)56Y
B4D)24F
KKB)N42
9C4)BTT
L8M)MF5
DSN)8L1
GLJ)FR2
Y6H)LW1
J5J)ZB8
361)Z2P
HP7)CHC
GZS)33X
SWP)3XT
BHY)P13
W7M)88L
632)CCN
KCH)MSJ
6P1)BJL
JWM)VJ3
XGM)KXF
DBT)D6C
P13)5DS
FRK)9W8
7XX)B24
R1J)Z5F
CN8)M37
BCD)K3J
YWC)8JZ
ZNM)C8G
L6D)895
QXL)YC8
VHP)S15
XXT)XM2
7KT)XCJ
55Z)66Y
29P)WD6
YBZ)PV1
ZHM)SLK
GZL)RD8
9TS)V75
48Z)LLY
PXC)15S
DS4)BLD
624)6P1
81D)1MR
4LK)GKN
22X)QPC
M76)DC7
DF1)7QC
PYL)DGS
Y5F)887
W39)95Z
62W)FDV
51R)Q4F
2RK)42X
KSX)L2T
4BM)XNG
YPY)SKD
H1D)VBT
Q6C)49L
VLK)P45
929)7QG
SM3)BLQ
K4B)J83
HB5)S1M
NCN)QW8
HNT)2R2
YJW)4BM
QBF)WBZ
FJN)SP2
TZJ)LHD
V2Q)KL2
57J)9MQ
9S4)JYK
RNJ)DF1
ZYW)H9V
5T8)H58
21L)ZDC
T1M)MN9
WNL)G6B
7XZ)47C
9XR)GGY
5S4)VLK
LVS)X2N
C6D)QXQ
WND)5CF
BYK)RKQ
TKK)Y69
MCX)GS1
25W)PP1
NF1)3M5
9WW)YG6
3FF)ZP8
TJW)CYJ
31H)6LC
3GJ)YH5
TQ9)Q8Q
S15)8FP
S2G)9KK
KNM)C67
4RV)DZW
9DN)S4M
MQP)4CK
15C)6NH
TSQ)467
BKX)K65
HBL)GBN
RTC)CZ6
15N)P53
L2L)DX6
H11)8MR
W5V)ZFQ
T81)W5K
6SX)2GJ
TZH)MTP
1JM)TQ5
F7M)BNJ
N2P)QXL
1R1)GNG
L7K)ZBR
KHL)NS9
1RC)SSN
8T8)R26
FPZ)YKK
VY5)PNW
S7V)KNL
M45)SBN
M5B)14S
2VR)Q37
339)D1Z
RVH)35V
C1P)FTX
191)SXC
G6Z)N46
GB3)V6Z
VQD)D5W
V22)BM6
WY6)D96
LGK)LVR
DY3)KT2
HBY)BBX
WDN)GY5
HTS)B8J
PRP)GJB
VTZ)3SQ
CXY)7TX
FSH)5WQ
CFV)QGK
65V)6WF
SKC)MBX
7C5)535
T91)48Z
GJT)G86
1M4)HTX
42W)LKN
956)MZY
WH3)Z58
PNM)LWB
852)3BL
52F)1ZD
4XT)39Q
Y4P)7XX
BP2)J3G
KC2)C51
T11)WBK
57C)5XB
Q2W)495
JZT)CD9
3J5)M7Y
2RH)986
BDT)TXC
PNW)5GN
RBN)ZSG
HK5)LGX
MBX)9TH
SM1)DG9
9W8)8WH
YGW)HKK
1CG)NSB
D34)PGR
JKF)GKH
6CT)CLH
XCJ)BDC
TX9)8ZL
MXJ)1JM
PNW)GB3
GSL)JS7
PHM)3XB
D57)L7H
51R)B8R
GY5)ZKL
K49)ZQD
HDV)3TK
F1T)W85
KXF)M45
MZ7)SHF
D96)TXM
88N)WW2
5B2)45N
STX)65S
BZM)BFN
XBN)M12
CXQ)9S4
FFT)YJ3
712)P4M
GKN)ST3
4P3)K5X
CN8)769
K1T)1J4
FXT)55Z
BJL)FXT
K8B)V3L
99R)2MH
C8G)D2N
6R3)HGV
JWF)JN6
WZ9)VVT
3MG)8T4
GWT)PYX
H8W)VPY
G6Z)WPC
TQ1)1WD
DXT)4R3
GWR)M76
4LL)PY1
NKH)TWD
KW9)TXV
NZN)XMW
9K8)WZX
GZ4)SRB
83V)2BY
RMS)NVS
GBN)DLR
2SK)YMG
1MR)4NP
LVR)CXQ
YSG)9RH
13R)9LN
88T)29N
33F)DJH
ZHF)7JQ
GB3)D99
1L1)XJQ
SKL)ZVM
NZ2)RWZ
Q7H)S5F
N42)X2K
RLW)BKM
NDJ)HQB
QXG)JM3
H3H)ZHW
MTP)36Y
ZTL)P34
87R)226
F34)YML
W45)C2W
CQ9)31H
RSR)5PM
BD6)5Y1
XBV)4G1
5C8)FRK
Y96)9C1
JVW)JGG
QQG)PX4
RMB)WK3
6ZX)6W2
Q6H)DXC
3NY)1C3
JDN)LQQ
8PF)TQ1
6NH)KR6
LQY)RTC
Q3S)Q25
554)VR5
TTW)K5Z
WZF)4R9
284)Y9Z
SZS)NYX
GGX)8KX
BZD)X74
6ZJ)HB5
144)JPJ
3TD)23Q
FD3)DSN
V89)KVF
CDR)S72
XZM)N2T
V1W)KZN
MF5)14R
PW3)99G
HTK)SB4
23J)JZN
1CT)1CG
Z9H)GY3
D8G)2Y2
QW8)G6Y
94F)9ST
7TM)BTY
SV9)8V1
2JQ)B77
T9H)KL9
9SX)1HX
Y7L)ZBY
9PR)J8C
FMK)W54
X1T)YOU
7YC)RCP
QN1)W39
PD9)8SW
F7C)CVD
SGY)8HF
21L)XCD
PZ9)44P
X1V)284
M9Y)XNF
HFK)YQK
K85)QPV
NCJ)QF1
XBR)DZT
VR5)VLW
V4H)B99
DYJ)SN5
5DS)YVH
717)YQ9
NFM)WJ2
YWP)N15
Q37)XBN
WZ4)9ZQ
NB5)QFH
87R)BS5
NLZ)BNL
TKV)CTP
WLT)Q7S
JM3)BWR
WM8)HRL
SCL)VCD
99G)XGZ
V2D)2FJ
KP2)GGX
57R)5B2
H58)K8B
B3L)MQP
LG4)1V8
WZX)D53
8FF)W65
SRD)855
KVF)RRN
Q31)F9S
5Y2)BSW
WWP)2YP
6B2)9RP
V2G)GJT
KHT)NQZ
MZL)WWP
2XP)FFF
SGV)Z92
MNW)HZV
BTT)MCX
GJB)5N1
R3C)GR3
77N)V88
WFZ)MZ7
COM)7FQ
RFX)9P9
XG2)RQ2
N7C)X7D
GK2)ZS6
CPW)ZHM
Q95)XRX
3W6)WFZ
D6C)LMG
44P)RKW
HHM)KBY
49L)DL5
L16)GSL
9X2)GJ4
Q89)RLW
3J4)NFM
4CK)BPN
Y6S)NS7
C22)W8G
GD1)97T
PQ2)J7F
8K5)TZJ
WYX)NTR
GTQ)8M8
PV2)2X8
W11)VC8
QQN)S73
VP2)TMX
9KK)KHS
P34)9K7
99L)2PR
XFB)TKV
TR2)MGZ
T9H)9TS
B3S)D8G
JGG)M5X
CFT)LV3
K5Z)KNQ
ZBR)34T
6Q1)H7K
YVH)J5J
B7Y)ZDF
2Y2)2L4
T71)6CT
4DM)K1R
7NC)83P
YQ9)F65
QWD)QF9
XF2)WCC
62C)GZL
X3F)Y15
Q7S)X1T
Z58)9C4
YML)R1J
73G)B5F
149)D6N
14R)HH7
H6Z)TPS
RC1)SCB
P44)YTP
3ZP)XLW
BPG)41F
4JL)W51
PQC)BT8
LQX)BHX
4Q5)DFD
TTW)W5V
RYV)YZR
RV7)TH7
SG9)QFV
97T)97R
6YB)FQ8
3K2)6FD
VX1)YB8
PD9)5HL
WQN)XYZ
Z2Y)1TP
3NY)9JW
K54)JYR
GCJ)RZC
KT2)PBJ
GGJ)554
RZC)CJV
8JZ)9DP
TH7)CC1
8KX)4Q5
4BX)JWM
QXC)7QT
H9V)S4Y
PD4)5YX
2D3)89D
BL1)3JQ
KR6)5QQ
V6L)5KY
3BD)V2D
FMW)YQP
VTC)TT8
TT8)KW9
BG1)6TC
4FM)GVB
LW3)T42
G2B)3X9
PPK)LFN
GF2)BTH
C54)3MG
1N1)DKL
2S8)1B3
XW3)3ZM
8DX)1DN
S2H)9NY
RD8)BXB
D66)9C5
SKW)TG3
9RH)385
66Y)K6Q
XLW)CPW
FQ8)DYT
TJM)T71
XN9)RSH
T5Q)WLW
DBV)TQ9
B8R)83V
WJ8)8QJ
QGG)YJW
17H)3M7
ZB1)15G
2D9)P36
Z71)K4W
FYN)NZ2
W9V)VHW
7TM)JKF
2YS)KR3
HKN)4DM
ZCY)XT9
924)41B
ZWF)G35
ZWF)R8F
8LY)M8L
7J9)B1R
FX2)SKL
1RS)RN9
2D9)PNM
PZ9)5HP
XLN)9WW
W9F)ML8
LV3)WJR
HNT)DC8
WJR)361
VJ3)MN7
1VD)GW8
6QN)81D
BNY)XJT
3SQ)G9D
NS9)Y4P
1FQ)QXG
CNG)DMD
T24)31L
DKM)X61
D37)7DC
KN1)5SP
L96)GML
SB4)D57
Y2Q)MPM
VLW)PJ9
M55)T3B
D8R)MND
KHG)MZP
V1D)RXS
FQF)MJW
QLL)SFV
7LB)763
RFX)LL2
SCL)3FW
NSG)HV7
FK8)9MP
DKL)YVB
7JP)7NH
HJS)2H7
YN4)3SX
SVQ)57J
37L)3WY
K65)D7G
Q83)BFF
KM9)DF9
T7X)3WJ
2FN)L2H
HPL)K9D
W3H)912
BPN)T81
9RC)8W4
DGR)H33
C6M)CLV
K5K)R5N
RTZ)9LV
F5X)VNJ
JC9)HSH
517)4VY
CXP)7YC
LGV)ZCY
72T)T1M
2CV)GF4
45N)2H4
77N)TXL
GNT)727
821)WYC
JWF)XGM
3SS)CYT
V75)SRD
F5W)RMB
TWM)BS9
MZY)NVK
KDZ)QPM
365)FVD
GRZ)NSG
8FV)D46
MBT)6C7
GK6)G1S
D6M)57C
BS9)R51
3JQ)GF2
D7G)Z4K
1NT)CTD
F84)MXV
1M4)Q83
G2X)6MB
T5G)5DG
57H)747
XWC)JS3
X8R)FZ7
ZVH)BDT
FRF)N95
BCQ)QL2
15N)PT2
93R)1X7
PCQ)D34
W85)2JQ
C7N)L6D
S8N)C1P
YZY)KM4
NHX)KCC
KL9)4LL
RW9)3PK
Y6G)MP5
5N1)MCP
T42)NHS
ZLW)B6K
L2H)FZZ
XKY)3K2
2H7)BZM
FB6)65V
1RC)DY3
5B1)Y26
X1Z)852
DXC)N2P
57X)CPP
1HX)NHX
NH9)DWH
XWH)186
TRK)Q2W
P72)K51
G43)3TF
75T)HKP
VZH)PTD
BR3)3NF
1R1)4XT
6XV)Z4B
9W1)7P1
JZ3)GGJ
VZ6)1RS
RW9)RC1
6GY)ZTL
FR2)GNT
DSN)KM9
HXW)KHV
DL8)P38
VFG)WPQ
Z8B)KK4
N2D)YQD
Z2Y)16Z
NTR)9TN
H2T)3QN
XCV)YN4
855)N2B
SRD)W41
W8G)G49
L7H)GH7
FMZ)RTZ
XDN)3QS
T8L)NDC
DZS)DS4
XS4)293
22D)Y76
29N)DKM
38Z)9MV
747)V77
1XG)5Y2
NDC)4BV
9C4)C7N
GRZ)XFB
BNJ)HKN
XQD)SM3
JXH)WYX
YSR)7NC
G6Y)N4W
YJ3)LG4
QJG)KSX
7QG)CGC
F65)QJG
9W1)56W
QZS)G19
RYD)LST
727)1VD
FLZ)HCC
PCQ)M9Y
XJT)Y8Y
9CY)RFX
74J)1MB
JSX)QK9
D4R)6MY
3PK)S8N
D5B)JVD
H2C)TWN
TQX)VP2
W65)JMP
GF7)X8R
1SQ)XCV
1SR)J71
3NB)2MY
6RL)2WM
XMW)F84
K18)VS2
FMW)T4B
XJC)VQD
FTR)6S7
KWD)M55
N95)S7V
PDL)HMQ
JLK)QCQ
GS1)Z3F
82B)BMV
212)GD1
CGC)3J5
C2M)DH3
G9X)GNJ
HV7)GGH
SXC)57K
HFK)TQX
QKL)YS8
XL6)SZS
L8W)JJ3
LSM)DXG
NJT)HGH
15S)WZ9
YWP)N5F
4G1)LB4
VK7)YFQ
88L)F5W
F15)W4Z
NVK)8T8
L6J)PRP
LSM)41T
763)GZS
WZM)144
HRL)395
VC2)GC8
5KY)QLF
LL2)RCT
MXR)FGB
WZX)FB4
BKP)2NH
F6C)9DN
P45)NN2
NZM)J89
J3G)K1T
QWC)1XG
7HY)62C
JRS)1SR
B5F)GD4
9ST)9Y9
RDL)LHJ
PP1)6TK
3YP)P44
K3L)7NX
TKJ)WJK
K51)BZD
ZB8)KY1
J41)QWC