Add 2024 AoC, solution for day 1 and 2

This commit is contained in:
Maya Herrscher committed 2024-12-02 09:31:20 +01:00
1 parent 4a5a3ba757
commit 4790d7bc53
10 files changed
+2222

No files matched your search

+78
View File
@@ -0,0 +1,78 @@
--- Day 1: Historian Hysteria ---
The Chief Historian is always present for the big Christmas sleigh launch, but nobody has seen him in months! Last anyone heard, he was visiting locations that are historically significant to the North Pole; a group of Senior Historians has asked you to accompany them as they check the places they think he was most likely to visit.
As each location is checked, they will mark it on their list with a star. They figure the Chief Historian must be in one of the first fifty places they'll look, so in order to save Christmas, you need to help them get fifty stars on their list before Santa takes off on December 25th.
Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star. Good luck!
You haven't even left yet and the group of Elvish Senior Historians has already hit a problem: their list of locations to check is currently empty. Eventually, someone decides that the best place to check first would be the Chief Historian's office.
Upon pouring into the office, everyone confirms that the Chief Historian is indeed nowhere to be found. Instead, the Elves discover an assortment of notes and lists of historically significant locations! This seems to be the planning the Chief Historian was doing before he left. Perhaps these notes can be used to determine which locations to search?
Throughout the Chief's office, the historically significant locations are listed not by name but by a unique number called the location ID. To make sure they don't miss anything, The Historians split into two groups, each searching the office and trying to create their own complete list of location IDs.
There's just one problem: by holding the two lists up side by side (your puzzle input), it quickly becomes clear that the lists aren't very similar. Maybe you can help The Historians reconcile their lists?
For example:
3 4
4 3
2 5
1 3
3 9
3 3
Maybe the lists are only off by a small amount! To find out, pair up the numbers and measure how far apart they are. Pair up the smallest number in the left list with the smallest number in the right list, then the second-smallest left number with the second-smallest right number, and so on.
Within each pair, figure out how far apart the two numbers are; you'll need to add up all of those distances. For example, if you pair up a 3 from the left list with a 7 from the right list, the distance apart is 4; if you pair up a 9 with a 3, the distance apart is 6.
In the example list above, the pairs and distances would be as follows:
The smallest number in the left list is 1, and the smallest number in the right list is 3. The distance between them is 2.
The second-smallest number in the left list is 2, and the second-smallest number in the right list is another 3. The distance between them is 1.
The third-smallest number in both lists is 3, so the distance between them is 0.
The next numbers to pair up are 3 and 4, a distance of 1.
The fifth-smallest numbers in each list are 3 and 5, a distance of 2.
Finally, the largest number in the left list is 4, while the largest number in the right list is 9; these are a distance 5 apart.
To find the total distance between the left list and the right list, add up the distances between all of the pairs you found. In the example above, this is 2 + 1 + 0 + 1 + 2 + 5, a total distance of 11!
Your actual left and right lists contain many location IDs. What is the total distance between your lists?
Your puzzle answer was 1660292.
--- Part Two ---
Your analysis only confirmed what everyone feared: the two lists of location IDs are indeed very different.
Or are they?
The Historians can't agree on which group made the mistakes or how to read most of the Chief's handwriting, but in the commotion you notice an interesting detail: a lot of location IDs appear in both lists! Maybe the other numbers aren't location IDs at all but rather misinterpreted handwriting.
This time, you'll need to figure out exactly how often each number from the left list appears in the right list. Calculate a total similarity score by adding up each number in the left list after multiplying it by the number of times that number appears in the right list.
Here are the same example lists again:
3 4
4 3
2 5
1 3
3 9
3 3
For these example lists, here is the process of finding the similarity score:
The first number in the left list is 3. It appears in the right list three times, so the similarity score increases by 3 * 3 = 9.
The second number in the left list is 4. It appears in the right list once, so the similarity score increases by 4 * 1 = 4.
The third number in the left list is 2. It does not appear in the right list, so the similarity score does not increase (2 * 0 = 0).
The fourth number, 1, also does not appear in the right list.
The fifth number, 3, appears in the right list three times; the similarity score increases by 9.
The last number, 3, appears in the right list three times; the similarity score again increases by 9.
So, for these example lists, the similarity score at the end of this process is 31 (9 + 4 + 0 + 0 + 9 + 9).
Once again consider your left and right lists. What is their similarity score?
Your puzzle answer was 22776016.
Both parts of this puzzle are complete! They provide two gold stars: **
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env python3
import sys
if __name__ == '__main__':
tuples = [[int(l) for l in line.strip('\n').split(' ')] for line in open(sys.argv[1])]
first, second = [sorted(a) for a in zip(*tuples)]
# first = []
# second = []
# for line in lines:
# f, s = line.split(' ')
# first.append(int(f))
# second.append(int(s))
# first.sort()
# second.sort()
# challenge 1
res1 = sum([abs(x-y) for (x,y) in zip(first, second)])
print(f"challenge 1:\n{res1}\n")
# challenge 2
res2 = sum([x * second.count(x) for x in first])
print(f"challenge 2:\n{res2}")
+1000
View File
@@ -0,0 +1,1000 @@
15244 50562
81245 49036
92897 21393
63271 60643
49672 33212
92232 76048
53492 58600
92941 61161
58509 86979
28174 73806
70084 21118
24410 68037
84499 63407
66548 35177
65580 63759
87805 49036
83099 19486
18390 12243
26848 76511
18807 86451
72147 24247
79927 19614
11257 32484
58028 46123
75951 64756
50715 78058
95795 74458
32111 39063
46546 38789
72734 39167
98182 93444
62716 53597
89475 25175
39176 55091
40923 88724
62512 51774
86618 93444
52758 47249
13428 93526
21791 94210
93809 21118
17938 14392
60129 64756
70192 49036
12155 79882
40333 53270
23806 88706
46661 85277
88336 57672
87513 36284
41580 97455
39488 79018
53900 78058
63780 98092
18471 20090
77849 73059
93111 78100
52950 22317
81379 35177
91351 19771
14227 53597
51335 39645
98624 98092
21994 54585
60107 60337
63161 47739
42618 96226
94665 84252
79153 34048
78730 80552
75722 70308
68857 47918
88672 98092
59881 27613
85772 32111
30276 98092
14586 84246
67593 49036
72269 13771
25858 56490
33541 15922
16446 54557
47844 62540
78173 49722
50682 88706
75282 74146
62042 83481
18797 76066
24212 35217
55048 57348
91631 84573
93807 97649
88119 98092
19366 77445
76255 50452
98264 93444
64583 34766
96480 54682
67367 64709
12629 53597
55622 98092
48715 75722
38717 98460
88940 42098
57583 21667
13512 32111
89814 60737
64756 93444
16224 53597
10346 46433
73809 55198
80544 20677
11856 76359
59087 21118
72673 20090
49449 45231
20810 98650
28257 76359
72761 88706
87721 84970
33910 17682
71512 76359
51593 34928
52645 73953
65785 21745
29202 39203
84191 30175
90538 28190
36816 33095
74544 38282
97584 54184
58739 93390
75540 64756
68067 64756
52407 25292
15044 66413
20591 93444
25885 37703
26653 32104
42596 88313
23950 64756
52254 88313
70806 44075
42195 20677
36372 36394
47944 93575
38297 21118
19998 76359
88241 78058
73698 44859
92258 29814
98092 78058
28030 88927
53514 59214
77999 30893
66582 71673
79423 10257
46938 86494
42971 21118
11339 13583
71889 43763
25429 62716
81687 15843
35428 14294
21885 88053
98374 37224
81362 34784
41486 20677
20831 98092
26838 45057
89226 64709
11351 66528
20955 49036
34764 42441
43198 21118
54892 21799
64587 51818
62645 88706
39255 32111
65266 40330
20283 30516
56574 21118
12809 35177
23338 15079
58721 76273
68541 33747
46673 34048
59073 25694
80216 62716
81975 28478
44297 45993
34344 98092
63009 28253
43350 24492
95286 35177
33964 82330
87854 76359
23407 81183
95569 74797
45440 77445
80991 19568
30893 61274
26305 69824
60205 68773
12663 76359
43419 89650
39569 77945
73240 17501
84277 39378
94177 89662
95690 94786
92242 91731
73905 51412
35977 13583
27680 20677
79830 79733
84278 52001
85984 62716
39122 37115
78800 35929
33253 76179
83659 33516
91248 15310
89362 39762
15884 24386
98545 18731
15249 34048
47287 77445
68392 27779
62854 73116
43214 39063
65154 73341
71451 89287
85490 10108
10175 60337
79597 54843
15040 15044
96993 21393
36177 66813
44659 38606
10713 49127
95267 84970
38841 75464
33233 71632
73302 93444
40471 21118
26947 80385
39627 51365
47637 30893
53778 29214
79782 45138
10038 45411
86184 64709
69322 93444
70602 88706
85109 49036
58501 31677
97931 25694
24913 88313
19478 93437
51774 23744
45194 46530
78436 13583
75773 53334
24862 77445
98325 49788
68242 44288
21878 78058
22527 15044
53407 98092
33702 78511
76946 86061
34943 94066
66974 23236
87132 37827
28641 88706
78825 49515
14741 98092
56627 38087
47539 85498
40528 88706
71885 11213
83869 60337
13761 97944
75267 94765
76391 40872
84919 45561
82510 26839
42950 66528
53597 88930
51068 43621
41152 77639
82758 52077
38873 70358
88084 36028
96405 64127
24799 34048
77846 98859
20374 69465
63292 73846
11172 84410
23525 74835
94244 21118
32196 95922
28936 38955
27350 25044
20053 63490
62187 53533
15008 20677
44778 75218
34221 98092
39018 98053
23017 49363
87337 21579
72930 17695
93295 39063
66854 16885
34104 34048
60507 13583
10728 15374
24778 14446
71424 89693
40413 18036
78058 75722
37560 88706
13236 77445
87173 93444
73989 37520
14985 45194
24184 81289
28240 76359
12680 21118
97498 36199
93727 75722
17373 64709
15927 39063
30358 20677
65650 35177
46846 81415
53260 86686
32998 80757
61488 21055
95554 23175
19043 88313
99442 65217
35322 56161
58264 30893
48887 76048
96519 97502
88445 49036
22815 21393
26997 56009
45084 25370
82066 63417
88706 13583
37524 92452
67340 90779
37641 60337
84745 45323
11631 83982
19247 76359
92635 34048
36981 35177
31598 74065
54121 28812
76881 60337
99584 27133
55312 55677
83419 35177
13942 23226
89059 79979
45943 14892
49359 83296
68331 84970
36265 20090
46411 98346
25016 74405
61228 86987
47787 64766
61125 43591
23793 91663
20371 49202
40797 98092
45793 88706
68119 25069
93194 73910
29041 68173
40414 90131
35827 54613
95241 34755
34804 49863
19037 54929
15853 56399
28746 57681
33009 13250
37386 50787
89907 88313
65824 37078
29642 18922
25336 60337
77952 46523
44241 87880
25674 39063
21393 48408
58355 99461
69496 39332
27282 98092
69938 71743
83723 88313
88439 45323
46485 88255
39718 23226
23065 93444
27197 78058
72503 76359
20982 64709
60535 63346
38653 13583
77768 52721
11298 49544
42013 66528
18141 45194
81075 96111
39115 37630
18584 71632
73719 94863
85615 69932
16171 24776
78057 89054
97570 12724
51603 32111
62411 76116
72300 95646
34238 21393
38052 45323
29020 84647
41893 45194
39513 48753
11610 14667
95685 21393
95779 20677
15324 63196
76334 94163
68091 45194
38482 70862
15369 88313
89175 64021
60543 34048
56673 50331
49457 34048
71887 13583
88321 21118
71071 23226
67178 49036
91821 21118
20076 10076
87303 84970
57511 12268
43501 30007
91975 66528
15448 72284
69907 43654
25571 11414
52353 15044
69803 78058
40474 52042
26253 70310
39802 97896
83210 97215
37474 88313
31093 97572
42301 23226
19726 13583
94312 49036
58482 25755
98687 38510
19047 98092
26950 78058
71158 28096
96412 84970
35920 30893
44526 99812
42755 51182
24379 30893
70947 60543
54882 71632
51233 33596
20462 79975
53935 84134
74070 62410
54102 22085
13298 20677
26602 92907
42648 49332
22183 93444
30822 98092
86804 77932
10838 88167
24523 65219
41568 62650
80060 79089
21439 70889
66602 41342
19704 34111
67226 95394
65479 92893
37260 49036
31997 30937
97707 31068
13170 78674
26045 35177
24059 35177
32491 33653
75897 71632
10612 84970
11001 88313
35498 68825
96341 10573
23226 39063
69398 67618
17730 60337
86503 45099
72504 98743
82150 90026
68294 54832
80912 34048
96999 49036
97530 20090
35480 49036
20998 30893
70873 60337
91802 62572
54034 15709
32710 84970
58337 58861
59198 59125
61993 93321
79647 21393
26291 54259
74198 76048
57851 49450
75838 37799
60309 13382
86676 72545
29406 23958
76718 75217
33197 67338
65924 20094
88612 52547
75554 14101
36525 94200
70266 20090
36358 87645
36508 93007
28589 91657
48088 77015
22798 11552
56726 20677
80189 32314
21360 96490
90866 88706
39003 18500
27798 10095
66032 15135
11051 34048
94174 88313
15442 61388
10452 20090
11929 13583
34739 41426
64828 49036
73891 39034
52449 99470
71065 77445
89965 71632
60544 34717
21118 78369
49478 35177
26213 93444
49857 23226
74220 32262
72833 27081
38455 99610
54342 61755
43456 26783
24034 76570
32201 17321
23799 39823
72637 37646
10964 34048
42818 20090
21006 39063
39063 82696
30375 66442
15052 93444
87906 50391
17028 10100
81936 32511
12837 64709
16027 78058
49036 60337
99212 39063
28629 21118
65863 84395
20677 39063
92405 60182
55155 39063
39167 69664
74584 30893
69147 41166
75535 23751
41314 88960
47916 76048
95846 15467
14883 29065
85080 93428
52335 68547
98645 93444
39194 96760
73927 23226
90575 88313
46134 11217
85511 31236
10109 37785
20240 30893
26094 56917
35316 34048
73503 25694
89783 93444
76048 84368
63277 64756
70675 53597
44803 20677
47915 20090
12885 20090
96783 88706
55441 39063
28482 98092
91088 20088
56209 49036
73427 54203
84253 46441
45378 88313
61961 65758
68877 21118
99259 53597
52459 33058
52656 56240
95881 45231
77445 13060
91203 71632
80736 20127
33376 22802
35538 34048
98323 92633
51634 45231
55669 87627
21536 17362
32629 77445
49199 71632
57371 20583
23040 90921
73189 76359
18892 84970
75932 53597
35376 53731
29756 88313
80575 64370
11795 42629
72509 82819
80073 66528
39611 78343
55678 77155
74003 35177
82981 87429
44472 88313
15879 43889
92293 30401
68169 72422
46139 13583
25753 71632
29238 13583
65772 94594
72372 98661
49282 29132
59258 51774
20268 19289
68202 10161
30853 12555
79108 66252
93219 49036
97625 14093
15662 78058
74532 12621
84970 66528
43513 68633
24015 37782
61575 50110
75452 32111
95466 69622
27039 13583
72285 35711
84251 33375
29424 76359
58618 70025
14379 66528
89386 88706
93381 20090
91398 98680
42769 45231
12169 87022
25979 78058
72635 41261
17059 63554
47259 79838
76636 98092
73546 95012
91197 19703
65589 88706
73955 16375
23737 62914
57497 65544
89971 53597
65549 60337
49793 76048
47384 76610
23011 71632
50105 41881
56427 43543
30880 76048
24879 88313
68581 69278
74682 15597
43180 76048
90603 49036
52305 12532
22850 81110
83915 39167
19676 43682
18372 71954
89452 88706
59733 65480
70454 82540
60701 46004
90655 83636
70929 71632
28216 29450
96165 67274
34322 77426
31874 57584
54166 90667
99511 98508
31060 92465
55106 51095
79552 22669
27806 75575
46797 33693
64746 32111
76861 10157
76339 65246
13583 91436
14467 16938
85582 35177
13718 20378
99759 66607
59581 15550
96543 22529
86658 75460
65202 88706
38311 38185
19721 38534
20090 65369
21044 60105
45323 93444
41853 88706
48731 39841
44220 71632
49345 80849
77455 96766
64991 79807
84833 99183
15508 15491
31649 95360
47963 15187
32556 10033
98424 72571
20214 45512
92261 73300
83550 30893
40965 30434
73994 76048
55035 53597
25828 60337
75771 88313
67673 77526
44405 93052
18454 90175
88189 33126
87628 49036
71632 71504
37621 85292
23775 66528
52816 35363
30089 60337
98618 96587
44216 21118
26104 88313
42299 45510
45953 35177
88461 49036
94707 98092
44832 34048
30018 97006
10073 60126
32801 21118
93444 78058
14724 75670
88496 89181
97226 64756
44779 84970
20417 20090
74763 34048
86926 21988
82229 51396
41522 77498
97004 64462
94063 53597
33439 77445
52901 86349
95858 45194
46763 37729
99339 32386
97353 39063
30474 20090
29221 48754
54778 62716
32771 39063
20116 71632
69722 87766
51398 43440
97793 76359
56926 32111
66003 75722
11344 94388
45264 39251
94465 49036
12978 38585
17184 53348
87705 34048
32187 85695
51481 78692
54232 60337
99572 51669
29822 15075
65918 82780
66528 23226
40810 85626
71957 88313
93701 88706
10667 73326
51857 77839
13968 15900
99521 15237
43540 92443
27624 12544
65271 76048
44186 14578
33230 21393
33874 35177
54932 45194
18315 53578
69769 71632
75322 51896
20861 47764
88546 23226
29838 93444
83883 52312
67889 35177
59762 39167
30665 65756
13966 93444
38266 43913
60711 39167
42774 72205
76359 37929
65904 13043
34048 77445
38275 66528
84943 34580
50731 74327
64612 53597
14016 49346
55402 66508
93047 76359
49251 20090
75392 87115
90871 76589
13432 49036
18501 19808
73315 38104
18380 78457
56744 85328
44147 13583
98969 79480
16683 63967
83183 68296
33184 80175
36362 93444
40671 53597
65788 71632
23573 75722
50571 60337
67765 76048
73101 48453
67112 35176
46594 70172
75172 17447
45231 76197
20392 53244
35352 32191
20609 45194
78496 95165
12271 85861
89991 76048
65923 30779
71880 30893
73845 19368
25694 77445
44679 71632
95542 29625
72865 48533
43025 65302
38909 78058
38961 77445
12553 66528
66378 76359
79514 46457
96727 76359
12664 91220
22671 32111
60272 21393
54910 43373
78968 52670
31357 84820
98176 98092
43398 88955
51128 13514
97517 39212
53814 40263
56961 35177
90552 31236
13602 13583
12187 44890
47432 44401
84078 64709
77515 71632
88313 70149
69118 78954
75221 27687
64709 20090
89680 59037
31715 65294
61413 21118
75865 32111
67755 31175
52584 94277
47546 95471
91225 55015
28913 58527
65645 71632
19183 39377
47460 95947
75848 23226
56518 43259
60240 48233
31724 84970
37699 76048
18796 64805
37497 45231
42751 75722
28509 34048
90061 17966
65385 83274
72856 25904
41016 21118
86979 93485
18571 88706
37984 84970
36879 21118
72715 56620
88099 34048
61613 85581
15090 77445
35177 86160
52551 58172
60337 20677
95870 77445
51272 34048
31236 15332
77046 35697
+62
View File
@@ -0,0 +1,62 @@
--- Day 2: Red-Nosed Reports ---
Fortunately, the first location The Historians want to search isn't a long walk from the Chief Historian's office.
While the Red-Nosed Reindeer nuclear fusion/fission plant appears to contain no sign of the Chief Historian, the engineers there run up to you as soon as they see you. Apparently, they still talk about the time Rudolph was saved through molecular synthesis from a single electron.
They're quick to add that - since you're already here - they'd really appreciate your help analyzing some unusual data from the Red-Nosed reactor. You turn to check if The Historians are waiting for you, but they seem to have already divided into groups that are currently searching every corner of the facility. You offer to help with the unusual data.
The unusual data (your puzzle input) consists of many reports, one report per line. Each report is a list of numbers called levels that are separated by spaces. For example:
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
This example data contains six reports each containing five levels.
The engineers are trying to figure out which reports are safe. The Red-Nosed reactor safety systems can only tolerate levels that are either gradually increasing or gradually decreasing. So, a report only counts as safe if both of the following are true:
The levels are either all increasing or all decreasing.
Any two adjacent levels differ by at least one and at most three.
In the example above, the reports can be found safe or unsafe by checking those rules:
7 6 4 2 1: Safe because the levels are all decreasing by 1 or 2.
1 2 7 8 9: Unsafe because 2 7 is an increase of 5.
9 7 6 2 1: Unsafe because 6 2 is a decrease of 4.
1 3 2 4 5: Unsafe because 1 3 is increasing but 3 2 is decreasing.
8 6 4 4 1: Unsafe because 4 4 is neither an increase or a decrease.
1 3 6 7 9: Safe because the levels are all increasing by 1, 2, or 3.
So, in this example, 2 reports are safe.
Analyze the unusual data from the engineers. How many reports are safe?
Your puzzle answer was 624.
--- Part Two ---
The engineers are surprised by the low number of safe reports until they realize they forgot to tell you about the Problem Dampener.
The Problem Dampener is a reactor-mounted module that lets the reactor safety systems tolerate a single bad level in what would otherwise be a safe report. It's like the bad level never happened!
Now, the same rules apply as before, except if removing a single level from an unsafe report would make it safe, the report instead counts as safe.
More of the above example's reports are now safe:
7 6 4 2 1: Safe without removing any level.
1 2 7 8 9: Unsafe regardless of which level is removed.
9 7 6 2 1: Unsafe regardless of which level is removed.
1 3 2 4 5: Safe by removing the second level, 3.
8 6 4 4 1: Safe by removing the third level, 4.
1 3 6 7 9: Safe without removing any level.
Thanks to the Problem Dampener, 4 reports are actually safe!
Update your analysis by handling situations where the Problem Dampener can remove a single level from unsafe reports. How many reports are now safe?
Your puzzle answer was 658.
Both parts of this puzzle are complete! They provide two gold stars: **
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env python3
import sys
def safe(report):
if report == sorted(report) or report == sorted(report, reverse=True):
start = report[0]
for l in report[1:]:
if 1 > abs(l-start) or 3 < abs(l-start): return False
start = l
return True
return False
if __name__ == '__main__':
reports = [[int(x) for x in line.strip('\n').split(' ')] for line in open(sys.argv[1])]
# challenge 1
saferep = sum([safe(r) for r in reports])
res1 = saferep
print(f"challenge 1:\n{res1}\n")
# challenge 2
for r in reports:
if not safe(r):
tolerate = False
for i in range(len(r)):
r1 = r[0:i] + r[i+1:len(r)]
if safe(r1):
tolerate = True
break
saferep += tolerate
res2 = saferep
print(f"challenge 2:\n{res2}")
+6
View File
@@ -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
View File
@@ -0,0 +1,1000 @@
31 34 36 38 40 43 46 44
67 68 70 72 74 77 79 79
32 35 36 38 42
18 21 22 24 27 30 35
63 66 67 66 69 72
63 64 67 64 65 67 64
35 36 38 41 38 40 42 42
59 62 63 64 66 64 67 71
55 57 55 56 61
58 60 62 62 65 67 68
84 86 89 91 93 94 94 91
32 34 36 36 37 39 41 41
13 15 18 19 19 21 22 26
61 64 64 67 68 74
56 57 58 61 65 66 68
53 56 57 61 62 64 62
78 80 84 85 85
38 39 41 45 47 51
2 5 8 9 12 16 18 24
50 51 53 55 60 61
31 32 37 39 40 42 40
46 48 53 54 54
40 43 45 51 55
31 32 35 37 44 45 51
15 12 15 18 20 23 25 27
78 76 79 80 78
46 45 48 49 52 54 54
17 16 17 20 24
80 78 80 82 83 90
48 47 44 46 48
62 60 59 62 61
26 23 24 26 24 26 28 28
4 3 1 4 5 7 9 13
48 45 43 45 47 52
93 90 92 95 95 98
80 79 81 81 83 84 83
6 4 4 6 8 8
8 5 6 9 12 12 16
42 41 41 44 45 47 54
66 63 64 68 70 73
45 43 44 46 50 49
5 4 7 11 12 14 14
72 71 75 78 80 84
79 77 79 82 83 87 88 93
75 74 76 77 84 85
26 25 28 30 36 39 38
26 25 26 32 32
49 47 50 53 60 61 65
18 16 17 18 23 29
73 73 74 75 78
43 43 46 47 49 50 51 50
87 87 89 90 93 93
52 52 55 58 62
78 78 81 82 83 85 91
48 48 46 49 51
89 89 92 93 91 92 95 94
13 13 15 14 16 19 19
68 68 65 66 68 72
39 39 37 38 39 46
23 23 25 25 26 29
90 90 93 94 94 95 98 96
26 26 27 30 30 31 32 32
61 61 64 66 66 70
34 34 34 36 41
35 35 37 39 40 44 45
70 70 74 77 79 82 84 82
16 16 19 23 26 28 29 29
41 41 42 46 50
33 33 34 38 40 46
28 28 29 36 39
79 79 85 87 88 90 89
66 66 69 72 77 77
49 49 51 52 59 63
38 38 40 42 49 56
78 82 84 86 88 90 91
41 45 48 50 52 49
60 64 67 68 69 72 75 75
78 82 83 85 89
33 37 40 42 48
78 82 85 87 89 87 88 89
2 6 5 6 7 9 7
1 5 3 5 6 8 8
81 85 83 84 86 90
65 69 67 68 69 72 74 81
15 19 21 24 26 26 28
4 8 11 14 14 16 15
9 13 14 14 17 17
15 19 20 20 22 26
9 13 15 16 16 22
16 20 23 27 30
18 22 25 29 31 29
1 5 6 8 10 13 17 17
9 13 17 20 22 26
28 32 33 37 40 46
30 34 36 38 40 47 50
44 48 54 57 59 60 61 58
9 13 16 22 22
62 66 68 71 77 81
36 40 42 49 54
43 50 53 55 56 58 60 63
5 10 11 13 10
5 11 12 15 17 19 19
34 39 40 43 47
50 57 59 60 61 63 70
38 43 44 43 46 48 51
79 85 88 85 87 86
72 78 79 76 78 80 81 81
42 48 47 48 52
55 62 63 66 68 65 70
47 54 55 55 58 59 60
79 85 87 87 89 88
7 14 17 20 23 24 24 24
68 73 75 75 76 77 79 83
9 16 19 19 24
66 72 73 77 79
12 18 22 23 24 23
26 32 33 36 38 42 44 44
30 37 39 43 46 50
66 73 74 75 79 86
47 53 58 60 62
46 53 59 62 59
56 61 63 66 68 75 76 76
23 29 32 34 39 40 44
33 40 41 43 48 49 56
13 12 11 9 11
41 38 35 33 33
99 96 94 93 90 88 84
20 19 17 16 13 7
80 79 78 75 72 70 71 70
88 87 88 86 85 83 84
44 42 41 44 43 43
23 20 17 18 15 14 10
22 19 18 19 12
17 16 16 13 12 9
38 36 36 35 32 31 34
41 40 40 39 38 37 35 35
63 61 59 58 56 56 53 49
30 27 26 26 21
47 45 41 38 37
48 46 45 41 43
27 26 24 20 19 19
17 14 10 7 3
66 64 60 57 52
82 81 78 73 70 68 65
93 90 87 84 82 75 77
83 81 80 73 73
41 38 32 29 25
50 49 48 41 36
83 86 83 81 78 75
39 41 39 37 36 37
39 41 39 37 37
61 62 59 58 57 54 50
61 62 59 57 51
72 73 72 71 74 73
90 92 93 91 88 87 88
31 33 30 31 28 25 25
74 75 73 72 71 70 73 69
78 81 78 79 78 71
66 69 69 66 63 61 60 57
7 9 6 5 5 7
51 53 52 52 51 51
90 92 89 86 86 84 80
88 91 91 90 89 83
52 55 54 50 48 46 45 44
87 90 88 86 82 81 78 81
46 49 48 45 41 38 38
41 42 38 37 33
90 93 91 90 88 84 81 76
52 54 52 46 43 42
43 46 43 36 38
12 14 11 10 8 7 2 2
29 30 23 22 21 17
68 71 65 64 61 59 56 51
99 99 97 94 93 90
46 46 45 44 47
65 65 62 60 59 57 54 54
90 90 87 86 84 81 80 76
22 22 20 19 18 17 10
56 56 55 53 55 54 51 49
46 46 47 44 45
94 94 95 92 90 90
51 51 54 51 47
64 64 62 64 62 60 55
99 99 97 96 96 93 90 89
70 70 70 68 66 64 66
91 91 89 87 84 84 83 83
92 92 92 91 89 85
11 11 8 8 6 1
81 81 80 76 73 70
56 56 54 50 48 45 43 45
72 72 69 68 64 61 59 59
80 80 77 73 69
61 61 59 55 49
24 24 21 20 15 14 12 9
38 38 35 32 26 28
53 53 52 51 49 42 42
60 60 54 52 51 50 46
42 42 39 36 34 27 20
16 12 11 8 7 4
34 30 28 27 25 22 25
94 90 88 87 84 84
84 80 77 76 75 74 70
65 61 59 58 57 55 49
72 68 71 68 65 64
75 71 70 71 70 71
97 93 91 88 85 87 86 86
29 25 23 26 22
92 88 86 89 86 83 80 75
85 81 79 78 78 77 75 73
80 76 75 75 72 69 72
59 55 52 52 49 49
60 56 56 54 50
75 71 71 70 67 60
81 77 76 72 70
36 32 31 27 29
86 82 79 77 73 71 71
56 52 49 45 41
94 90 86 85 80
95 91 88 87 84 78 76
63 59 56 55 54 47 49
63 59 56 54 48 48
70 66 59 57 55 53 49
24 20 18 15 8 7 6 1
61 54 51 50 47 46
31 25 23 21 19 16 15 17
89 82 80 77 77
58 53 51 48 44
63 56 55 52 50 47 45 38
58 52 50 52 50 47 45
86 79 80 79 82
70 63 61 60 63 63
54 48 47 45 46 42
58 53 52 54 52 45
54 47 44 41 39 39 36 33
56 51 50 50 49 47 49
79 73 73 70 69 69
80 73 72 71 71 69 67 63
70 63 62 60 59 58 58 52
21 15 12 9 6 2 1
42 35 33 29 31
36 30 26 23 23
30 23 22 21 18 16 12 8
29 24 20 17 14 9
47 42 36 34 33
99 93 90 89 82 81 78 81
29 22 17 16 16
59 53 52 50 48 46 40 36
97 92 85 82 81 79 78 71
52 57 60 61 62 64 70 73
14 13 11 10 9 7 5 1
42 44 47 50 53 57 60 64
34 27 27 25 25
92 90 90 92 99
73 75 76 78 82 85 87 85
23 19 21 18 16 14 8
21 26 27 28 30 27 33
26 23 24 27 31 32 31
30 31 33 32 29 28 26 26
42 44 45 46 46 48 49 55
45 49 52 53 55 60
22 26 28 31 32 35 37
47 47 46 42 42
61 61 60 62 61 58 56 50
15 15 15 18 21 19
28 26 22 19 12
23 29 30 33 30 32 35 39
20 20 17 16 13 9 7 2
76 72 71 70 67 65 59 55
78 81 81 82 83
35 40 42 44 47 49 49
87 83 86 83 82 82
37 32 30 27 24 20 20
21 21 23 21 28
41 39 40 42 45 48 51 51
74 74 73 70 68 67 65
84 85 84 82 80 76
45 45 39 38 38
47 43 43 41 38 31
33 33 32 29 22 21 15
31 37 40 40 47
62 62 63 65 67 68 69
70 67 64 63 61 62 57
39 34 33 30 29 26 26 19
63 63 64 66 66 68 69 71
38 45 48 51 50
53 59 63 66 65
59 59 56 56 55 56
71 67 66 64 60
48 50 57 60 60
73 73 75 76 76 77 77
62 62 63 70 71
45 41 38 34 33 31 29 26
85 85 88 89 92 89 92 90
64 61 60 59 56 53 48
49 47 48 51 53 53 53
17 16 13 15 16 18 18
56 57 58 62 65 72
13 13 18 20 20
76 72 67 66 64 58
4 11 12 13 15 19 19
32 28 27 24 21 14 11 11
11 11 10 10 6
42 42 44 45 47 53 56 60
96 95 94 93 91 91 89 87
77 80 77 75 74 72
41 45 49 52 55 56 59
30 35 36 37 38 38 41
69 72 73 76 78 80 80 84
78 74 71 69 68 64 66
21 16 12 10 6
94 90 86 83 83
81 85 88 89 90 88
43 45 43 39 37 33
99 95 94 91 94
57 57 54 52 50 47 45 39
24 25 23 22 15 14 14
88 84 83 80 79 76 74 74
98 94 92 90 89 85 80
37 37 38 41 44 44
95 96 96 93 92 85
6 6 7 9 15 17 16
68 71 78 80 81 85
35 37 39 40 41 42 43 43
30 34 37 40 41 45 45
9 13 15 15 16 19 22 26
55 49 46 45 42 40 41
76 72 68 67 63
26 33 36 37 34 35
51 44 41 39 41 39 35
12 9 11 14 15 16 18 15
42 42 45 45 46 48 49 56
4 8 9 10 8 8
17 15 18 19 21 22
53 53 50 49 44 42 44
8 12 16 18 20 24
67 68 70 69 69
56 49 44 43 42 40 43
39 41 42 43 49 50
39 37 40 43 44 49 53
59 63 66 72 72
44 44 47 48 49 52 56 56
62 59 57 57 58
83 83 81 78 77 73
54 58 60 62 69 74
37 35 35 32 26
39 43 46 52 55
31 27 24 22 21 20 18
73 80 83 84 86 90
67 69 67 67 64 63 61
53 54 51 48 45 44 45
34 34 35 36 38 40 37 37
73 75 72 71 68 65 62 62
39 46 52 53 55 52
32 32 31 29 26 28 28
6 9 12 10 7
26 26 28 32 35 38 40 44
67 70 67 65 58
32 33 32 31 30 23 20
17 16 16 13 9
81 80 79 77 75 69 66
22 21 21 22 24 26 29 33
91 91 93 91 92
28 28 29 31 32 33 32
39 39 40 37 34
9 9 9 8 5 3 1 1
21 19 18 14 13 12 15
58 54 51 50 48 48 45 41
14 12 6 4 3 5
19 22 22 19 16 17
87 80 74 72 68
94 94 90 88 84
16 10 13 10 8 8
60 53 50 53 55
56 53 50 47 46 47 44 42
25 28 30 31 33 35 42 39
33 28 25 23 20 19 15
44 41 38 36 34 31 30
51 49 48 45 42 41 39 37
44 43 42 41 38
88 85 82 81 78 76 75 74
30 27 24 23 22 20 19
94 92 90 89 88 85
62 65 68 70 71 74
48 50 53 54 57
49 50 52 54 55 58 61 62
51 54 56 57 60 63 66 68
29 26 25 23 21
17 14 11 8 6 5 2
18 19 20 21 23 24
67 65 63 62 59 57
52 49 48 47 45 44 43
55 56 58 61 62 64 66 67
60 58 57 54 51 50
56 59 60 62 64 66
70 72 73 75 76
20 21 24 27 28 30
52 55 57 60 62 65
84 82 79 77 76 74
58 59 61 63 66 69 71 74
36 35 32 29 26 23 21
69 70 72 73 76 78 81
53 52 50 47 44 41 38 35
62 63 64 65 67 68
65 63 61 59 56 54 53 50
75 76 77 80 82 85 86
68 66 64 61 60 57 56 55
14 12 9 8 6 4 3
78 76 73 70 67 66 63
28 29 30 31 34 35 37
32 31 29 27 26 23 22 19
66 65 63 60 59 57 54
10 11 13 16 17 19 22
61 64 65 67 70 73 76 78
81 78 77 75 73
40 37 34 32 31
35 37 39 40 41 43 45 47
49 51 52 54 56 59 61 64
52 54 55 56 57
86 85 84 81 80 79
53 50 49 46 43
44 42 41 40 37
32 35 36 39 41 44 45 48
25 27 28 29 30 31
90 88 86 85 83
42 45 48 50 51 53 54
22 20 19 16 13
93 90 87 84 82 80 78
18 16 15 13 12 10 7 4
96 94 92 89 87 85 84 83
38 41 44 46 49 52
63 62 60 57 55 52 49 46
51 52 55 58 61 64 67
77 78 79 82 84 87
58 61 62 63 65
55 58 59 62 65 68 69 70
29 28 25 23 22 20 18
18 20 22 24 26 29 32
77 78 79 81 83 86 87
15 14 11 9 6
72 71 68 67 66
82 84 85 87 88 89 92
50 49 48 47 44 42 40 39
82 80 78 77 74 71 68
60 58 55 54 53
71 72 73 76 77 79
38 39 41 44 45 47 50 51
65 62 61 59 56 53 51
56 57 60 62 65
34 37 39 42 44 47
12 14 16 19 22 25
19 17 16 15 14 12 10
22 20 19 17 16 15 13 10
82 79 78 77 74 71
15 13 10 7 6 4
56 58 59 61 63 65 66 69
86 85 83 81 78 77 74
75 74 71 69 67 65
33 31 29 28 26 25 24 21
58 60 62 63 65 68 71 74
43 45 48 50 52
15 17 20 23 24 25 26 29
73 70 68 67 66 64 62
91 88 87 84 82 81
51 53 54 56 58
9 11 14 17 19 22 23 26
55 52 49 47 46
9 11 13 15 17 18 20 21
89 91 92 94 96 97 98
58 59 60 61 64
14 13 10 9 8
30 33 36 39 41
75 78 80 81 84 85 87
40 42 43 45 46
71 70 68 67 65
21 23 25 28 31 33 34 36
54 51 50 49 48
61 64 67 70 73 74 75 78
19 17 16 14 12 9 8 5
22 24 27 28 30 32
80 83 84 86 88 89 90
95 93 90 89 88 85
24 26 27 30 33 35 37
96 93 90 89 87 85 82 81
82 79 76 74 73 71 69 67
77 74 71 69 67 65 64 61
29 26 23 22 20 19 16 15
72 69 66 63 61
13 12 10 9 7 6 5
15 18 21 22 24
30 28 26 23 21 19 18
49 46 43 42 39 37 36 33
62 64 67 70 73 75 78 79
47 46 45 42 41 40
44 43 42 41 38 36
52 50 49 47 44 41 38 36
45 42 40 37 36 34 31
16 14 11 8 6 5
69 66 65 63 61 59 56
29 26 24 21 20 19 18
54 52 50 47 46 43 40 38
80 83 85 86 88 89 91 92
39 40 43 45 48 51 52 55
80 79 78 77 76 75 72
8 10 11 12 15 16 18 19
86 89 90 91 93
48 51 52 55 58 59 61 63
75 72 70 67 65 62 60 59
11 14 17 18 19 20 23 26
52 49 47 45 42 41 38 35
36 38 39 42 43 45 47 48
73 70 67 65 62
80 78 75 72 69
72 70 67 65 62 61 59
59 61 62 64 66
8 11 12 14 17
45 47 49 50 53 55 58 59
51 50 48 47 46 43 42
16 18 21 23 24 26
21 20 19 16 15 12 11
13 16 17 20 23 24 25
94 92 91 90 89 86 83 80
94 91 90 87 86 83 80
17 14 12 11 8 7
23 21 18 17 16
76 75 74 72 71 70
43 41 40 37 36
32 34 35 36 39 40 43
19 21 22 24 26 28
13 14 16 17 19 22 24 26
18 15 14 11 9 8
63 62 60 58 56 55 52 51
71 72 73 75 77 78
40 42 43 46 48 50
84 83 80 78 75 72 70
28 31 32 34 37 39 40 42
27 25 24 22 20
79 77 75 73 72
86 84 83 81 80 79
81 83 86 89 92 94 96
85 86 88 90 93 96 97
81 78 75 72 71
14 17 20 23 26 28 30 31
66 65 62 59 58 57 54 52
54 56 58 61 64 66 67
37 35 33 31 30 27 26
75 73 70 68 67
76 75 73 70 68
25 28 29 31 33
70 73 75 78 80 83 84
42 41 40 38 36 34 33
20 21 22 24 26 29 31
24 21 19 17 14 11 9
77 75 73 70 68 65 63
55 54 51 50 48 47
78 77 76 75 73 72 69 68
29 27 24 21 20 19
73 71 70 69 67 64 62
91 94 95 96 97
11 13 14 16 19 20 23
63 64 66 68 70 71 74 76
64 63 61 58 57 56 54 53
46 49 51 52 54 55
20 22 24 25 28 31 32
46 49 52 54 56
74 77 79 81 82 85 86 89
45 47 50 53 54
58 57 55 54 51 50
91 90 89 86 85 83 82 80
49 46 43 42 39 36 35
75 72 71 70 69 68 65 64
42 41 39 36 33 32 31
59 61 63 64 67 69 70 72
79 81 83 85 86 87 90
35 34 32 31 30
76 73 71 68 67 65
5 7 8 11 14
26 28 29 30 32 33 34
80 83 85 86 87 89
19 18 16 14 13 10 7 4
21 18 16 15 12 11
64 67 70 72 75 76 79 80
5 6 9 11 13
87 85 82 80 77 75 72
23 22 19 18 17 16 15
51 50 47 44 41 38
34 33 31 30 29 27
39 36 33 30 27
15 13 12 10 9 8
27 28 31 33 35 36
31 30 29 26 23 20 19
47 46 44 41 39
60 58 56 54 53 51 49 48
50 47 44 42 39 36 33 30
70 68 65 64 63 60
61 63 66 69 72 75 77 78
19 17 16 13 10 7
51 50 47 45 44 42 41 40
72 73 76 77 80 81
69 68 65 64 62 60 58
47 44 41 38 35
33 30 27 24 22 20
54 51 50 48 46 43
96 95 94 93 91 88
77 76 73 71 69
2 3 5 7 9 10 12
20 21 23 24 25 26 27
28 26 25 23 21 20 18 17
52 55 57 59 60 63 64
37 35 32 29 26
62 61 60 57 55 53 52 50
80 82 83 86 87
64 66 68 69 71 72
22 19 16 14 13 11
98 96 93 91 88
22 25 27 28 31 32
63 61 60 57 56 55 53 50
13 10 8 6 4
35 37 38 40 41 42 43
95 94 93 90 88
98 96 93 90 88 87
39 40 43 44 45 48
21 24 26 27 28 29
31 34 36 39 40 41 42 43
68 65 64 61 58
47 49 52 54 57 60
26 28 31 34 36 37 40 43
82 84 86 89 91 93
78 75 74 72 71 70
43 46 49 50 52 53
64 66 67 69 71
1 4 7 9 10
47 49 50 51 53 56
54 53 52 49 46 43 42 40
59 58 57 56 53
29 28 26 23 20 18 15
41 42 45 48 49 52 54 55
30 32 34 37 40
34 37 38 41 43 46 48 50
18 20 23 25 26
61 63 66 69 72 74 77
34 37 40 42 45 48 49 51
64 61 60 59 56 53 50
71 68 66 63 61 58 55 53
25 22 20 19 16 15 14
25 22 21 19 18
13 15 16 19 22 24 25
53 54 56 58 60 62
6 7 8 11 14 16
61 60 59 58 56 54
89 86 85 82 79 76 74 73
19 21 23 26 28 30 31
90 89 88 86 83
68 69 71 72 74 75
67 65 63 61 59
13 11 9 7 6 5 4 3
52 53 54 55 56 59
82 80 77 76 74 73
11 9 6 3 2
59 60 62 64 65 67
69 67 66 64 62
65 67 68 71 74 75
73 74 75 78 80 83 84 87
96 93 91 88 85 83 81 80
28 25 23 21 19 16
61 62 63 66 67 70 73
86 87 88 90 91
69 66 63 61 59 58 56
24 26 27 28 31 34 37
15 16 18 20 22 23 24
64 66 67 69 71 74 75 76
77 76 75 73 70 68 66
26 27 29 31 34 36
95 94 93 92 90
1 4 7 8 10 12 14
66 64 62 60 58 56 55 54
40 42 44 45 47 50 52 55
16 17 18 20 22 24 26 29
27 25 24 21 19 16 13
99 96 95 93 91 89
29 32 35 38 39 40 43
96 94 92 91 88 85
51 48 47 45 43
37 35 34 31 28 27 25 23
92 89 87 86 83
69 71 74 77 80 83 85
17 20 21 22 25 27 28 29
15 16 18 19 21 22 23 26
50 52 54 56 57 58 59 60
63 60 57 54 53 50 47
57 59 62 64 66 67 68
82 81 79 76 74 73 71 69
34 35 37 39 42
81 83 86 89 90 92 95 98
1 2 5 6 7 10
57 55 52 51 50 48
2 3 5 7 8 11 12 15
14 11 10 8 5 4
11 14 16 19 20
73 76 78 79 81 84
70 71 73 75 78 80 82
24 27 28 31 34 37 38
47 45 42 40 38 35 33
30 29 27 26 23 22
13 16 17 18 19 21
58 55 52 51 48 46 45 42
73 72 69 66 63 62 60 59
21 19 16 15 12 11 9 8
70 71 74 77 80
57 58 59 60 61 62
39 36 33 30 29 26 24
36 35 33 30 28 25
51 48 46 45 43 42
69 70 73 74 77 79 80 83
33 35 36 38 39 40 43
48 47 46 45 44 42
14 15 16 19 22 25 28
76 79 82 85 88 89 90
55 56 58 59 62 64
1 4 6 7 9 10 12 15
64 61 59 58 57 54
30 29 27 25 24 22 20
67 65 62 59 56 54
70 69 68 65 64 63
93 92 89 87 85
26 25 22 21 19 16 14 13
30 31 34 35 38 40 41 42
33 35 37 38 41 44 46
91 89 86 85 83 82
59 62 65 67 70 73 75
62 64 65 68 69 72 73
19 22 23 26 28 29 32
40 37 34 33 32 29 27
34 36 39 41 44 46
3 4 7 10 13 15 16 19
74 72 69 67 66 65
78 76 75 73 72 70 67 65
2 5 8 9 11
8 11 14 17 19 22 25
39 42 44 46 48 51
36 35 34 31 30 27 25
38 40 43 46 48 49 50
64 66 68 71 73 76 78
66 69 70 72 73
64 61 60 58 55
84 81 79 76 74
14 17 20 21 23 25 27
77 80 81 84 87 88 91 93
20 17 14 12 9 6 3
81 84 87 89 92 95
73 72 71 70 67 64
50 48 47 44 43 41 38
62 64 66 69 72 74
35 34 32 31 28
79 78 76 74 73 72 71 70
35 32 29 28 27 26
63 62 60 58 56 54
19 16 13 10 9
80 78 75 73 71
68 65 62 60 58 57 56
36 39 40 43 44
46 44 42 39 36 35 34 32
29 31 34 37 40 42 43
57 55 53 52 49 46
87 84 83 82 80
13 10 8 6 3
92 91 90 88 85 84 83 82
36 33 30 29 27 25 23 21
39 38 36 34 32 30
77 80 81 83 85 86
79 81 82 83 85 88 90
24 25 28 29 31 33 36 38
87 85 83 82 80 79
88 90 92 93 94
17 19 20 21 22 25 26 29
37 34 31 30 27
23 21 19 17 16
27 25 24 23 22 19 18 17
13 12 9 6 4 1
81 83 85 88 91 93
15 14 12 10 9 7 6
44 46 48 51 54 55
27 25 23 22 20 18 17 16
45 48 49 51 52 53
23 25 27 28 30 31
60 59 56 54 53
70 73 75 76 78 79 80 82
32 29 27 26 23
7 8 9 11 14
80 81 83 86 89 92
85 84 82 80 77
95 94 92 91 89
20 17 14 12 11
20 18 16 14 13 10 9
26 23 21 19 18 17 15
25 27 30 33 36 39
58 59 62 65 68 69
16 19 22 23 24 25 28 30
71 70 68 67 64 62
31 28 27 24 22
5 8 10 11 12 14 15
88 87 85 83 82 79 77
52 53 56 57 59
45 47 48 50 51 54 56
49 51 53 55 56
92 90 89 86 85 83 82
84 85 88 91 94
79 77 75 74 72 70
67 66 63 62 61
84 87 90 91 93
84 83 82 79 78 76
78 79 81 82 83 86
17 18 19 22 23
49 51 52 53 56 59 61
29 28 26 23 21
73 75 76 79 82 83 85 87
52 54 56 58 61
83 81 80 77 74 73
74 76 79 82 85 88 90 91
80 79 78 76 75 73 72 70
59 62 65 68 71 73 75
27 29 31 34 37 39 41 43
12 11 8 6 5 3
49 48 45 43 42 39 36 33
26 25 22 21 18 17 15 12
20 18 17 16 13
56 54 53 50 47
46 43 41 40 38 36 35 33
6 7 9 11 14
45 48 50 52 55 57 58
35 37 39 42 44 47 50 51
93 92 89 88 87 84 81 79
15 17 20 22 25 28
65 63 60 57 55 53
84 81 80 77 76
79 82 85 88 89
84 85 86 88 91 93 94
42 45 46 49 52 53 56
16 17 20 23 24
59 60 63 65 68 71 72
48 49 50 51 54 55 57
52 55 57 60 61
42 45 48 49 52 55 57
18 17 16 14 13
20 23 26 28 29 32
22 19 17 15 14 12 11
72 74 76 78 79 80
11 12 13 16 19
24 27 29 32 34 37 39 40
18 20 22 25 26
68 70 71 74 76
49 51 52 54 56 59 61
29 30 33 34 36 37 39
80 81 84 87 89
52 55 57 59 62
58 56 54 53 50
28 29 32 35 36 39 40
21 18 15 13 10 7 6 4
79 80 82 83 86 89 92 95
46 48 50 52 55 56 59
41 43 44 45 47 49 50 53
18 20 21 22 25 27 29 32
22 24 26 27 30
82 79 78 75 74
86 85 82 81 78 75 73
51 49 46 45 42 41
85 88 89 90 93 94 95 98
52 55 58 61 63
60 59 57 54 52 50 47
68 69 71 74 75 76 79 80
39 42 44 45 47 49 52
56 53 51 49 48 45
78 81 84 87 90
3 4 6 7 8 10
25 28 31 33 36 39 40 42
59 62 63 65 67
93 90 88 86 85 82 80 78
35 33 32 30 29 28 26 25
28 30 33 36 39 41 42
88 85 84 82 81 80 78 75
26 25 24 23 20 19
81 84 85 88 89 92 93 96
31 28 27 24 23 22 20 19
96 95 93 90 89
69 72 74 77 80
97 96 95 92 91 88 87 84
86 85 84 82 80 79 77
44 42 39 37 36 35 32 31
70 68 66 65 62
79 80 82 83 85 88
28 31 32 33 34
15 16 19 21 24
73 75 77 78 80 83
50 52 53 54 57 60 63
81 79 78 75 72 70 68
46 49 52 54 55 57
57 56 53 50 49
41 42 45 46 49 51 54
86 83 81 80 79 78
50 51 52 55 58 61
61 64 66 69 71
15 16 17 20 23 26 27
56 59 60 61 64 65 68 71
72 71 69 66 65 62
35 36 39 41 42
79 81 84 85 87
72 70 69 66 65 64
59 60 62 64 65 66 67
28 27 26 25 24 23 21
34 32 30 29 26 24
14 16 19 21 23
61 63 66 67 70 73 75
62 64 66 69 72
52 54 56 57 58
67 70 72 75 78 79
74 72 70 68 66 64 63 61
86 84 81 79 76 75 73 71
31 30 28 26 23 22 20
78 79 81 82 85 88
20 21 22 23 25 26 28 30
12 9 7 4 1
97 96 95 94 92 90 89 86
51 53 55 58 59 60
53 52 49 47 46 43
44 43 42 39 38
67 70 73 75 78 80 83 84
68 66 64 61 59 56 53
49 46 45 43 41 40 38
70 68 67 66 65 63 61
40 39 37 34 33 30 28 25
16 18 20 22 23 25 28
79 78 76 74 73 70 68
69 67 64 61 59 57
50 52 55 57 58 59 62
46 49 51 54 56 58 60 62
55 57 60 62 63 66 69
99 97 94 93 92
26 29 32 33 36 37 39
13 15 18 20 22 23 25 27
76 77 80 82 85 86
32 33 36 39 40 41
27 26 24 21 19
12 11 10 9 7 6 5 2
50 53 54 57 60 62
23 25 28 29 31 33 34
31 33 35 36 37 39 41 43
48 49 51 53 54 55 58
70 67 64 62 59 57 55
37 38 39 41 42 44
71 74 76 78 80 82 84 87
61 63 65 67 68 70 72
87 84 82 80 79
3 5 6 8 11 13 14 17
95 93 91 88 87 85 84
34 37 39 42 45 46 49
61 58 56 55 54
17 14 11 8 6
50 48 45 42 40 38 35
52 51 50 47 44 42
21 22 23 26 28 29
26 29 31 32 33
46 45 43 42 41 39 37 36
85 87 89 92 94
78 76 75 73 71 70 69 68
59 61 63 64 66 69 70 72
20 17 15 13 12 11
25 27 30 31 32 34 36 37
68 71 74 77 79 80
73 72 69 67 64 62 60 59
22 20 19 18 16
49 47 45 43 40 38 36
70 71 72 75 76 79 81
66 67 69 70 73 75 77
94 91 89 87 84 81 79
45 46 47 49 52 54
31 33 34 35 38 41 43
21 19 18 17 14 12 9 8
54 57 59 60 61 62 65 66
39 42 45 47 48 51 52
97 96 93 90 88
38 35 34 31 28
91 89 86 83 81 79
77 80 82 83 86
36 35 33 32 31 28 26 23
37 40 41 42 44 47 48 50
42 43 44 46 48 51 52 54
79 81 82 84 85 86 89 91
38 40 42 45 46 49 50
21 19 16 15 12 11
35 33 31 29 28 27
42 41 40 37 35
85 82 81 78 75 73 72
22 25 26 28 31 34
77 74 71 69 68 67
71 68 67 64 61 58 57
68 66 63 61 59
31 32 35 36 38 39 41
33 30 28 26 23 21
18 15 13 11 9 6 5
60 63 66 67 68 70 71
38 41 43 44 45 47
View File
Whitespace-only changes.
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env python3
import sys
if __name__ == '__main__':
nums = [int(line.strip('\n')) for line in open(sys.argv[1])]
# challenge 1
res1 = ""
print(f"challenge 1:\n{res1}\n")
# challenge 2
res2 = ""
print(f"challenge 2:\n{res2}")
View File
Whitespace-only changes.