Basic structure; day 1, 2
This commit is contained in:
commit
b24b64a22c
12 files changed
+2164
No files matched your search
@@ -0,0 +1,3 @@
|
||||
/.env
|
||||
/.precomp/
|
||||
/.direnv/
|
||||
@@ -0,0 +1,41 @@
|
||||
default:
|
||||
just --list
|
||||
|
||||
_curl day url *args:
|
||||
curl --cookie "session=$AOC_SESSION" --user-agent "AOC curl scripts by bluepython508" {{args}} https://adventofcode.com/2024/day/{{trim_start_match(day, '0')}}/{{url}}
|
||||
|
||||
day := `date +'%d'`
|
||||
new day=day:
|
||||
#!/usr/bin/env bash
|
||||
set -euxo pipefail
|
||||
mkdir day-{{day}}/
|
||||
just _curl {{day}} input -o day-{{day}}/input
|
||||
cat > day-{{day}}/main.raku <<'MAIN'
|
||||
use lib $*PROGRAM.parent.parent;
|
||||
use Lib;
|
||||
|
||||
grammar Solution does AOC {
|
||||
token TOP { }
|
||||
|
||||
method part1(::?CLASS:U: $v) {
|
||||
}
|
||||
|
||||
method part2(::?CLASS:U: $v) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Solution.main()
|
||||
MAIN
|
||||
|
||||
run day=day:
|
||||
raku day-{{day}}/main.raku day-{{day}}/input
|
||||
|
||||
test day=day:
|
||||
#!/usr/bin/env bash
|
||||
for f in day-{{day}}/example-*.in; do
|
||||
raku day-{{day}}/main.raku $f
|
||||
done
|
||||
|
||||
watch day=day:
|
||||
watchexec just test {{day}}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
role AOC {
|
||||
method part1(::?CLASS:U: $v) { ... }
|
||||
|
||||
method part2(::?CLASS:U: $v) { ... }
|
||||
|
||||
method main(::?CLASS:U:) {
|
||||
my \parsed = self.parse(slurp(@*ARGS[0])).made;
|
||||
say self.part1(parsed);
|
||||
say self.part2(parsed);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
3 4
|
||||
4 3
|
||||
2 5
|
||||
1 3
|
||||
3 9
|
||||
3 3
|
||||
+1000
@@ -0,0 +1,1000 @@
|
||||
40094 37480
|
||||
52117 14510
|
||||
92290 82570
|
||||
41563 59882
|
||||
56597 98604
|
||||
60657 66508
|
||||
85570 59882
|
||||
56065 27818
|
||||
78474 72704
|
||||
71099 14510
|
||||
34302 92950
|
||||
11680 14510
|
||||
17162 66508
|
||||
85767 69912
|
||||
43222 99057
|
||||
84192 42459
|
||||
86349 47916
|
||||
15974 93804
|
||||
62582 84872
|
||||
46480 96423
|
||||
49083 47125
|
||||
26321 82391
|
||||
29705 99057
|
||||
76669 53445
|
||||
97344 23937
|
||||
22364 82947
|
||||
43057 41784
|
||||
89096 14096
|
||||
54594 74691
|
||||
16496 21289
|
||||
16315 26820
|
||||
12070 39776
|
||||
92869 76329
|
||||
51048 82455
|
||||
39150 94320
|
||||
58187 83731
|
||||
68901 59853
|
||||
73788 77097
|
||||
11009 17200
|
||||
88295 15720
|
||||
59037 65311
|
||||
89459 74691
|
||||
44460 30211
|
||||
71139 80238
|
||||
91079 65185
|
||||
35005 50427
|
||||
50560 84872
|
||||
66445 66508
|
||||
11233 14510
|
||||
17699 33984
|
||||
90637 44753
|
||||
93142 10300
|
||||
19092 42065
|
||||
19173 83731
|
||||
58875 86050
|
||||
63423 83870
|
||||
71780 70501
|
||||
29252 92869
|
||||
59508 78068
|
||||
28083 14549
|
||||
81355 33405
|
||||
64678 38506
|
||||
83118 41435
|
||||
83177 48400
|
||||
94114 70501
|
||||
52985 82400
|
||||
60853 70531
|
||||
70827 98303
|
||||
78106 23782
|
||||
58175 55623
|
||||
33789 19841
|
||||
76421 45114
|
||||
58847 77539
|
||||
99979 53408
|
||||
59287 42943
|
||||
73877 29014
|
||||
95914 36915
|
||||
84344 87773
|
||||
19462 84872
|
||||
75441 13097
|
||||
51621 85661
|
||||
18456 32965
|
||||
49881 48400
|
||||
59056 55469
|
||||
52464 14549
|
||||
17562 76246
|
||||
99617 74396
|
||||
14300 46447
|
||||
15278 16859
|
||||
78081 41160
|
||||
74953 18829
|
||||
96718 92869
|
||||
56734 70429
|
||||
96632 92950
|
||||
87669 82496
|
||||
41413 47115
|
||||
23478 83870
|
||||
44726 38354
|
||||
98494 70501
|
||||
20040 82400
|
||||
52539 42459
|
||||
66799 78088
|
||||
34219 14821
|
||||
47568 77539
|
||||
36511 76135
|
||||
49296 14510
|
||||
81088 39776
|
||||
29532 39776
|
||||
93599 32110
|
||||
89573 43968
|
||||
61226 48400
|
||||
61073 17960
|
||||
10265 55334
|
||||
83307 82947
|
||||
26932 81159
|
||||
66857 83731
|
||||
77172 74877
|
||||
82796 14510
|
||||
83224 75812
|
||||
65968 33984
|
||||
58067 54289
|
||||
27835 73261
|
||||
25580 85562
|
||||
28693 14510
|
||||
11013 42459
|
||||
72686 75812
|
||||
38200 64002
|
||||
10540 82391
|
||||
16594 86787
|
||||
38238 47324
|
||||
72787 84872
|
||||
32314 65237
|
||||
52509 85451
|
||||
11856 42459
|
||||
74689 14549
|
||||
11006 47324
|
||||
62911 36777
|
||||
96648 28762
|
||||
78556 84872
|
||||
43118 55149
|
||||
15524 18835
|
||||
97188 68430
|
||||
36316 11638
|
||||
23469 74803
|
||||
30969 33984
|
||||
19616 57386
|
||||
74603 51560
|
||||
73140 52522
|
||||
50052 84086
|
||||
67225 82400
|
||||
82945 39776
|
||||
59463 36777
|
||||
43724 39776
|
||||
38655 36019
|
||||
16887 34982
|
||||
63076 82400
|
||||
57786 92869
|
||||
40159 91888
|
||||
86882 74877
|
||||
30168 74750
|
||||
94821 91385
|
||||
22335 20714
|
||||
14549 74691
|
||||
17267 46572
|
||||
86022 83923
|
||||
40758 83870
|
||||
33144 41548
|
||||
20281 78088
|
||||
87782 14661
|
||||
26820 67869
|
||||
72492 81368
|
||||
92950 55032
|
||||
42737 36777
|
||||
22360 65185
|
||||
61694 67189
|
||||
43534 76135
|
||||
25697 62054
|
||||
65617 70501
|
||||
36055 82455
|
||||
42978 70973
|
||||
69418 29676
|
||||
87319 39776
|
||||
92611 74554
|
||||
45366 50611
|
||||
86780 47925
|
||||
14580 36676
|
||||
60406 24721
|
||||
44987 66508
|
||||
23481 13654
|
||||
89422 77304
|
||||
21807 92950
|
||||
52893 22984
|
||||
70221 76135
|
||||
61432 28691
|
||||
50739 61410
|
||||
69705 10534
|
||||
11551 84737
|
||||
14653 82947
|
||||
84764 70227
|
||||
19435 86399
|
||||
46702 90481
|
||||
59882 66508
|
||||
27462 39776
|
||||
45303 78835
|
||||
41509 75370
|
||||
22494 80790
|
||||
59433 58283
|
||||
19204 20602
|
||||
13874 75812
|
||||
50130 44169
|
||||
68727 83731
|
||||
58262 18103
|
||||
33787 88584
|
||||
28931 50419
|
||||
90686 77539
|
||||
33865 92950
|
||||
57146 59882
|
||||
26465 55530
|
||||
68279 41051
|
||||
77998 92950
|
||||
44063 69056
|
||||
21928 28982
|
||||
18478 83731
|
||||
79582 30353
|
||||
80695 81630
|
||||
25322 71284
|
||||
52650 91070
|
||||
90146 16859
|
||||
74890 66508
|
||||
54271 49699
|
||||
35728 96535
|
||||
15295 88122
|
||||
85415 41051
|
||||
96077 74836
|
||||
71257 31093
|
||||
10677 78088
|
||||
72271 58494
|
||||
50820 64678
|
||||
12266 33434
|
||||
32264 78179
|
||||
59541 64841
|
||||
51353 83870
|
||||
41310 74853
|
||||
62865 15554
|
||||
66303 53130
|
||||
30556 25580
|
||||
27203 66508
|
||||
31790 71172
|
||||
33932 47324
|
||||
43212 88773
|
||||
58069 83731
|
||||
88235 25580
|
||||
41094 99057
|
||||
25979 25580
|
||||
62261 60853
|
||||
79993 23589
|
||||
73964 71455
|
||||
82400 64678
|
||||
65762 18579
|
||||
73651 16859
|
||||
67581 76135
|
||||
30713 14716
|
||||
47252 19658
|
||||
14691 39961
|
||||
40662 12202
|
||||
57025 69091
|
||||
83266 48400
|
||||
30600 79683
|
||||
62076 16859
|
||||
16881 83870
|
||||
65361 63743
|
||||
80773 63741
|
||||
71794 48591
|
||||
65839 66508
|
||||
75318 20602
|
||||
91238 82391
|
||||
45707 64678
|
||||
40980 77539
|
||||
85661 99057
|
||||
59298 29272
|
||||
19492 84014
|
||||
93934 48400
|
||||
15984 64678
|
||||
89737 48584
|
||||
94738 63640
|
||||
36639 52035
|
||||
61394 40066
|
||||
48772 34199
|
||||
18258 74691
|
||||
20283 80659
|
||||
63972 40629
|
||||
82137 59882
|
||||
76239 25580
|
||||
12349 41106
|
||||
75728 64348
|
||||
74691 78088
|
||||
62001 21680
|
||||
70269 34199
|
||||
25443 39776
|
||||
19584 15829
|
||||
30199 87448
|
||||
92524 19400
|
||||
41674 23116
|
||||
63728 44519
|
||||
99875 91712
|
||||
17735 30851
|
||||
67540 81902
|
||||
27828 92950
|
||||
85889 33984
|
||||
39816 37113
|
||||
87480 91733
|
||||
19469 33984
|
||||
62803 12772
|
||||
17043 33984
|
||||
97479 81159
|
||||
91505 45435
|
||||
12207 69925
|
||||
60626 95997
|
||||
68126 92869
|
||||
76852 13346
|
||||
71419 70109
|
||||
49664 42459
|
||||
74526 32376
|
||||
16446 47891
|
||||
23116 39776
|
||||
43806 64678
|
||||
23988 61719
|
||||
97167 92950
|
||||
66668 44592
|
||||
25225 35154
|
||||
14284 14510
|
||||
23861 47115
|
||||
55048 45238
|
||||
33484 60853
|
||||
46372 80717
|
||||
61795 22743
|
||||
73995 44753
|
||||
89733 76532
|
||||
91399 53238
|
||||
53467 20602
|
||||
71484 98629
|
||||
37974 64678
|
||||
73312 99057
|
||||
75812 73554
|
||||
47324 58729
|
||||
14895 92017
|
||||
69525 50204
|
||||
47032 78088
|
||||
90971 72856
|
||||
63357 33984
|
||||
94931 99057
|
||||
11959 73715
|
||||
70226 77539
|
||||
54005 44541
|
||||
38941 48400
|
||||
64230 74691
|
||||
31008 11797
|
||||
47599 55425
|
||||
67007 10384
|
||||
14054 82455
|
||||
22131 22556
|
||||
52663 80307
|
||||
90266 61207
|
||||
76934 33537
|
||||
97373 27252
|
||||
37507 99057
|
||||
95323 86821
|
||||
79869 56443
|
||||
53249 77539
|
||||
62806 14510
|
||||
23745 41051
|
||||
61452 60853
|
||||
97548 19963
|
||||
57870 24236
|
||||
18763 15129
|
||||
85117 39776
|
||||
30254 51456
|
||||
51491 67525
|
||||
93572 77539
|
||||
82325 83731
|
||||
15877 41056
|
||||
98690 11852
|
||||
58483 14549
|
||||
46792 46579
|
||||
19738 32343
|
||||
96327 41051
|
||||
84003 82455
|
||||
58135 99057
|
||||
22481 68384
|
||||
38401 92272
|
||||
44698 30430
|
||||
39030 14510
|
||||
64037 47324
|
||||
70100 84872
|
||||
64299 48400
|
||||
75003 18219
|
||||
74190 19588
|
||||
71831 92869
|
||||
20635 88403
|
||||
28133 39036
|
||||
39722 42459
|
||||
42378 20602
|
||||
31939 75812
|
||||
69490 77539
|
||||
85822 41051
|
||||
99562 93734
|
||||
48527 23116
|
||||
56404 52393
|
||||
44682 26105
|
||||
66332 92869
|
||||
55356 52743
|
||||
13056 18829
|
||||
19925 82455
|
||||
66686 22256
|
||||
48103 99057
|
||||
82466 99057
|
||||
71384 20602
|
||||
56960 36777
|
||||
14192 41310
|
||||
44212 58300
|
||||
71988 92950
|
||||
90172 75812
|
||||
86104 75812
|
||||
58359 98375
|
||||
95930 48202
|
||||
61264 14510
|
||||
85630 74877
|
||||
27124 48370
|
||||
49572 48140
|
||||
48424 77539
|
||||
77569 45931
|
||||
30308 81159
|
||||
26594 40011
|
||||
63775 66508
|
||||
34220 82947
|
||||
46571 47585
|
||||
81978 77539
|
||||
37668 82947
|
||||
51727 66508
|
||||
79066 20602
|
||||
12567 74691
|
||||
47130 12241
|
||||
15691 93831
|
||||
65408 33984
|
||||
15617 82400
|
||||
48601 36777
|
||||
10561 60853
|
||||
97955 41051
|
||||
82817 21661
|
||||
21081 77539
|
||||
50859 33984
|
||||
23474 82400
|
||||
15893 47324
|
||||
48663 98013
|
||||
80276 77539
|
||||
29558 64989
|
||||
98180 99880
|
||||
31381 66796
|
||||
32510 14549
|
||||
47508 15854
|
||||
14500 14549
|
||||
30226 70501
|
||||
10524 92869
|
||||
26213 92869
|
||||
75481 44753
|
||||
39239 53324
|
||||
72660 64678
|
||||
16154 83870
|
||||
84492 41051
|
||||
21987 20602
|
||||
45236 75576
|
||||
36827 57147
|
||||
81865 60831
|
||||
36531 99057
|
||||
77201 70501
|
||||
28863 31856
|
||||
32410 48400
|
||||
62294 53873
|
||||
49825 99057
|
||||
17226 50273
|
||||
36614 34199
|
||||
14510 48400
|
||||
15818 74691
|
||||
41051 27891
|
||||
39776 33984
|
||||
43740 25580
|
||||
61248 97412
|
||||
63739 47404
|
||||
33984 88105
|
||||
64598 81159
|
||||
71104 89965
|
||||
71399 13250
|
||||
22174 20602
|
||||
60654 39776
|
||||
36993 45136
|
||||
81016 74327
|
||||
47735 64918
|
||||
80903 14510
|
||||
87865 39776
|
||||
38245 91066
|
||||
29883 51319
|
||||
52463 23311
|
||||
32632 35610
|
||||
75507 97544
|
||||
57330 65354
|
||||
59693 55540
|
||||
96123 48400
|
||||
15649 92950
|
||||
84872 82947
|
||||
52036 85576
|
||||
56140 65185
|
||||
23571 32245
|
||||
45230 97874
|
||||
49231 50934
|
||||
43993 85661
|
||||
27831 14510
|
||||
59732 83870
|
||||
46676 39776
|
||||
92968 60853
|
||||
66157 28036
|
||||
88365 70501
|
||||
78552 95048
|
||||
30812 39388
|
||||
70615 32340
|
||||
90718 49637
|
||||
55059 43376
|
||||
44052 32254
|
||||
64928 14510
|
||||
49820 82400
|
||||
60638 64678
|
||||
39415 82391
|
||||
17390 82391
|
||||
64214 77539
|
||||
59411 78901
|
||||
13819 33984
|
||||
92129 28689
|
||||
51618 86239
|
||||
24039 42459
|
||||
27702 39776
|
||||
69110 75948
|
||||
58967 84872
|
||||
97823 45780
|
||||
11609 82400
|
||||
54722 82391
|
||||
82391 18829
|
||||
74051 85569
|
||||
24976 75812
|
||||
65185 36777
|
||||
86919 18888
|
||||
39690 82947
|
||||
42614 48845
|
||||
36554 16859
|
||||
29410 99296
|
||||
38412 70501
|
||||
74218 18829
|
||||
49407 90164
|
||||
48400 64678
|
||||
23114 82947
|
||||
27649 78088
|
||||
68537 78526
|
||||
24479 21094
|
||||
47444 99057
|
||||
65003 33984
|
||||
39426 83535
|
||||
90358 51196
|
||||
22234 98284
|
||||
30880 28789
|
||||
32544 82947
|
||||
10847 82947
|
||||
54047 18829
|
||||
52242 32818
|
||||
10490 24089
|
||||
41618 75977
|
||||
35876 14549
|
||||
49262 28889
|
||||
94438 26726
|
||||
51893 75812
|
||||
93759 58987
|
||||
51981 14510
|
||||
60103 71702
|
||||
88905 66508
|
||||
48747 42459
|
||||
96263 75812
|
||||
40463 83870
|
||||
48597 57204
|
||||
22536 44753
|
||||
66412 99054
|
||||
17790 66120
|
||||
77539 25203
|
||||
78865 50851
|
||||
50309 81159
|
||||
17303 35610
|
||||
54010 79127
|
||||
20241 14510
|
||||
63100 92950
|
||||
83731 14510
|
||||
68951 31982
|
||||
56970 82400
|
||||
44753 60853
|
||||
46362 49519
|
||||
67946 60853
|
||||
84813 83698
|
||||
71665 11245
|
||||
30689 66459
|
||||
69584 47324
|
||||
42706 75812
|
||||
52831 78088
|
||||
92039 20602
|
||||
58831 14549
|
||||
20290 41051
|
||||
90055 41727
|
||||
50084 48967
|
||||
23456 27651
|
||||
39078 41568
|
||||
63877 34199
|
||||
99100 83870
|
||||
45801 64678
|
||||
84659 44834
|
||||
11493 25580
|
||||
69169 85661
|
||||
67297 75310
|
||||
13814 88874
|
||||
92809 83870
|
||||
84504 44970
|
||||
18829 39776
|
||||
32708 83870
|
||||
55821 81159
|
||||
33006 82400
|
||||
73062 16859
|
||||
19055 99551
|
||||
78888 33984
|
||||
19620 36962
|
||||
35643 84872
|
||||
36777 74691
|
||||
81225 41051
|
||||
11880 96744
|
||||
58979 11943
|
||||
22530 25580
|
||||
61936 72308
|
||||
50817 85661
|
||||
33683 82947
|
||||
38394 67535
|
||||
78267 50808
|
||||
90229 95996
|
||||
76219 47324
|
||||
24324 40775
|
||||
64552 77539
|
||||
50492 24650
|
||||
75184 37186
|
||||
72456 98388
|
||||
65577 28564
|
||||
74502 42459
|
||||
70395 70501
|
||||
45032 12987
|
||||
71299 82400
|
||||
39462 59882
|
||||
90600 62577
|
||||
47384 74691
|
||||
13946 81159
|
||||
72317 58599
|
||||
15940 38852
|
||||
10917 33984
|
||||
35057 70501
|
||||
62360 55948
|
||||
78591 36777
|
||||
92380 95224
|
||||
80300 25360
|
||||
74967 47844
|
||||
33642 32775
|
||||
67167 29873
|
||||
84766 31938
|
||||
54914 18149
|
||||
12612 60853
|
||||
51871 78088
|
||||
52446 11322
|
||||
45850 99057
|
||||
86339 20388
|
||||
92007 92950
|
||||
50584 55255
|
||||
74877 83870
|
||||
70625 36777
|
||||
59262 76788
|
||||
88734 74877
|
||||
54461 99057
|
||||
53614 20602
|
||||
97695 92442
|
||||
95664 74877
|
||||
26474 63443
|
||||
40271 66508
|
||||
46223 27041
|
||||
95183 18367
|
||||
23141 76135
|
||||
90287 82391
|
||||
86387 74877
|
||||
59164 63318
|
||||
96424 13830
|
||||
46986 50003
|
||||
14676 98418
|
||||
16897 75812
|
||||
93799 83870
|
||||
26152 14783
|
||||
73164 35799
|
||||
83870 74691
|
||||
69539 25580
|
||||
37270 25580
|
||||
22633 66508
|
||||
95442 35703
|
||||
60229 92950
|
||||
68469 74691
|
||||
32827 95745
|
||||
54254 66508
|
||||
19421 30678
|
||||
83601 37175
|
||||
48236 33984
|
||||
35864 92869
|
||||
12715 91646
|
||||
37578 49676
|
||||
52157 28386
|
||||
89788 39266
|
||||
55235 50669
|
||||
77355 33641
|
||||
92895 48400
|
||||
90314 82391
|
||||
89697 29794
|
||||
78864 81204
|
||||
74210 71372
|
||||
19120 45857
|
||||
50876 30101
|
||||
59106 92950
|
||||
19702 25499
|
||||
97014 91896
|
||||
74875 16783
|
||||
13073 84306
|
||||
26041 83870
|
||||
68942 88484
|
||||
40578 83731
|
||||
72258 65004
|
||||
92705 83870
|
||||
86757 59882
|
||||
98431 76644
|
||||
26967 82947
|
||||
16928 37207
|
||||
35610 15275
|
||||
78099 66508
|
||||
18168 48400
|
||||
58016 48400
|
||||
81932 93264
|
||||
49522 70501
|
||||
46342 99057
|
||||
78434 34199
|
||||
57459 93096
|
||||
99686 37409
|
||||
45420 15677
|
||||
65862 61547
|
||||
68451 32852
|
||||
62057 20602
|
||||
54187 53430
|
||||
41398 43131
|
||||
81637 25396
|
||||
10157 93885
|
||||
66508 12152
|
||||
10450 84872
|
||||
25261 20602
|
||||
56274 63730
|
||||
72119 95604
|
||||
46569 75812
|
||||
35380 42970
|
||||
43443 92950
|
||||
39631 52734
|
||||
42459 45026
|
||||
96567 34884
|
||||
93222 62504
|
||||
60053 71698
|
||||
75897 47324
|
||||
48328 20602
|
||||
99057 48400
|
||||
35826 82341
|
||||
67035 82400
|
||||
58053 86856
|
||||
81936 12257
|
||||
68310 14510
|
||||
29468 62020
|
||||
81781 67379
|
||||
15436 14549
|
||||
56095 65185
|
||||
66163 10638
|
||||
49425 14510
|
||||
68972 92950
|
||||
49574 14549
|
||||
38234 83870
|
||||
28540 84872
|
||||
81462 48400
|
||||
41295 34199
|
||||
80808 91315
|
||||
28524 33984
|
||||
77949 74691
|
||||
99083 20602
|
||||
62026 42459
|
||||
31125 48400
|
||||
79195 63833
|
||||
42400 74725
|
||||
13187 57183
|
||||
28716 77539
|
||||
80819 92964
|
||||
95678 39668
|
||||
54023 39776
|
||||
59766 42459
|
||||
71124 13499
|
||||
68339 49253
|
||||
61897 46696
|
||||
80221 11294
|
||||
35387 98184
|
||||
68473 39786
|
||||
35763 73269
|
||||
65760 20385
|
||||
89259 47268
|
||||
14170 77539
|
||||
35101 85211
|
||||
18374 83870
|
||||
92328 85661
|
||||
82839 78903
|
||||
18361 33984
|
||||
23227 74691
|
||||
95071 64678
|
||||
90966 82947
|
||||
95801 77539
|
||||
81159 64755
|
||||
65256 70501
|
||||
55147 13543
|
||||
15387 99057
|
||||
35642 82400
|
||||
32240 27515
|
||||
67866 14549
|
||||
12086 49665
|
||||
36184 84872
|
||||
15635 31890
|
||||
10214 40993
|
||||
49134 77539
|
||||
62743 48400
|
||||
44489 70501
|
||||
80178 68714
|
||||
36457 78753
|
||||
17887 84293
|
||||
16849 67107
|
||||
63559 77539
|
||||
80694 52080
|
||||
58142 78088
|
||||
18872 14510
|
||||
12338 67478
|
||||
85829 40208
|
||||
66792 84872
|
||||
61928 93693
|
||||
33263 17549
|
||||
84614 81847
|
||||
61330 48400
|
||||
68335 20602
|
||||
29181 60853
|
||||
74548 75771
|
||||
30127 15911
|
||||
47115 26923
|
||||
91933 35610
|
||||
83734 84584
|
||||
44683 89834
|
||||
41249 78088
|
||||
80290 48400
|
||||
96903 79098
|
||||
70501 82561
|
||||
32022 63239
|
||||
69817 24120
|
||||
90313 78614
|
||||
70861 42934
|
||||
58151 47251
|
||||
28667 55887
|
||||
22841 34199
|
||||
73857 71309
|
||||
16835 14899
|
||||
95850 34199
|
||||
50640 51985
|
||||
18035 47324
|
||||
37594 50221
|
||||
16970 71726
|
||||
25362 15286
|
||||
44543 18995
|
||||
83609 45774
|
||||
89691 84872
|
||||
50795 70501
|
||||
24679 48469
|
||||
71908 82947
|
||||
67185 38287
|
||||
18054 35390
|
||||
34199 69184
|
||||
40616 75812
|
||||
20602 94728
|
||||
49793 82400
|
||||
14963 24258
|
||||
60662 74691
|
||||
86403 43539
|
||||
74430 66236
|
||||
77078 39136
|
||||
87428 82947
|
||||
77070 54393
|
||||
70944 42459
|
||||
12653 18130
|
||||
81773 25580
|
||||
49019 17153
|
||||
82455 31077
|
||||
25942 64678
|
||||
26835 91201
|
||||
39062 80768
|
||||
81313 27193
|
||||
45192 77539
|
||||
15593 37923
|
||||
56100 28304
|
||||
82947 38124
|
||||
88630 40195
|
||||
52146 10487
|
||||
85442 23549
|
||||
99766 23732
|
||||
16859 25580
|
||||
21961 24033
|
||||
76135 30552
|
||||
17662 77266
|
||||
52907 28266
|
||||
98310 14512
|
||||
52835 17260
|
||||
41921 99977
|
||||
98536 79658
|
||||
14361 75812
|
||||
33091 85661
|
||||
98222 76135
|
||||
21436 89453
|
||||
38710 11479
|
||||
82047 68962
|
||||
35897 14592
|
||||
88326 74877
|
||||
46035 99057
|
||||
78652 97213
|
||||
44755 20602
|
||||
96573 47324
|
||||
36653 46767
|
||||
70603 26820
|
||||
61979 76005
|
||||
21272 39776
|
||||
78088 81081
|
||||
34305 33984
|
||||
35661 10012
|
||||
61006 47115
|
||||
93440 41051
|
||||
21321 98330
|
||||
75070 16859
|
||||
95372 70501
|
||||
38869 60853
|
||||
76195 78088
|
||||
14557 46481
|
||||
42861 86390
|
||||
57044 34199
|
||||
68752 33984
|
||||
86232 67003
|
||||
27620 76135
|
||||
55091 37530
|
||||
29965 41051
|
||||
33771 84872
|
||||
58339 66508
|
||||
12708 75812
|
||||
72653 92869
|
||||
84021 10337
|
||||
87356 82391
|
||||
74653 92950
|
||||
92234 47324
|
||||
50621 33984
|
||||
42267 64801
|
||||
22400 42459
|
||||
24231 79555
|
||||
58301 84563
|
||||
80962 99057
|
||||
71109 14549
|
||||
65386 46911
|
||||
26148 43854
|
||||
38755 82400
|
||||
75344 98637
|
||||
25436 14549
|
||||
64378 97144
|
||||
62564 94652
|
||||
10638 16859
|
||||
38487 36777
|
||||
73552 66508
|
||||
91379 34199
|
||||
22001 14549
|
||||
56967 13015
|
||||
98527 38329
|
||||
41766 38964
|
||||
10762 75812
|
||||
15598 25580
|
||||
42586 16859
|
||||
51351 32233
|
||||
59322 66508
|
||||
98442 10520
|
||||
15717 73514
|
||||
20342 72228
|
||||
13498 75812
|
||||
@@ -0,0 +1,21 @@
|
||||
use lib $*PROGRAM.parent.parent;
|
||||
use Lib;
|
||||
|
||||
grammar Solution does AOC {
|
||||
token TOP { (^^ <line> \n)+ { make ([Z] $/[0]>><line>>>.made).List; }}
|
||||
token line { <num> <.ws> <num> { make $<num>>>.made }}
|
||||
token num { \d+ { make val($/.Str) }}
|
||||
|
||||
method part1(::?CLASS:U: (@l, @r)) {
|
||||
[+] (@l.sort <<->> @r.sort)>>.abs
|
||||
}
|
||||
|
||||
method part2(::?CLASS:U: (@l, @r)) {
|
||||
my $bag = @r.Bag;
|
||||
[+] @l.map(-> $l { $l * $bag{$l} })
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Solution.main()
|
||||
@@ -0,0 +1,6 @@
|
||||
7 6 4 2 1
|
||||
1 2 7 8 9
|
||||
9 7 6 2 1
|
||||
1 3 2 4 5
|
||||
8 6 4 4 1
|
||||
1 3 6 7 9
|
||||
+1000
@@ -0,0 +1,1000 @@
|
||||
65 68 71 72 71
|
||||
31 34 36 37 37
|
||||
80 83 84 86 87 90 92 96
|
||||
30 33 36 39 45
|
||||
21 22 25 23 24
|
||||
66 68 69 71 72 71 72 69
|
||||
2 3 5 4 4
|
||||
77 78 77 79 82 83 86 90
|
||||
6 9 10 7 9 12 17
|
||||
25 27 28 28 30 32
|
||||
61 63 66 68 68 66
|
||||
51 54 54 57 60 60
|
||||
50 52 52 53 56 60
|
||||
73 75 76 76 83
|
||||
19 20 24 26 28
|
||||
36 38 41 42 45 49 47
|
||||
56 59 63 64 64
|
||||
26 29 32 36 40
|
||||
70 72 74 75 77 80 84 89
|
||||
81 83 88 89 92 95 96
|
||||
79 80 85 87 89 92 93 90
|
||||
77 80 85 87 89 92 92
|
||||
29 31 33 38 40 42 46
|
||||
49 52 57 58 59 65
|
||||
14 11 14 17 18 19
|
||||
43 40 41 44 47 50 51 50
|
||||
31 30 32 35 35
|
||||
43 40 42 43 46 49 51 55
|
||||
9 7 9 12 15 17 18 23
|
||||
74 71 74 71 73 76 79 80
|
||||
50 49 50 49 52 50
|
||||
51 48 51 49 49
|
||||
23 22 23 25 22 26
|
||||
45 43 44 47 45 50
|
||||
42 39 41 43 43 45 48
|
||||
97 94 96 98 98 99 97
|
||||
48 47 50 51 54 55 55 55
|
||||
33 30 31 31 33 37
|
||||
17 14 17 19 19 24
|
||||
41 40 41 43 45 47 51 52
|
||||
65 62 64 67 71 70
|
||||
77 76 80 81 84 85 86 86
|
||||
18 16 20 22 26
|
||||
58 56 59 63 64 65 67 72
|
||||
18 17 22 24 26
|
||||
27 25 28 29 30 36 39 36
|
||||
53 52 58 60 60
|
||||
41 40 45 47 49 53
|
||||
49 46 47 49 50 57 60 66
|
||||
43 43 44 45 47 50 53 56
|
||||
79 79 80 81 83 84 81
|
||||
68 68 70 71 71
|
||||
15 15 17 18 19 20 21 25
|
||||
58 58 59 62 64 66 71
|
||||
67 67 70 72 73 71 72 75
|
||||
83 83 81 83 80
|
||||
93 93 95 97 94 94
|
||||
5 5 8 7 9 11 15
|
||||
8 8 11 8 15
|
||||
59 59 62 62 65
|
||||
9 9 10 10 13 16 15
|
||||
72 72 75 76 76 79 79
|
||||
6 6 6 7 9 13
|
||||
27 27 29 29 35
|
||||
40 40 44 47 49 52
|
||||
85 85 87 88 90 94 92
|
||||
55 55 59 60 60
|
||||
36 36 40 41 42 46
|
||||
62 62 66 68 70 75
|
||||
44 44 45 46 47 52 55
|
||||
85 85 88 95 93
|
||||
33 33 35 36 39 44 44
|
||||
18 18 19 21 28 29 31 35
|
||||
58 58 60 62 69 74
|
||||
15 19 22 23 25 27
|
||||
20 24 27 28 29 30 29
|
||||
44 48 49 52 54 57 57
|
||||
41 45 48 50 54
|
||||
8 12 15 17 20 27
|
||||
48 52 51 53 55
|
||||
78 82 81 84 83
|
||||
8 12 9 12 15 18 18
|
||||
56 60 63 61 62 66
|
||||
2 6 8 7 10 13 20
|
||||
8 12 12 14 17 18
|
||||
52 56 58 59 59 57
|
||||
73 77 79 82 82 83 83
|
||||
58 62 63 63 67
|
||||
44 48 48 51 54 61
|
||||
63 67 68 71 73 77 80 82
|
||||
65 69 71 75 74
|
||||
84 88 90 93 97 97
|
||||
62 66 70 73 77
|
||||
26 30 34 37 39 45
|
||||
31 35 38 41 43 49 51 54
|
||||
3 7 13 16 17 20 23 21
|
||||
42 46 49 55 55
|
||||
71 75 78 84 88
|
||||
53 57 60 62 69 71 77
|
||||
66 72 74 77 79 80
|
||||
46 53 55 56 55
|
||||
6 11 12 14 14
|
||||
36 41 44 46 49 51 54 58
|
||||
66 71 73 75 78 80 81 87
|
||||
55 62 63 64 66 63 65
|
||||
22 27 28 25 22
|
||||
90 95 93 94 95 95
|
||||
35 41 43 46 45 49
|
||||
74 80 83 86 88 87 88 95
|
||||
39 44 46 47 49 49 52
|
||||
73 78 80 80 82 81
|
||||
81 86 89 91 91 94 95 95
|
||||
28 34 37 38 40 43 43 47
|
||||
72 77 80 80 82 83 84 91
|
||||
76 81 82 84 88 89 91
|
||||
36 43 47 49 50 47
|
||||
74 79 80 83 84 87 91 91
|
||||
48 55 58 62 65 67 69 73
|
||||
14 20 24 27 28 31 38
|
||||
33 39 40 45 47 50 52
|
||||
71 78 84 85 88 89 87
|
||||
46 52 59 60 63 65 67 67
|
||||
27 32 35 37 40 47 48 52
|
||||
66 71 72 78 81 83 90
|
||||
42 39 37 35 36
|
||||
46 45 43 40 39 36 33 33
|
||||
31 28 27 24 22 18
|
||||
27 24 23 22 19 14
|
||||
51 50 49 52 51 49 46 44
|
||||
78 77 75 74 75 77
|
||||
14 12 13 12 10 7 5 5
|
||||
41 38 35 38 34
|
||||
50 48 49 47 40
|
||||
70 69 69 67 65
|
||||
55 52 52 51 54
|
||||
73 70 68 65 65 62 59 59
|
||||
99 96 95 95 91
|
||||
76 73 70 68 68 63
|
||||
13 11 8 4 2
|
||||
26 23 22 19 16 12 9 10
|
||||
95 92 89 85 85
|
||||
25 24 22 18 15 13 10 6
|
||||
87 86 82 79 78 73
|
||||
92 90 88 85 78 77 75 72
|
||||
50 48 47 42 40 42
|
||||
75 74 73 67 65 63 60 60
|
||||
63 60 59 52 50 47 44 40
|
||||
43 40 39 34 27
|
||||
27 30 29 28 25
|
||||
29 30 27 24 23 21 24
|
||||
66 67 65 63 61 61
|
||||
93 96 95 93 89
|
||||
90 92 91 90 89 88 85 78
|
||||
15 17 15 12 9 8 10 8
|
||||
23 25 23 22 25 26
|
||||
77 78 77 78 75 75
|
||||
12 15 13 16 12
|
||||
23 26 24 21 22 17
|
||||
92 93 93 91 89 88 85 84
|
||||
92 93 90 89 88 86 86 88
|
||||
29 31 31 29 27 27
|
||||
31 34 34 32 28
|
||||
87 88 87 85 84 84 77
|
||||
74 75 74 72 68 67
|
||||
52 54 52 50 46 48
|
||||
75 78 75 71 69 69
|
||||
28 31 28 25 21 17
|
||||
70 72 69 65 58
|
||||
80 83 82 76 75 73 71
|
||||
9 11 9 3 2 5
|
||||
53 56 55 52 47 47
|
||||
14 17 15 14 11 6 2
|
||||
41 42 37 35 28
|
||||
83 83 80 77 74 71 68 65
|
||||
20 20 18 17 16 18
|
||||
76 76 74 71 69 66 64 64
|
||||
40 40 37 34 32 31 27
|
||||
63 63 62 59 58 57 55 50
|
||||
63 63 60 61 59
|
||||
24 24 25 22 21 23
|
||||
24 24 22 20 19 21 21
|
||||
17 17 15 14 17 16 14 10
|
||||
56 56 54 52 51 48 51 46
|
||||
41 41 41 39 36
|
||||
36 36 34 34 37
|
||||
28 28 26 23 23 21 18 18
|
||||
69 69 68 65 65 64 61 57
|
||||
81 81 79 79 76 74 67
|
||||
35 35 33 30 27 23 21
|
||||
81 81 80 76 74 73 74
|
||||
51 51 47 45 42 41 39 39
|
||||
89 89 87 83 79
|
||||
27 27 24 22 20 16 13 6
|
||||
82 82 79 73 71 68 66
|
||||
63 63 60 55 54 52 49 52
|
||||
17 17 12 11 9 9
|
||||
40 40 39 36 31 28 26 22
|
||||
85 85 82 81 79 74 67
|
||||
61 57 54 51 49 46
|
||||
38 34 32 31 29 27 26 28
|
||||
32 28 27 26 26
|
||||
49 45 42 40 38 35 31
|
||||
36 32 29 27 25 22 16
|
||||
73 69 68 67 65 62 65 63
|
||||
19 15 14 17 20
|
||||
95 91 89 87 88 86 86
|
||||
29 25 23 21 19 20 18 14
|
||||
21 17 16 13 12 9 10 4
|
||||
85 81 80 79 77 74 74 71
|
||||
95 91 90 88 88 87 90
|
||||
80 76 76 73 70 69 69
|
||||
88 84 83 81 79 76 76 72
|
||||
67 63 61 61 59 54
|
||||
50 46 42 39 38 35 32
|
||||
39 35 31 29 26 23 26
|
||||
17 13 12 11 8 7 3 3
|
||||
96 92 91 87 84 80
|
||||
19 15 13 12 8 1
|
||||
25 21 19 14 11 9 8 6
|
||||
30 26 24 18 19
|
||||
45 41 40 33 31 31
|
||||
72 68 61 60 58 54
|
||||
96 92 91 90 84 82 76
|
||||
44 37 36 34 33 32 30
|
||||
43 38 35 32 33
|
||||
33 27 24 21 18 18
|
||||
67 62 59 57 54 52 49 45
|
||||
99 92 90 88 82
|
||||
64 58 57 59 57
|
||||
80 75 74 71 72 69 72
|
||||
12 7 4 5 3 3
|
||||
13 7 5 6 2
|
||||
79 74 75 73 71 68 63
|
||||
42 37 36 34 34 33 31
|
||||
52 45 43 40 39 39 40
|
||||
36 30 30 29 27 27
|
||||
27 21 19 16 13 13 12 8
|
||||
63 58 58 57 55 52 47
|
||||
65 59 56 52 51 49 47 45
|
||||
17 10 8 7 3 5
|
||||
88 82 80 79 75 75
|
||||
26 19 18 14 13 9
|
||||
37 32 31 30 26 23 18
|
||||
19 12 10 9 3 1
|
||||
51 44 41 38 33 32 34
|
||||
44 39 36 33 31 25 25
|
||||
21 16 14 11 6 2
|
||||
53 47 46 44 37 34 28
|
||||
35 38 40 42 43 44 41
|
||||
83 85 87 89 89
|
||||
37 40 42 45 46 47 48 52
|
||||
25 27 29 30 32 34 39
|
||||
85 87 88 90 92 89 92 93
|
||||
71 74 75 73 76 78 76
|
||||
34 36 38 35 37 37
|
||||
40 42 43 46 44 48
|
||||
15 16 18 17 19 20 26
|
||||
8 9 11 14 14 15 18 19
|
||||
71 73 76 76 73
|
||||
17 18 19 21 23 23 26 26
|
||||
52 53 55 55 57 58 59 63
|
||||
19 21 23 23 30
|
||||
4 5 7 8 12 15 18
|
||||
58 60 64 66 63
|
||||
4 6 10 13 13
|
||||
42 45 48 52 53 56 60
|
||||
21 24 26 30 32 33 35 40
|
||||
75 78 81 87 88 90
|
||||
54 56 57 63 61
|
||||
42 44 47 48 55 57 60 60
|
||||
73 76 77 79 86 90
|
||||
45 46 51 52 58
|
||||
49 47 50 52 55 56 57
|
||||
57 55 58 61 58
|
||||
15 13 16 19 21 23 23
|
||||
63 62 63 66 68 69 73
|
||||
63 61 62 63 65 72
|
||||
92 89 87 89 92
|
||||
7 6 8 9 12 11 8
|
||||
14 11 10 11 11
|
||||
26 24 27 28 29 26 30
|
||||
32 29 30 32 34 36 35 41
|
||||
19 16 16 19 20
|
||||
74 73 76 76 75
|
||||
65 63 63 64 64
|
||||
43 42 42 44 45 48 52
|
||||
63 61 62 62 63 66 68 75
|
||||
63 61 65 66 68 70 72 73
|
||||
21 18 20 24 27 24
|
||||
18 16 20 23 24 26 29 29
|
||||
30 28 32 33 36 40
|
||||
23 20 23 24 28 31 37
|
||||
63 61 63 65 72 75
|
||||
41 39 40 47 48 49 48
|
||||
29 27 32 34 34
|
||||
36 34 36 37 38 44 48
|
||||
38 37 40 45 46 49 50 56
|
||||
49 49 52 55 56 57
|
||||
68 68 71 72 73 72
|
||||
47 47 48 51 51
|
||||
87 87 89 92 95 99
|
||||
47 47 48 49 51 52 57
|
||||
86 86 88 87 90
|
||||
74 74 75 78 79 78 77
|
||||
55 55 57 55 57 58 58
|
||||
85 85 86 87 86 88 91 95
|
||||
46 46 47 46 48 49 54
|
||||
80 80 80 83 84 86 89
|
||||
73 73 74 76 78 81 81 79
|
||||
93 93 95 96 96 96
|
||||
28 28 30 30 34
|
||||
24 24 27 27 29 30 32 37
|
||||
80 80 84 87 89
|
||||
48 48 51 55 57 56
|
||||
43 43 44 48 49 50 51 51
|
||||
78 78 81 85 86 88 89 93
|
||||
62 62 65 69 71 74 79
|
||||
25 25 27 29 30 37 39
|
||||
82 82 85 88 90 96 93
|
||||
35 35 36 39 44 44
|
||||
48 48 53 55 59
|
||||
68 68 70 73 74 80 81 86
|
||||
11 15 16 19 20
|
||||
78 82 83 84 87 90 91 90
|
||||
32 36 37 39 39
|
||||
15 19 21 24 28
|
||||
21 25 27 28 30 33 40
|
||||
16 20 23 26 27 25 26
|
||||
8 12 10 11 9
|
||||
44 48 47 49 50 50
|
||||
2 6 8 11 8 12
|
||||
78 82 85 87 89 91 89 95
|
||||
58 62 62 64 66 68
|
||||
36 40 40 41 42 44 42
|
||||
39 43 46 46 46
|
||||
38 42 45 46 49 52 52 56
|
||||
53 57 57 60 62 67
|
||||
15 19 22 23 26 30 33 34
|
||||
36 40 44 46 48 45
|
||||
54 58 59 60 63 67 67
|
||||
54 58 62 64 68
|
||||
31 35 38 41 45 48 50 57
|
||||
19 23 24 27 29 36 37 38
|
||||
23 27 33 36 34
|
||||
16 20 21 26 27 30 32 32
|
||||
79 83 84 91 94 95 99
|
||||
59 63 65 72 78
|
||||
34 40 43 46 47 48
|
||||
8 14 16 18 19 18
|
||||
29 34 36 38 39 40 41 41
|
||||
20 25 28 29 30 34
|
||||
48 53 55 58 60 65
|
||||
38 44 47 46 49
|
||||
83 89 91 93 91 94 96 93
|
||||
16 22 20 22 22
|
||||
78 84 83 84 86 87 90 94
|
||||
10 15 18 19 16 18 24
|
||||
34 40 40 43 44
|
||||
10 15 18 21 24 24 23
|
||||
9 15 15 18 21 21
|
||||
70 75 76 76 80
|
||||
15 22 25 28 29 29 36
|
||||
54 59 62 63 67 68 69
|
||||
80 85 86 90 88
|
||||
45 50 54 57 57
|
||||
35 40 44 46 47 51
|
||||
2 9 12 13 17 18 23
|
||||
69 75 80 81 82 85 87
|
||||
3 8 13 16 13
|
||||
74 81 88 89 90 90
|
||||
35 40 41 43 50 54
|
||||
50 55 58 63 66 69 75
|
||||
65 62 60 58 61
|
||||
17 15 13 11 10 9 8 8
|
||||
82 80 79 76 73 71 68 64
|
||||
63 61 59 56 54 51 50 43
|
||||
44 42 40 42 39 37 34
|
||||
43 41 44 42 45
|
||||
48 47 45 44 46 44 41 41
|
||||
91 88 85 82 79 80 76
|
||||
81 78 81 78 75 70
|
||||
16 14 13 13 10 7
|
||||
69 67 66 66 65 68
|
||||
70 67 67 66 66
|
||||
89 88 87 85 84 84 83 79
|
||||
87 84 84 83 81 74
|
||||
15 14 11 7 4 3 2
|
||||
26 23 19 17 20
|
||||
72 70 68 64 63 63
|
||||
46 45 43 41 37 35 31
|
||||
27 26 25 24 20 18 17 10
|
||||
42 40 37 32 30 29 26 25
|
||||
91 89 87 85 80 78 75 77
|
||||
83 81 79 77 76 70 70
|
||||
95 94 93 90 89 86 80 76
|
||||
49 46 39 36 34 31 29 22
|
||||
58 59 57 56 55 53 52 49
|
||||
88 91 88 86 84 87
|
||||
82 84 83 80 77 74 73 73
|
||||
22 25 24 21 17
|
||||
17 20 19 16 10
|
||||
4 5 3 2 5 4 2
|
||||
27 29 32 31 32
|
||||
52 54 52 49 47 44 47 47
|
||||
45 48 46 47 43
|
||||
84 86 88 86 83 80 77 72
|
||||
9 11 8 8 5
|
||||
39 40 37 36 34 34 33 35
|
||||
45 47 44 44 44
|
||||
38 39 39 38 34
|
||||
70 71 69 69 64
|
||||
20 23 19 18 17
|
||||
27 29 25 23 21 19 22
|
||||
15 17 13 11 10 7 7
|
||||
96 97 96 92 89 86 82
|
||||
62 64 63 59 58 55 49
|
||||
53 54 47 44 42 40 37 36
|
||||
82 84 79 77 79
|
||||
30 32 30 25 24 22 22
|
||||
36 37 36 33 27 23
|
||||
80 81 80 77 71 68 62
|
||||
59 59 58 56 54 53 52
|
||||
48 48 45 42 40 38 40
|
||||
63 63 62 60 57 55 53 53
|
||||
27 27 25 24 20
|
||||
28 28 25 23 18
|
||||
68 68 67 64 63 64 62 60
|
||||
49 49 50 47 46 45 42 44
|
||||
39 39 40 38 38
|
||||
83 83 81 80 79 77 79 75
|
||||
86 86 84 87 84 78
|
||||
99 99 99 98 95 92
|
||||
34 34 31 31 29 27 24 25
|
||||
37 37 34 32 32 32
|
||||
16 16 13 12 9 9 5
|
||||
25 25 25 22 20 17 11
|
||||
70 70 66 64 61
|
||||
71 71 68 65 62 58 59
|
||||
64 64 60 59 57 57
|
||||
89 89 88 84 80
|
||||
83 83 79 78 73
|
||||
26 26 19 16 13 12
|
||||
46 46 39 36 37
|
||||
52 52 50 47 40 37 37
|
||||
58 58 57 52 49 45
|
||||
68 68 65 64 59 57 50
|
||||
68 64 63 60 59 57
|
||||
21 17 16 15 13 10 8 10
|
||||
68 64 63 61 59 58 58
|
||||
86 82 79 77 76 72
|
||||
49 45 44 42 41 36
|
||||
94 90 88 85 84 85 82 79
|
||||
86 82 80 78 81 83
|
||||
49 45 46 45 43 43
|
||||
78 74 75 73 71 68 65 61
|
||||
57 53 52 50 48 50 43
|
||||
78 74 72 69 69 67
|
||||
8 4 3 2 1 1 3
|
||||
27 23 23 22 22
|
||||
27 23 23 21 20 16
|
||||
85 81 80 78 75 74 74 68
|
||||
15 11 8 4 3 2
|
||||
68 64 62 60 56 55 53 55
|
||||
82 78 75 71 68 66 66
|
||||
57 53 52 48 47 46 44 40
|
||||
38 34 30 29 24
|
||||
29 25 20 18 17 14
|
||||
28 24 21 16 17
|
||||
94 90 83 81 79 77 77
|
||||
60 56 53 50 43 39
|
||||
36 32 27 26 21
|
||||
36 30 29 26 25 23
|
||||
16 9 8 6 5 3 2 5
|
||||
92 87 84 81 78 75 75
|
||||
26 21 20 17 16 13 9
|
||||
33 26 23 22 21 18 17 10
|
||||
95 89 86 85 83 86 84
|
||||
54 47 45 44 43 44 43 45
|
||||
22 15 12 9 10 8 8
|
||||
92 87 84 85 82 81 77
|
||||
88 83 80 79 76 78 75 68
|
||||
22 15 15 13 11 9 8
|
||||
82 77 77 76 74 76
|
||||
90 83 80 79 79 78 78
|
||||
70 64 62 60 59 59 55
|
||||
87 80 80 78 76 74 71 66
|
||||
31 25 21 19 16
|
||||
90 85 82 81 79 78 74 75
|
||||
64 59 56 52 52
|
||||
63 58 57 53 51 47
|
||||
64 57 53 51 50 47 45 38
|
||||
60 53 52 46 43
|
||||
85 78 75 69 67 65 64 66
|
||||
35 29 22 20 20
|
||||
37 32 27 24 23 22 19 15
|
||||
67 60 57 56 54 47 41
|
||||
14 17 15 12 12 8
|
||||
10 10 11 14 17 20 22 22
|
||||
98 96 95 93 92 86
|
||||
73 71 72 74 78
|
||||
50 54 58 60 62
|
||||
57 59 62 62 63 61
|
||||
88 84 78 76 73
|
||||
49 49 45 44 43 39
|
||||
47 47 50 51 52 54
|
||||
59 57 56 52 49
|
||||
13 12 11 10 10 7 7
|
||||
94 90 89 88 87 88 88
|
||||
24 24 22 16 14 8
|
||||
45 46 48 49 50 52 52
|
||||
64 64 64 65 67 69 73
|
||||
53 58 60 61 62 64 64 68
|
||||
52 55 57 54 53
|
||||
71 68 64 62 58
|
||||
64 68 70 71 71 74 75 79
|
||||
54 55 55 57 57
|
||||
89 92 85 82 79 78 78
|
||||
81 80 83 84 90 91
|
||||
14 20 22 25 29 32 36
|
||||
46 46 48 48 49 51 57
|
||||
18 14 13 9 7 5
|
||||
92 87 84 84 81 82
|
||||
50 49 46 46 45 43 44
|
||||
82 85 86 87 89 86
|
||||
44 49 51 54 56 63 63
|
||||
88 90 90 87 85 82 77
|
||||
64 71 72 76 75
|
||||
97 98 97 95 97 95 94 90
|
||||
46 45 48 50 54 54
|
||||
24 20 18 16 15 14 13 8
|
||||
53 56 59 58 55 58
|
||||
49 49 50 55 58
|
||||
47 41 38 38 37 33
|
||||
25 31 28 30 33 35 37 40
|
||||
64 63 65 67 70 67 70 70
|
||||
53 49 47 47 44 43 37
|
||||
30 37 43 45 44
|
||||
53 48 47 45 41
|
||||
65 69 73 76 80
|
||||
58 52 48 46 45 44 41 43
|
||||
9 7 7 10 15
|
||||
82 82 83 90 90
|
||||
63 63 60 57 53 52 46
|
||||
31 27 25 24 20 19 12
|
||||
5 4 7 6 5 3 1
|
||||
86 82 81 84 80
|
||||
86 81 79 76 75 73 69 67
|
||||
54 57 59 60 62 66
|
||||
52 48 46 41 37
|
||||
46 46 43 41 40 39 35
|
||||
49 50 51 53 59 64
|
||||
25 27 30 32 32 33
|
||||
59 62 59 57 56
|
||||
16 16 16 13 12 10 8 11
|
||||
34 28 24 22 20 17 13
|
||||
57 57 57 60 63 62
|
||||
53 59 57 58 62
|
||||
29 27 25 24 18 16 9
|
||||
50 54 57 57 58 60 60
|
||||
41 35 32 32 30 29 23
|
||||
66 69 68 62 59 56 52
|
||||
49 44 45 42 41 37
|
||||
61 61 60 57 50
|
||||
3 1 2 9 11 11
|
||||
29 26 24 23 21 20 19 19
|
||||
59 60 61 63 63 65 69
|
||||
97 95 91 88 85 82 83
|
||||
4 11 13 20 21 22 24
|
||||
72 74 69 66 65 59
|
||||
62 68 71 74 74 77 78 78
|
||||
69 65 62 61 63 61 54
|
||||
15 17 14 11 10 12 12
|
||||
83 80 79 75 74 74
|
||||
75 70 69 63 61 62
|
||||
65 69 70 73 76 75 77 77
|
||||
34 29 27 25 24 21 18 21
|
||||
6 6 7 9 12 16 20
|
||||
50 50 47 45 44 45 45
|
||||
69 70 72 69 72 76
|
||||
80 80 78 74 73 72 71 71
|
||||
28 24 20 17 14 15
|
||||
51 51 54 56 61
|
||||
38 34 33 33 32
|
||||
23 23 25 27 31 28
|
||||
39 37 39 42 44 46 48
|
||||
56 62 63 63 65 67 69 67
|
||||
74 74 80 81 78
|
||||
73 71 70 67 63 58
|
||||
32 36 38 40 43 50 56
|
||||
87 83 81 75 69
|
||||
69 65 62 62 64
|
||||
85 88 89 93 98
|
||||
20 13 11 10 10
|
||||
52 53 56 60 62 66
|
||||
58 58 59 62 62 65 67
|
||||
75 81 83 85 87 87
|
||||
38 32 29 24 21 19 14
|
||||
93 89 82 80 79 77 75 78
|
||||
11 11 13 14 13 14 13
|
||||
50 50 45 44 43 40 38
|
||||
86 82 79 76 72 72
|
||||
81 88 89 92 95 96 96 97
|
||||
39 37 42 43 42
|
||||
22 21 24 21 17
|
||||
24 23 22 22 21
|
||||
38 35 35 38 42
|
||||
61 61 64 66 68 70 67 67
|
||||
92 92 90 88 90 89 88 89
|
||||
4 4 5 9 15
|
||||
78 82 84 87 91
|
||||
63 62 61 59 57 54 54 50
|
||||
51 55 60 61 63 65 68
|
||||
43 48 54 56 58 63
|
||||
47 49 53 54 54
|
||||
81 85 88 91 96
|
||||
44 44 42 44 46 49 52 59
|
||||
84 86 85 83 80 78 81 80
|
||||
13 13 12 8 7
|
||||
66 70 72 73 74 75 74
|
||||
85 87 86 83 79
|
||||
19 24 25 27 24 27 30 30
|
||||
17 20 23 24 30 27
|
||||
15 10 11 10 8 5 6
|
||||
81 85 91 94 97 94
|
||||
75 72 75 78 78 81 83 81
|
||||
49 51 48 48 45 44 42 45
|
||||
59 57 60 60 62
|
||||
91 84 82 77 77
|
||||
27 27 25 24 22 24
|
||||
52 55 51 49 49
|
||||
70 70 72 79 80 84
|
||||
74 78 79 83 85 86 88 88
|
||||
76 70 73 72 71 69
|
||||
47 43 41 40 39 41 39
|
||||
82 81 84 86 85 89
|
||||
21 25 26 29 26 27 28 25
|
||||
41 36 35 33 30 28 22
|
||||
37 37 39 41 43 47
|
||||
13 20 21 24 26 29 34
|
||||
38 38 36 35 30 26
|
||||
14 18 19 20 20 27
|
||||
85 81 78 74 70
|
||||
17 15 16 15 16 18
|
||||
96 99 95 94 93 91 88 81
|
||||
74 79 80 82 85 83 89
|
||||
41 38 39 44 46 51
|
||||
23 19 13 11 9 9
|
||||
72 79 80 81 78 80 82 80
|
||||
93 93 95 98 96 97 99
|
||||
27 23 22 20 19 16 16
|
||||
83 83 85 88 90 92 89
|
||||
58 55 52 49 42 42
|
||||
45 39 37 37 35 34 31
|
||||
40 44 47 45 46
|
||||
3 3 4 1 5
|
||||
11 13 8 6 5 3 2
|
||||
43 40 42 41 40 39 36 37
|
||||
34 31 29 28 24
|
||||
25 23 24 25 28 25 23
|
||||
94 89 88 84 82 80 79 79
|
||||
76 72 75 74 75
|
||||
17 20 21 18 21 24 27 28
|
||||
59 55 54 51 50 46
|
||||
11 11 10 8 8 5 4 3
|
||||
15 19 21 24 26 27 28 28
|
||||
11 18 20 24 26 27 27
|
||||
58 56 58 61 63 64 66 73
|
||||
68 67 68 69 72 76 77 79
|
||||
2 9 12 16 19
|
||||
38 38 37 37 32
|
||||
28 28 31 30 23
|
||||
67 67 66 65 62 59
|
||||
1 7 8 11 12 15 19
|
||||
40 39 41 43 47 54
|
||||
72 65 62 60 53 49
|
||||
98 99 97 93 91 87
|
||||
56 59 58 56 54 47
|
||||
19 19 15 12 9 11
|
||||
36 38 36 39 40 47
|
||||
8 9 10 12 13 17 15
|
||||
55 62 64 67 70 72 70
|
||||
19 21 20 18 19
|
||||
78 81 82 86 87 90 93 96
|
||||
30 28 31 32 35 34
|
||||
42 40 37 32 30 29 27 26
|
||||
78 78 81 82 85 85 85
|
||||
31 35 37 38 40 41
|
||||
72 74 75 78 78 80 82 87
|
||||
14 14 11 8 9 6
|
||||
1 5 6 7 10 14 16 14
|
||||
47 51 54 54 57 54
|
||||
3 3 3 2 2
|
||||
28 34 35 39 44
|
||||
25 25 28 33 39
|
||||
82 85 82 81 78 78
|
||||
83 87 90 91 93 93 96 97
|
||||
80 81 78 74 76
|
||||
31 31 31 28 26 23 19
|
||||
39 45 48 51 54 60 64
|
||||
73 76 73 73 72 69
|
||||
55 59 63 66 69 70 72 79
|
||||
72 68 65 64 62 62 62
|
||||
49 49 44 41 41
|
||||
70 74 77 78 77 80 82 87
|
||||
49 53 50 52 53 54 57 61
|
||||
98 93 91 88 90 89 84
|
||||
64 66 61 59 62
|
||||
88 86 88 87 82
|
||||
46 44 43 40 35 37
|
||||
28 24 21 18 15 13 10 7
|
||||
53 52 54 55 57 57
|
||||
93 89 87 84 82 82 80 76
|
||||
93 87 89 86 86
|
||||
9 10 11 14 15 13 15 15
|
||||
10 11 13 20 21 24 25 29
|
||||
71 74 79 80 80
|
||||
39 43 46 47 48 55 55
|
||||
85 81 78 77 76 73 75
|
||||
66 73 76 77 78 78 85
|
||||
80 78 79 77 79 85
|
||||
33 34 33 31 27 26
|
||||
69 66 69 73 75 77 76
|
||||
36 30 27 25 23 23 23
|
||||
70 67 66 64 62 65
|
||||
23 25 23 20 19 20 17 11
|
||||
24 24 25 29 30 32 34 35
|
||||
76 77 80 83 86 92 94
|
||||
62 60 58 55 53 53 51 45
|
||||
14 16 13 12 10 10 7 7
|
||||
74 74 73 70 69 66 63 63
|
||||
50 53 56 59 60 65
|
||||
89 88 85 82 81 80
|
||||
27 25 22 21 20
|
||||
71 72 75 78 80 82
|
||||
58 55 54 53 52 51 50 49
|
||||
44 41 39 37 34 33
|
||||
78 81 84 86 88 91 94
|
||||
25 26 28 31 32 34
|
||||
47 46 43 40 38
|
||||
10 13 14 17 19 22
|
||||
80 82 83 84 86 89
|
||||
79 80 82 84 85 86 88
|
||||
52 55 57 60 61
|
||||
58 61 62 64 65 68 69 70
|
||||
82 83 86 89 91 93
|
||||
24 23 22 21 18 17
|
||||
23 26 27 28 31 32
|
||||
19 18 16 14 12 9
|
||||
70 68 65 62 60 58 57
|
||||
50 52 55 56 58
|
||||
18 21 23 25 27 29 30
|
||||
44 47 50 52 53
|
||||
96 95 92 90 87
|
||||
43 46 49 50 52
|
||||
12 13 16 19 21 22 24 25
|
||||
52 55 56 57 58 59 62 63
|
||||
25 23 21 18 16 13
|
||||
89 86 84 81 80
|
||||
55 53 50 47 46
|
||||
65 64 63 60 57 54
|
||||
14 15 17 18 19 20 22 25
|
||||
30 29 26 23 22 21
|
||||
29 27 24 21 19 16 15 13
|
||||
40 39 38 37 36 33 32 31
|
||||
24 25 28 29 32
|
||||
87 84 82 79 78 77
|
||||
18 21 22 25 27 30 32 35
|
||||
81 82 83 84 87 89 92
|
||||
7 8 11 13 14 17 19 22
|
||||
10 7 6 5 4 1
|
||||
66 65 64 61 58 57
|
||||
78 76 74 73 71 68 66
|
||||
63 65 68 69 71 73 74 77
|
||||
63 65 67 69 70 71 72 73
|
||||
90 88 86 85 82 81
|
||||
49 47 46 45 42 41 38
|
||||
76 75 73 72 70 68 67
|
||||
79 81 82 83 84
|
||||
76 75 73 72 69
|
||||
64 61 59 58 56 54 53 52
|
||||
87 85 83 80 79 76
|
||||
30 29 26 24 22 19 16 14
|
||||
56 58 61 64 66
|
||||
21 19 17 14 11
|
||||
75 78 79 81 84 86
|
||||
76 79 80 83 85
|
||||
66 65 64 61 58
|
||||
56 53 50 48 47 45 43
|
||||
34 32 30 27 25
|
||||
10 13 16 19 20 23 26 28
|
||||
41 44 45 48 50 51 52 53
|
||||
28 25 24 21 19 17 14
|
||||
36 34 32 30 28 25 24
|
||||
38 40 42 44 47 49 50
|
||||
1 3 4 6 8 10
|
||||
37 35 32 30 28 27 26
|
||||
37 35 34 31 29 28 26 24
|
||||
94 91 90 89 88
|
||||
70 69 68 65 62 60
|
||||
81 83 86 88 90 92 95 98
|
||||
90 89 86 84 82 80
|
||||
52 51 48 47 46 43
|
||||
47 44 41 38 37 35 32
|
||||
38 37 34 33 30 28
|
||||
58 56 55 54 51
|
||||
19 17 14 13 11 8
|
||||
33 31 29 26 24 23 22 19
|
||||
40 42 43 45 46 47 49 50
|
||||
77 75 73 71 70 67 64 61
|
||||
43 42 39 36 33
|
||||
4 6 9 10 12 14 15 18
|
||||
14 13 12 9 8 5
|
||||
43 41 39 38 37 35 33
|
||||
70 72 73 76 77
|
||||
80 82 84 85 86 89
|
||||
65 66 67 69 72
|
||||
17 20 22 23 26
|
||||
85 86 87 88 89
|
||||
50 47 44 42 41 38
|
||||
6 7 9 12 14 16 18
|
||||
89 91 92 95 97
|
||||
45 47 49 51 53
|
||||
61 60 58 56 55 52 51 48
|
||||
64 63 60 58 55
|
||||
62 64 65 66 69 72 73 76
|
||||
57 59 60 63 66 69
|
||||
74 71 70 67 65 63 60 58
|
||||
51 53 54 57 59
|
||||
86 88 90 91 94
|
||||
68 71 74 77 79 81 83
|
||||
76 74 71 68 67
|
||||
81 79 78 76 74
|
||||
43 45 48 51 54 55 58 59
|
||||
84 82 81 80 79 78 76 75
|
||||
49 51 53 54 57 60
|
||||
37 39 41 44 47 50
|
||||
65 68 69 70 73 74 77 79
|
||||
91 90 88 85 82
|
||||
23 25 26 29 32 34
|
||||
41 42 45 48 50
|
||||
64 61 59 57 54 51 50
|
||||
23 25 26 29 30 33 35
|
||||
19 16 14 12 10
|
||||
79 80 81 82 85
|
||||
36 37 38 40 43 44 46 49
|
||||
60 61 62 63 66
|
||||
46 45 43 42 40
|
||||
49 52 55 57 60
|
||||
14 15 18 19 20 21
|
||||
98 96 95 94 93 90 89 86
|
||||
76 77 78 79 81
|
||||
18 15 13 11 10 7 6 4
|
||||
34 35 37 38 41 44 46 48
|
||||
35 32 29 28 27 25
|
||||
78 80 83 86 88
|
||||
87 84 82 80 79 78 77
|
||||
75 72 70 69 67
|
||||
90 92 94 95 97 98
|
||||
36 33 31 28 26 25 23
|
||||
50 52 54 56 57 58 59 62
|
||||
56 57 58 61 62 63 66
|
||||
81 80 79 78 75 74
|
||||
20 21 22 23 24 26
|
||||
45 47 48 49 51 53
|
||||
39 41 43 45 47 49 51 52
|
||||
18 20 22 23 26
|
||||
18 20 21 24 26 29
|
||||
25 23 20 17 14 12 9 6
|
||||
12 15 16 18 20 23 25 27
|
||||
10 13 16 19 22 23 24
|
||||
98 95 92 91 89 86 85 83
|
||||
14 16 17 19 21 23 25
|
||||
5 6 9 11 12 13 14
|
||||
66 64 63 62 60
|
||||
50 49 46 45 43
|
||||
87 86 83 82 81 80
|
||||
34 31 30 29 27 24 21 20
|
||||
28 25 24 23 22 19 18
|
||||
66 64 62 60 58
|
||||
57 56 53 52 50
|
||||
48 50 52 54 57 58 61
|
||||
65 68 70 72 74
|
||||
11 8 6 5 2
|
||||
30 29 27 25 22 21
|
||||
52 55 56 57 59 62 65 67
|
||||
78 76 75 72 70 69 66 63
|
||||
5 8 10 13 16 18 19 20
|
||||
31 28 27 24 21 19
|
||||
32 34 35 38 40 43
|
||||
23 26 29 30 32
|
||||
87 86 83 81 78 77 75
|
||||
35 37 39 42 45
|
||||
72 73 76 78 79 82 85 86
|
||||
78 75 73 71 70 67 66 63
|
||||
72 70 69 66 63
|
||||
48 46 43 40 39 36 35
|
||||
2 4 6 7 8 10
|
||||
88 90 91 93 96 98
|
||||
66 69 70 73 75
|
||||
28 26 23 22 21 18 15
|
||||
12 14 17 19 20 21 24 25
|
||||
20 17 16 14 13 11 8
|
||||
30 27 25 22 21 19
|
||||
50 47 46 44 43 42 40
|
||||
91 88 85 83 80 78
|
||||
59 60 63 66 68
|
||||
42 44 45 46 49 51 53 55
|
||||
82 80 77 74 71 70
|
||||
13 11 10 9 7 6 3
|
||||
69 66 64 61 58
|
||||
61 58 55 54 53 52 51
|
||||
25 23 20 19 16
|
||||
21 23 26 29 32 34 35
|
||||
22 23 25 26 29
|
||||
25 24 21 20 19 18
|
||||
48 51 54 55 57 58 59
|
||||
23 25 28 31 34 36
|
||||
40 41 44 46 49 50
|
||||
83 81 78 75 74
|
||||
16 19 20 23 26 29 30 31
|
||||
14 13 12 9 6
|
||||
77 76 74 71 70 69
|
||||
75 73 72 69 66 63
|
||||
50 52 54 56 59 60
|
||||
53 50 49 46 44 43 41
|
||||
18 16 13 12 9 8
|
||||
26 24 22 19 16
|
||||
44 42 39 36 34
|
||||
37 40 41 44 47 49 50 52
|
||||
8 9 10 13 14 17
|
||||
54 56 57 59 61 62 64
|
||||
54 56 59 61 63
|
||||
14 13 11 10 9 6 5 2
|
||||
63 65 68 69 72 74 75
|
||||
70 69 67 66 63 61 58
|
||||
64 67 70 73 74 76
|
||||
40 39 37 36 35 34 31 30
|
||||
45 42 41 39 36 33 30
|
||||
61 59 57 54 53 50
|
||||
31 33 34 35 37
|
||||
38 40 43 44 46 49
|
||||
36 38 41 43 44 46 49 50
|
||||
63 62 61 60 58 56
|
||||
15 12 10 8 7 6 5
|
||||
42 45 47 50 53 55
|
||||
57 56 54 53 50 48 47
|
||||
13 10 8 7 6
|
||||
86 85 83 81 78 76 74 71
|
||||
44 43 42 40 38
|
||||
33 31 28 27 24 22 21
|
||||
72 70 69 68 67 66 63 62
|
||||
58 60 63 66 68 71 72 73
|
||||
29 30 33 36 38 39
|
||||
11 8 6 3 1
|
||||
33 32 31 29 27 25 24
|
||||
53 56 58 61 64
|
||||
60 58 56 55 54 51
|
||||
67 70 71 73 75
|
||||
3 5 7 9 12 13 16
|
||||
28 29 30 33 36
|
||||
40 37 36 33 32 30
|
||||
22 19 16 13 11
|
||||
25 28 30 33 34 36 37
|
||||
32 34 36 37 40 42 44
|
||||
23 22 20 19 18 16 13
|
||||
59 61 63 64 66 69 71
|
||||
30 29 28 26 25 22 20
|
||||
60 61 62 65 68
|
||||
61 64 67 70 72
|
||||
48 47 45 44 42 39 37 36
|
||||
77 79 80 83 85 87
|
||||
29 31 33 34 36 38
|
||||
6 8 11 13 16 17 18 21
|
||||
98 97 94 92 91 88 87 84
|
||||
35 34 33 32 30 27 26
|
||||
87 89 90 92 95
|
||||
10 9 8 5 4 3
|
||||
68 69 70 73 74 77 79
|
||||
63 60 58 55 53 50
|
||||
68 71 72 75 77
|
||||
34 36 39 40 43 44
|
||||
20 22 23 26 28
|
||||
48 46 44 42 39 38
|
||||
96 94 91 88 85 83 80 78
|
||||
79 76 74 73 71 70 67 64
|
||||
26 24 21 20 19 16
|
||||
67 69 71 73 76 77 80
|
||||
72 71 70 67 65
|
||||
60 57 55 54 53 51 50 47
|
||||
72 73 76 78 79 80 81 83
|
||||
64 67 69 70 72 73 74
|
||||
41 42 45 48 49 51 52 55
|
||||
85 88 89 90 91 94 95 98
|
||||
96 93 91 89 86 85 83
|
||||
72 71 68 66 63
|
||||
86 89 91 92 95 96
|
||||
35 38 39 41 44 45
|
||||
12 15 16 18 21 22 24
|
||||
65 63 60 59 57 54 52
|
||||
37 34 31 29 27 25 22 19
|
||||
@@ -0,0 +1,24 @@
|
||||
use lib $*PROGRAM.parent.parent;
|
||||
use Lib;
|
||||
|
||||
sub safe($report) {
|
||||
my $diff = $report.rotor(2=>-1).map({ $_[1] - $_[0] }).List;
|
||||
so (1 <= $diff.all <= 3 or -3 <= $diff.all <= -1)
|
||||
}
|
||||
|
||||
grammar Solution does AOC {
|
||||
token TOP { (^^ <report> \n)+ { make $/[0]>><report>>>.made; } }
|
||||
token report { (<num> \h*)+ { make $/[0]>><num>>>.made;} }
|
||||
token num { \d+ { make val($/.Str) } }
|
||||
|
||||
method part1(::?CLASS:U: $v) {
|
||||
$v.map(&safe).Bag{True};
|
||||
}
|
||||
|
||||
method part2(::?CLASS:U: $v) {
|
||||
$v.map({so safe(.combinations(.elems - 1).any)}).Bag{True}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Solution.main()
|
||||
Generated
+39
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730200266,
|
||||
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
||||
"path": "/nix/store/m68ikm8045fj7ys7qvgr608z9l70hh1k-source",
|
||||
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "systems",
|
||||
"type": "indirect"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
outputs = { self, nixpkgs, systems }: let
|
||||
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f { inherit system; pkgs = nixpkgs.legacyPackages.${system}; });
|
||||
in {
|
||||
devShells = eachSystem ({pkgs, ...}: {
|
||||
default = pkgs.mkShell {
|
||||
packages = [pkgs.rakudo pkgs.just pkgs.watchexec];
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user