summaryrefslogtreecommitdiff
path: root/2024/_input
diff options
context:
space:
mode:
Diffstat (limited to '2024/_input')
-rw-r--r--2024/_input/day_01.txt1000
-rw-r--r--2024/_input/day_02.txt1000
-rw-r--r--2024/_input/day_03.txt6
-rw-r--r--2024/_input/day_04.txt140
4 files changed, 2146 insertions, 0 deletions
diff --git a/2024/_input/day_01.txt b/2024/_input/day_01.txt
new file mode 100644
index 0000000..fd6ff80
--- /dev/null
+++ b/2024/_input/day_01.txt
@@ -0,0 +1,1000 @@
+17633 15737
+79440 47531
+44767 73309
+86871 26386
+66575 90774
+31637 38259
+89855 50198
+81829 20253
+95071 98569
+34163 43719
+28696 84802
+10975 89855
+48232 15737
+14078 99983
+40882 73431
+75659 94769
+85341 13345
+92610 16338
+18043 59463
+60606 24540
+22376 46760
+14535 24785
+26022 94769
+90745 76304
+94386 84190
+22699 50602
+48716 38259
+93599 63674
+24797 57698
+89866 94029
+13841 87991
+12612 31743
+22889 53500
+84705 43272
+50982 26386
+19312 68554
+43985 36005
+23864 99058
+71953 45509
+58611 64279
+15949 98297
+89181 99781
+57095 54781
+19462 82924
+13989 32724
+74037 81607
+98414 34699
+17793 73309
+77332 64279
+17360 75855
+88430 38259
+59633 52523
+93603 31051
+93215 57119
+89750 48853
+73983 31051
+95163 35142
+50441 65929
+66767 72254
+96947 78965
+62870 50159
+46395 76148
+25246 21955
+39127 18070
+69589 72254
+87118 77505
+89577 11697
+64365 17982
+89417 90211
+38259 91050
+14458 32457
+42775 20442
+58228 72254
+87729 30434
+63480 17982
+90234 31051
+19242 94087
+77553 64344
+42962 27509
+20746 70689
+42003 14840
+24751 72254
+98825 66551
+35667 48627
+86088 43388
+87433 12947
+42556 73309
+77443 26386
+85947 66440
+26239 23875
+51904 10613
+45935 55396
+93900 79692
+94769 26138
+89944 29196
+16924 31743
+29441 72254
+31685 52714
+28455 38856
+82408 89991
+50492 79692
+48587 27909
+52190 51936
+14432 26239
+40296 90211
+87571 15975
+68554 82924
+60909 77747
+90581 50216
+17874 89227
+77699 84802
+52227 95383
+81281 38845
+74510 77249
+34913 52738
+17927 11147
+38246 67042
+95559 90562
+97142 94769
+17388 43583
+45933 73309
+61625 92202
+92202 60021
+32609 42173
+10121 15737
+42108 52145
+99781 88040
+71839 52086
+31215 12281
+23028 11321
+45513 36187
+44989 92435
+21042 26664
+41686 53092
+49396 13345
+87383 24542
+57374 94769
+92305 94769
+90956 73220
+59298 60825
+71833 61968
+39322 15153
+90211 98328
+78524 76232
+56222 48717
+88896 42647
+24989 84802
+15618 57610
+40750 15330
+57787 59202
+66076 64279
+27005 46356
+12299 27983
+99606 96968
+78648 88145
+90191 82924
+40731 26599
+28572 32457
+29036 39980
+12210 26664
+72284 11697
+76661 90364
+90125 24914
+42239 14455
+11589 61336
+33000 72254
+10758 31712
+10172 21525
+39561 91482
+47405 95316
+44894 83948
+46926 43967
+59896 87826
+85512 65546
+58641 79692
+83574 57878
+98203 84802
+43633 10581
+47564 69216
+87287 82731
+43747 13345
+91297 79692
+76432 18598
+75790 26386
+93818 96480
+31051 38259
+47511 64279
+97907 22026
+87367 90211
+59976 50541
+52149 99781
+17942 67693
+99139 69460
+66216 49858
+29264 38259
+82924 51350
+66027 25520
+82954 73309
+12290 67322
+20683 93568
+85750 13345
+54662 52685
+79346 31641
+76068 84568
+39015 79773
+30045 19435
+82962 25655
+20148 42108
+67813 29679
+65066 26239
+84222 63931
+13345 59242
+90893 48967
+51707 83112
+42399 15737
+40546 66000
+19343 92202
+95420 14200
+81543 55348
+28417 13345
+57947 91893
+76560 24540
+25531 23044
+60453 50868
+48959 38856
+66180 16455
+16907 83845
+79677 32420
+69680 92202
+65677 32375
+58869 79692
+49481 19672
+81530 26664
+30968 18603
+40003 36218
+70770 89227
+51169 17982
+39585 99781
+41887 90211
+98401 68715
+66079 60199
+79686 17982
+95976 34064
+62505 24540
+66440 31743
+66353 26239
+37729 66440
+78716 84802
+87428 62768
+52512 89855
+86117 84802
+54387 68022
+13759 78689
+40476 66769
+44961 19623
+99372 68799
+89090 79636
+61709 42060
+66586 11972
+68112 33028
+56457 31743
+58500 37748
+49835 52835
+69526 95383
+81736 84802
+72397 80320
+28792 44785
+67973 74969
+28140 79692
+99229 95383
+37502 67333
+21071 32457
+98028 82116
+13892 64667
+64351 19859
+39347 86071
+73309 94769
+25904 31051
+50933 28770
+81957 97102
+53641 15737
+88814 42916
+92575 26239
+62255 54132
+81785 72088
+75349 50602
+83203 89855
+98080 81605
+93942 31743
+97798 57279
+45256 73898
+51544 93706
+25195 88904
+68947 68366
+91830 68022
+91524 54353
+76708 31564
+90123 40095
+86890 21718
+98282 26239
+41961 42868
+11039 12856
+55505 73643
+56720 73309
+50589 35243
+18316 57600
+89706 26386
+77270 26934
+16280 31743
+38856 31317
+38306 72254
+22621 31743
+52085 35952
+25990 17841
+47713 46814
+50171 26239
+68656 30746
+16833 96013
+31650 59611
+38239 93728
+90966 22779
+20522 65624
+74289 88356
+30878 15020
+99343 90211
+46494 46080
+40055 98186
+62089 79296
+27261 11480
+14641 89227
+62672 51003
+43731 67153
+13641 93818
+81157 15737
+38752 93975
+22481 16596
+56161 26876
+11821 15737
+21702 42699
+95781 99704
+96637 61893
+52222 25556
+56805 32457
+43568 31051
+62828 15737
+19567 40953
+49559 25373
+55482 42108
+44986 95412
+53062 52392
+57314 26664
+37016 14626
+63361 92202
+68680 79692
+18476 89101
+20199 21632
+77823 89855
+69738 96520
+67170 40198
+79546 82924
+85110 88431
+54119 46332
+86781 92202
+90311 90211
+57902 82924
+54606 12067
+75696 90211
+31498 77415
+63061 47498
+20426 30513
+77880 79692
+80653 46725
+12847 77929
+67482 73832
+41457 22015
+96070 37125
+26083 87259
+15571 17982
+64763 81999
+69049 22033
+37215 73309
+68721 84808
+41483 43032
+19623 21237
+80415 94769
+40289 47860
+29800 15737
+51573 87470
+95147 93818
+49768 43274
+57896 47996
+11698 31743
+18534 93345
+33315 66184
+93295 26435
+13998 14286
+37866 42108
+27311 91778
+88630 50602
+61311 65732
+58088 54659
+39038 92202
+21263 32457
+68733 26239
+56327 26386
+10831 84802
+41475 14140
+65191 84802
+65689 10408
+99405 76417
+60130 26296
+62835 15737
+43765 25627
+37857 74612
+75626 26698
+82299 39722
+59124 44751
+11662 59626
+13403 38259
+84021 71058
+46515 31743
+19274 99781
+42981 66150
+81200 96138
+28115 52538
+66036 73617
+46632 44785
+44785 45999
+93611 94769
+58202 27856
+83448 31743
+47387 99781
+56227 19962
+10056 90211
+47436 42592
+25614 38259
+91347 94837
+93293 87462
+54018 13345
+93975 24540
+88534 28661
+55107 36119
+90676 30422
+74207 72254
+53544 11697
+82027 50515
+28952 93818
+24039 73309
+51681 59383
+84784 33827
+57727 38856
+17375 79692
+84334 75729
+85913 61227
+34190 70516
+88405 93909
+57014 89855
+49572 51212
+96919 57120
+57074 84802
+97433 94600
+39316 19546
+23267 73309
+49617 62475
+45398 49944
+93789 84802
+80870 79692
+66592 89412
+84914 21538
+15737 58959
+85633 17470
+24299 89227
+50996 28076
+59760 37410
+19853 36303
+87172 63500
+73167 26239
+69533 58203
+10294 47085
+10068 84802
+71528 59133
+90074 48734
+85177 13345
+39240 19623
+46901 31230
+31573 14744
+40287 76713
+52063 31743
+15665 92202
+55652 57799
+94618 43492
+35516 17699
+99836 97684
+12266 93653
+49382 94769
+58480 27713
+30160 95383
+15895 82924
+99570 35771
+86138 29452
+50602 15240
+65863 72856
+14014 17313
+23202 73309
+52442 99781
+98402 62424
+99960 93818
+30587 37482
+27344 71566
+14901 18107
+50646 87619
+39894 82924
+76102 79692
+93553 41109
+95383 19459
+43523 34173
+93147 15737
+52736 86381
+73737 38856
+74670 89855
+70375 44671
+35660 27596
+68216 72680
+87067 46274
+74103 75792
+95109 17982
+17982 92202
+81693 14959
+72925 13345
+79007 26239
+56890 75332
+43163 94330
+89721 89227
+98999 88213
+24385 71775
+31463 68554
+86271 72254
+76927 43416
+82914 88520
+10672 42227
+37107 72254
+53415 65905
+57507 32457
+61956 80596
+53426 42108
+24147 73170
+42957 89855
+82795 66358
+36784 93211
+33334 18704
+81024 79692
+50757 87305
+11023 19777
+56827 91998
+63122 72254
+22187 93663
+45790 24392
+45455 25374
+18321 90211
+50449 42108
+88021 45580
+49799 13345
+87225 94769
+97435 26386
+83558 87182
+38550 95383
+33452 13345
+56025 17982
+67783 93390
+84187 48977
+39395 89716
+68418 38259
+52548 89161
+28163 72254
+84823 89227
+31206 15482
+64705 44785
+58401 31743
+95618 38856
+91709 93818
+48005 92202
+76020 82924
+23833 93782
+52831 50653
+85010 31743
+10664 99781
+22411 13783
+43979 31051
+61257 57691
+61520 15737
+48746 88134
+14279 44785
+47898 89855
+93422 88779
+68022 92202
+14459 96167
+89227 40096
+20824 33236
+75208 79692
+49845 41520
+51562 87703
+93302 64917
+92836 95935
+49142 35882
+50653 24538
+70201 17982
+13156 26664
+72511 68022
+25934 38856
+91338 47911
+75287 41621
+15292 17284
+61020 24851
+24871 93818
+69502 32804
+22107 32457
+11069 17982
+90501 32457
+79735 33307
+22407 40613
+56638 73309
+43995 97846
+24346 10698
+19332 64254
+98053 96741
+64279 95856
+35846 80488
+87249 15737
+26693 91433
+23953 37660
+36613 18796
+68547 42108
+29801 84802
+95876 20755
+96850 26239
+69173 21661
+15143 95829
+88911 12796
+85370 24540
+37936 55116
+27252 62202
+52765 68022
+85421 74199
+29524 26239
+50768 66440
+43558 86684
+51533 89797
+52414 88190
+69357 10930
+37499 82866
+51109 73091
+56299 68022
+35287 90211
+24335 31051
+66593 96407
+34510 24540
+59870 24540
+95114 93204
+25535 45844
+77617 36433
+90219 94315
+79862 38856
+23936 94769
+97001 31743
+80515 77665
+79565 73309
+26333 64279
+75467 90211
+76518 59553
+43602 20354
+36813 99477
+43716 27733
+65228 92202
+23719 94557
+27276 37673
+79341 13382
+92730 64279
+13327 26664
+74695 71838
+26891 51076
+27088 98880
+69958 38856
+91806 17982
+85215 82201
+87804 97407
+87074 38259
+91912 67024
+88017 73309
+37176 26386
+86262 52774
+79370 72254
+59531 72254
+87454 61531
+56438 90211
+69511 28232
+56851 38259
+65430 80706
+36077 17982
+25960 94769
+71485 38856
+54398 90211
+28265 28278
+78120 87123
+59446 34818
+26386 89227
+83452 48947
+37184 37978
+61882 68022
+85743 83130
+58108 93975
+88676 91673
+56709 31769
+60790 80223
+13675 30664
+26508 38856
+86384 45096
+11697 51693
+18506 84802
+64140 26386
+72254 73309
+32457 31743
+47880 57178
+28362 66440
+41762 94769
+52860 13501
+76072 37914
+28664 30385
+38694 83674
+77076 73416
+52304 15737
+48805 97201
+79691 84802
+60446 31743
+50527 13345
+57332 73119
+91969 69182
+24540 42108
+52000 10568
+60350 85617
+65954 75315
+77087 26664
+11673 21083
+86822 31308
+46369 94769
+72162 80387
+78984 15737
+86619 94893
+97668 19111
+98988 92336
+82635 29846
+13455 94769
+58975 80353
+25865 16923
+53039 10038
+30768 15737
+12014 14617
+46545 19623
+25611 38259
+68704 97611
+19940 47269
+86483 63673
+57437 51287
+61703 26386
+48018 51102
+67563 66460
+40899 62325
+39500 34475
+54669 11697
+58288 88743
+74372 50602
+78876 81743
+44932 34577
+63464 81249
+83883 68022
+52588 82924
+32785 67603
+50300 78946
+43503 50602
+64904 84802
+76135 68022
+35611 93677
+64841 34132
+10588 30349
+63814 48233
+19013 17210
+80561 64619
+88208 26239
+10576 10445
+99430 92202
+38695 90117
+32677 30805
+28960 72254
+76150 37024
+27997 66440
+25216 38259
+75079 95383
+19640 32457
+87142 24540
+29691 73136
+43608 60367
+37613 29457
+11187 86291
+14208 97616
+85169 89855
+12976 24540
+64222 52066
+10454 14324
+26231 19580
+94650 15737
+58941 89855
+79692 27316
+54692 10285
+63161 69466
+89688 14267
+88077 93568
+81434 41368
+30007 84802
+93568 72254
+38883 73016
+69231 94769
+14633 72555
+22196 79692
+48676 84802
+87546 84802
+87523 24540
+95107 73309
+79211 15737
+55870 89227
+10953 36166
+11083 73309
+21863 36153
+38429 62600
+61106 92358
+97986 93975
+88704 38856
+93825 66535
+29839 40913
+24546 21464
+74178 15737
+42883 94769
+40996 38622
+42992 26664
+71684 42730
+57251 23426
+26664 31743
+68948 73753
+97206 68022
+57843 33400
+49113 13345
+60920 50511
+22678 89227
+72961 78397
+19802 38490
+86087 90211
+89652 66440
+49821 24540
+50537 79692
+73536 24540
+53929 98400
+60918 79692
+99061 49678
+37062 38238
+20934 72875
+67200 34807
+71415 94769
+99026 96883
+31743 14721
+59957 93818
+68759 76158
+41938 17982
+97993 69305
+80420 85851
+46816 93742
+28271 71400
+87923 32457
+67736 36498
+47677 92202
+56483 84724
+90236 79692
+64649 86922
+55425 46497
+12465 17982
+20096 82924
+60707 96546
+60329 73309
+17905 31743
+11135 17982
+29543 94769
+86447 79692
+77740 97091
+94482 84802
+93699 69588
+26097 13450
+98119 79692
+85496 14796
+86244 73309
+96663 59923
+15846 82924
+85935 72254
+27121 75478
+85411 84131
+30273 32457
+20039 82924
+78703 20706
+41844 64465
+68394 44785
+23329 90139
+58675 96125
+71413 93818
+73282 14167
+50904 89227
+85583 65246
+20025 17289
+47996 18160
+29785 31743
+95739 47118
+79616 92202
+88013 76315
+58837 91798
+78955 92642
+70336 26239
+24170 33987
+78256 24257
+10398 26386
+46571 93031
+93997 79692
+10668 45223
+86866 90211
+49014 53649
+69991 92202
+36977 90623
+92324 79031
+95872 13345
+84633 26386
+30462 24540
+32209 85790
+45036 80196
+17978 68976
+87590 50253
+84802 72481
+39492 68554
+35134 63205
+26840 17894
+75937 10487
+20865 70581
+22548 26386
+73301 56010
+55824 85167
+33501 38259
+97678 30745
+89755 41648
+59158 81505
+51201 66440
+31408 92202
+91451 90800
+70921 29799
+19367 13325
+77381 31051
+91572 89049
+77233 26502
+86139 70861
+60708 35871
+78193 26239
+24930 31852
+14024 82528
+64480 82924
+15775 26239
+75694 94769
+85608 73391
+81409 19623
+57211 26386
+94296 59256
+79582 21822
+59998 38856
+68629 13345
+17800 26239
+37775 44785
+70250 28657
+30006 39357
+80597 35930
+22013 93975
+78422 26239
+38548 24540
+86266 72254
+97848 26386
+84347 56506
+81988 28292
+17114 26660
+11319 73380
+41857 13345
+59624 18015
+75476 33080
+19083 13949
+58992 58123
+60891 32063
+30704 28458
+81706 98995
+65022 87326
+80970 46974
+78758 79469
diff --git a/2024/_input/day_02.txt b/2024/_input/day_02.txt
new file mode 100644
index 0000000..8a93f73
--- /dev/null
+++ b/2024/_input/day_02.txt
@@ -0,0 +1,1000 @@
+85 86 87 88 85
+30 32 35 36 36
+75 77 79 81 84 87 91
+9 11 13 15 16 18 21 27
+72 73 76 75 77 80 81
+7 9 8 11 12 10
+95 97 98 95 95
+64 67 68 69 70 67 68 72
+5 7 5 8 14
+33 35 35 38 39 41 43
+88 89 92 93 96 96 98 96
+62 65 67 70 72 72 72
+83 86 89 92 93 93 95 99
+27 28 30 31 31 38
+31 33 34 38 40 42
+32 34 36 40 38
+12 13 14 16 20 22 22
+31 32 34 38 39 43
+44 47 48 50 53 57 60 65
+22 25 26 33 35
+6 8 15 18 15
+49 52 55 62 62
+39 41 42 48 50 51 53 57
+41 42 44 47 53 54 59
+48 47 50 51 52 54 57 58
+24 22 23 24 26 23
+33 30 32 33 33
+49 47 50 53 55 59
+15 12 14 16 23
+87 85 82 83 85 87
+48 47 49 46 47 45
+13 11 8 10 10
+50 47 44 47 51
+78 77 79 81 83 86 84 91
+41 39 41 41 44
+15 12 15 15 16 17 15
+60 57 60 60 63 63
+22 20 21 21 24 28
+87 86 88 88 90 93 98
+13 12 14 18 20
+72 70 74 75 78 79 77
+51 50 53 54 58 58
+69 67 68 71 72 75 79 83
+7 5 7 9 13 15 18 24
+34 32 34 40 41
+6 4 7 9 11 18 16
+31 29 32 35 40 42 42
+64 63 65 71 73 76 79 83
+63 60 63 65 70 76
+22 22 23 26 29 31 34
+34 34 35 37 34
+66 66 68 70 71 71
+16 16 18 21 24 26 30
+55 55 56 58 59 60 67
+76 76 77 78 77 80
+19 19 16 18 17
+37 37 40 43 44 47 46 46
+17 17 16 18 20 22 26
+10 10 12 9 12 18
+3 3 3 6 9
+34 34 36 39 40 40 39
+19 19 20 23 23 26 26
+28 28 31 31 35
+36 36 37 37 39 44
+75 75 78 79 80 82 86 89
+23 23 24 28 29 31 30
+30 30 34 36 37 38 41 41
+10 10 12 13 17 18 22
+25 25 27 31 33 34 40
+1 1 8 10 11 12
+11 11 14 15 20 19
+76 76 79 86 86
+79 79 86 88 92
+64 64 67 68 70 73 80 87
+4 8 10 11 12
+46 50 52 54 55 57 59 58
+46 50 51 52 55 58 60 60
+22 26 29 32 36
+62 66 67 68 71 73 79
+56 60 63 64 63 66 67
+49 53 55 58 57 56
+27 31 34 31 31
+73 77 75 78 81 85
+10 14 16 17 16 23
+64 68 71 71 72 75 77 78
+38 42 43 43 42
+12 16 16 19 20 20
+65 69 71 73 76 77 77 81
+47 51 52 53 53 56 58 64
+25 29 31 34 36 39 43 44
+13 17 18 22 23 25 22
+30 34 38 39 41 41
+28 32 36 39 42 43 47
+32 36 39 41 45 46 53
+77 81 88 91 94
+63 67 68 69 76 74
+25 29 34 37 39 39
+74 78 79 84 85 86 90
+14 18 23 24 26 31
+35 41 44 47 48 50 51
+47 53 56 57 59 61 64 62
+13 19 22 25 28 31 34 34
+56 63 64 66 70
+65 70 71 74 79
+41 46 44 45 46 48
+13 19 16 18 16
+74 80 77 78 78
+41 46 47 46 48 52
+31 37 36 39 44
+42 48 48 51 53
+7 14 15 15 17 15
+60 67 67 69 69
+21 28 28 29 33
+59 65 68 70 73 73 79
+40 45 49 50 53 56 58 59
+83 88 92 95 93
+35 40 42 43 46 48 52 52
+72 79 80 84 85 89
+37 44 47 51 53 54 57 63
+37 42 43 44 51 54
+75 82 83 89 90 92 90
+48 53 60 62 65 68 71 71
+4 11 14 19 23
+72 79 80 85 86 88 89 96
+65 62 61 60 63
+55 54 53 50 49 48 48
+14 11 10 8 4
+24 22 20 19 18 16 15 9
+78 75 77 75 73 70 69 68
+74 73 70 73 72 74
+23 21 18 19 19
+80 77 79 77 76 72
+78 75 76 74 71 68 63
+88 85 83 83 81
+44 42 42 39 38 41
+34 31 31 29 29
+76 73 72 72 69 65
+78 77 74 72 72 67
+76 74 70 69 66
+84 82 79 76 72 70 69 71
+21 18 14 13 11 11
+67 66 62 61 58 55 53 49
+66 64 61 57 54 51 46
+77 74 73 71 69 67 61 60
+28 25 19 17 15 13 12 14
+16 14 8 6 6
+90 88 85 84 78 74
+79 77 72 69 66 65 62 57
+83 86 85 82 80
+31 34 31 30 31
+9 11 8 7 5 5
+65 68 65 63 59
+74 77 75 74 71 70 63
+32 33 30 28 27 29 26
+9 11 9 7 4 7 5 6
+92 95 94 93 90 91 91
+26 28 31 28 25 24 20
+18 19 18 15 17 11
+18 21 21 19 16 15
+10 11 8 7 6 6 4 6
+51 53 53 50 49 49
+72 73 72 71 71 70 67 63
+91 93 90 88 87 87 86 81
+58 60 56 53 51
+12 13 9 8 10
+5 6 2 1 1
+47 49 47 45 44 43 39 35
+52 53 52 51 50 46 41
+88 89 87 80 79
+17 19 18 11 13
+57 58 55 50 47 46 46
+30 31 29 27 25 23 16 12
+56 59 58 56 50 43
+29 29 26 24 23 22 20
+64 64 62 61 60 58 60
+62 62 60 57 57
+63 63 62 60 57 55 52 48
+19 19 18 17 15 14 9
+25 25 28 26 24 21 18 16
+41 41 39 38 37 39 41
+68 68 71 70 69 68 67 67
+68 68 65 68 65 61
+51 51 52 50 44
+92 92 89 89 86
+48 48 46 46 47
+92 92 91 88 88 88
+10 10 10 8 7 3
+50 50 48 47 45 45 43 37
+85 85 84 82 81 80 76 75
+60 60 58 54 51 48 50
+83 83 79 76 76
+62 62 61 57 53
+75 75 72 69 65 59
+96 96 93 92 90 89 83 82
+94 94 91 90 85 84 83 85
+44 44 37 34 31 31
+28 28 26 25 22 21 14 10
+71 71 69 66 61 55
+82 78 75 73 70
+60 56 54 52 51 50 51
+69 65 62 60 58 55 52 52
+23 19 16 14 11 10 6
+81 77 75 73 71 66
+10 6 8 7 5
+65 61 59 60 63
+76 72 70 68 69 68 65 65
+57 53 50 52 48
+87 83 82 79 81 78 73
+39 35 33 32 32 29 27 24
+98 94 93 92 92 89 87 90
+63 59 58 58 58
+30 26 26 23 19
+42 38 37 36 34 34 33 27
+44 40 39 35 34
+16 12 8 7 4 1 2
+93 89 85 82 81 80 77 77
+43 39 37 33 31 27
+52 48 44 42 35
+21 17 16 10 7 4 2 1
+71 67 62 61 58 57 54 57
+21 17 15 10 8 8
+54 50 47 44 39 35
+62 58 53 51 44
+66 59 56 53 52
+41 35 32 31 30 29 31
+44 37 35 34 32 31 30 30
+30 24 21 20 17 13
+35 30 27 26 20
+33 27 25 27 25
+55 48 45 42 45 47
+8 3 1 4 1 1
+82 77 74 75 71
+93 86 85 87 86 85 83 78
+80 74 72 71 71 69 68 65
+51 44 43 43 44
+73 68 65 64 62 62 59 59
+77 70 69 68 65 65 64 60
+91 85 82 82 79 72
+37 30 27 23 22 19 17
+91 85 83 80 76 75 74 76
+58 51 47 44 44
+45 39 37 35 31 28 24
+42 35 32 29 25 18
+67 61 59 54 53 52
+23 17 16 9 6 8
+39 34 29 26 24 23 21 21
+24 17 15 14 9 5
+97 92 90 87 81 79 78 71
+52 52 52 54 55 57 59 64
+83 87 88 89 93 93
+79 85 88 87 84
+41 41 43 43 41
+77 75 74 73 74 74
+12 19 19 22 24 24
+33 33 40 42 46
+92 86 82 80 74
+17 18 16 13 12 10 7 2
+63 68 71 72 70 71 72 72
+78 83 90 93 93
+27 28 28 29 31 33 35 38
+48 47 50 51 55
+53 53 51 48 45
+25 21 18 15 14 11 11 7
+28 33 36 38 41 39 43
+40 46 53 56 61
+70 69 70 75 73
+38 42 43 45 47 48 53
+35 38 37 34 33 30 28
+73 72 77 80 81
+92 88 85 82 82 81 78 76
+44 48 50 51 52 52 55 52
+59 64 64 67 71
+29 34 36 42 44 47 46
+53 52 53 60 63 70
+51 53 56 58 58 58
+83 80 76 74 71 65
+58 62 63 65 67 70
+87 87 84 77 77
+25 29 32 32 39
+68 70 73 75 75 78 79 78
+53 48 44 41 39 35
+73 72 75 72 79
+62 63 65 68 71 74 79
+35 39 46 48 50 52 53 57
+48 46 49 51 52 52 50
+50 50 51 53 56 56 56
+96 93 91 90 84
+27 23 20 13 11 6
+77 82 83 81 84
+91 91 87 84 86
+77 77 79 79 83
+18 18 19 23 24 28
+65 65 63 62 60 53
+85 87 88 87 86 85 84 80
+35 31 29 25 22 15
+6 7 4 1 2
+77 82 85 88 89 92 93 97
+35 36 35 34 31 24 18
+48 50 53 56 62 64
+75 71 70 73 72 71 68 66
+56 55 58 59 62 63 67 71
+22 22 26 27 29 31 32 32
+70 74 75 73 75 76 77 77
+29 30 32 35 33 36 37 43
+71 67 64 64 59
+95 97 96 95 95 93 91 87
+88 91 93 94 91 90
+92 88 87 83 81 80 76
+4 7 9 10 11 13 10
+19 18 21 25 27 30 30
+32 31 28 23 22 20 13
+31 35 38 41 45 48 49
+72 71 72 71 65
+72 72 70 65 67
+33 30 28 24 27
+73 70 67 64 63 61 61
+58 58 59 58 56 58
+71 77 78 81 83 86 86
+64 66 63 63 61
+47 51 51 53 54 55 55
+46 42 39 36 35 33 35 31
+84 86 85 79 79
+66 63 61 59 55 51
+67 69 72 74 75 81 88
+44 47 48 51 52 56 57 61
+94 94 96 94 89
+46 46 46 43 37
+73 72 74 77 79 82 84 89
+61 56 50 49 48 47 47
+31 27 25 24 22 23 22 22
+48 43 41 39 32
+40 33 30 28 25 25 21
+44 50 54 57 58 61 67
+49 51 45 44 41 44
+26 26 22 19 16 14 13
+46 52 52 54 56 53
+59 61 58 56 56 53 51 45
+27 28 33 36 39 43
+73 71 72 74 76 81 84 88
+48 43 42 40 40 38
+17 23 25 25 27 32
+96 91 88 90 88 84
+20 25 26 31 34
+19 16 16 18 21 23 26 32
+65 69 72 74 75 79
+57 53 53 51 48 49
+29 29 28 28 27 26 24 25
+91 92 89 86 82 76
+22 21 22 24 25 26 27
+91 92 94 96 97 97
+43 47 50 55 61
+22 15 13 10 6 4 5
+37 36 33 30 28 24 21
+19 19 16 14 11 11 7
+45 45 48 49 50 48 48
+28 28 27 25 25
+60 62 60 59 56 52 49 49
+14 14 17 15 16 17 22
+14 17 14 11 10 6
+9 9 11 10 14
+27 23 21 18 15 15
+54 56 63 65 67 70 70
+15 15 17 18 20 23 27
+37 36 37 41 44 45
+55 62 64 66 69 70 72 73
+72 67 65 58 56 50
+5 11 13 16 20 19
+66 73 75 75 76 79 80 82
+18 21 25 27 28
+55 55 59 62 63 62
+48 48 42 41 39 32
+67 69 66 64 63 56 54
+42 42 43 46 45 44
+43 47 49 53 54 55 57 63
+14 13 7 5 1
+59 56 57 55 56 56
+97 97 98 99 97
+33 33 31 28 26 23 19
+25 25 27 29 30
+85 81 84 82 84
+81 80 81 84 87 89 91 90
+77 78 79 82 82 84 87 91
+34 30 29 27 25 22 24
+24 24 25 26 27 30 37
+77 81 85 87 84
+28 25 26 28 26 24
+96 90 86 85 83 82 80
+9 8 5 5 5
+55 52 53 53 54 54
+73 72 73 74 81 81
+96 93 95 93 89
+48 47 46 43 37 37
+53 57 59 60 62 60 62 61
+68 70 68 66 62 61 59 61
+82 81 81 83 87
+17 17 14 10 9 2
+73 78 80 84 86
+20 13 14 11 11
+75 79 80 77 80 84
+94 91 92 95 97 97
+89 89 88 85 84 85 82 82
+79 78 80 77 79 83
+7 8 9 13 14 17 16
+70 73 74 71 69 68
+69 63 60 59 56 58 55 57
+35 31 30 23 20 17 13
+45 40 36 35 35
+32 28 26 21 19 17 17
+56 53 50 44 43 46
+60 59 58 56 52
+74 74 80 82 83 86
+84 84 87 90 93 95 95
+25 30 33 35 36 39 41 48
+12 10 13 13 14 16 19
+72 66 64 62 59 55
+90 91 89 91 92 93 97
+71 70 70 68 64
+36 32 25 24 27
+36 36 34 30 29 26 22
+26 19 18 17 14 11
+28 21 19 17 17
+20 20 18 16 14 13 16
+81 78 79 81 85 91
+38 34 31 28 27 26 25 20
+71 71 64 61 59 57
+20 20 22 20 19
+57 55 52 55 53 52
+71 72 70 71 73 76 78 78
+1 3 6 8 9 13 13
+19 18 16 12 12
+48 50 53 53 58
+90 91 88 84 83 82 80 78
+45 49 51 52 53 55 54
+15 13 10 10 9 7
+29 33 34 36 37 38 39 39
+15 21 24 25 26 30 30
+49 48 46 44 41 40 38 36
+82 85 88 91 93 95 96 97
+70 73 75 78 81 84 87 88
+71 72 73 75 78 80
+65 62 61 60 58 57 54 53
+89 91 94 95 98
+83 85 86 87 89 90
+13 11 10 9 6
+69 70 71 73 76
+86 87 90 91 93 94
+81 78 75 72 70
+75 78 79 82 84
+88 85 84 81 79 76
+65 62 60 59 56 55 52 51
+90 88 87 85 82
+36 35 33 30 28 25 23
+70 69 66 63 62
+4 5 7 8 11
+44 43 42 41 39
+6 7 8 11 14 16
+27 28 30 31 32 33
+84 82 81 80 78 77 74
+74 71 70 67 65 62 59 58
+53 56 59 61 63 65
+85 86 87 89 92 93 95 96
+49 50 53 56 58 59 61 63
+72 69 66 65 63
+57 55 54 51 50 48
+55 57 58 61 63 64 66 68
+19 21 24 26 27
+60 59 58 55 53 50 48 47
+77 76 74 71 70 68 66 63
+3 4 7 10 11 14 15 17
+58 57 54 52 49
+77 75 74 72 70
+80 77 74 72 70 68 67
+33 30 27 24 21 20 17
+44 45 46 48 50 52 54 57
+72 73 76 78 81 82 85
+88 91 92 93 94 97 98 99
+23 20 19 18 15 12 11
+39 40 43 44 45 48
+84 87 88 91 94 95
+38 35 32 30 27 26 23 22
+34 35 36 38 41 42 43
+61 63 66 68 69
+51 54 56 57 59 60
+63 66 67 70 71 74 77
+17 16 13 12 9 8
+63 61 59 57 55 52 50
+61 64 65 67 70 72 74 76
+74 72 69 68 65 64
+12 15 16 18 20
+97 95 94 91 88
+67 68 69 70 73 76 78
+51 54 57 58 61 63 65
+45 44 41 38 36 35 32
+70 73 76 78 79 81 82
+18 15 14 13 11 9 6
+44 41 40 39 36 35
+33 34 37 38 40
+30 29 26 24 21 19
+29 30 31 32 33 36 38
+48 46 45 43 41 40
+83 84 87 88 90
+48 49 51 52 53 54 57
+68 71 73 74 76 78 81 83
+79 81 84 86 87 90
+63 64 67 68 71 73
+47 49 50 51 52 53 54 56
+95 93 90 89 88 85 83 81
+46 44 42 41 40 38 35 34
+87 86 84 81 78 75 73
+84 87 90 91 92 94
+87 86 83 81 80
+11 9 6 5 3 2
+10 8 5 4 3
+49 46 44 43 40 38
+34 37 38 39 41 43 44 46
+47 50 52 54 57
+87 86 84 81 78 75
+81 84 85 87 88 91 92 94
+32 35 38 39 42 45 48 50
+74 73 71 70 69 68
+41 40 37 36 34 32 29 27
+13 15 16 19 21 23
+17 16 14 12 10 7 4
+66 69 72 73 74 75 77
+13 11 8 7 6 3 1
+13 16 17 20 21 23
+32 30 28 25 23 21
+75 73 70 67 64
+22 23 26 27 30
+67 70 72 74 75 76 79
+52 51 50 49 46 44 41 38
+64 62 59 57 55 54 52
+34 37 38 39 40 42 45
+14 11 10 7 5
+1 4 6 9 11
+75 72 70 69 67 65 64
+22 19 16 15 14
+86 85 84 83 82 79 77
+88 85 84 81 78 77 76 73
+15 14 12 10 8 7 4
+53 54 57 60 63 64 66
+72 70 67 66 63 61
+21 24 27 29 30 32 34
+21 19 18 17 15 14
+16 13 11 9 6
+49 52 53 56 58 61 64 67
+57 56 54 51 48 46 43 41
+90 91 94 95 96 97 98
+59 62 64 65 67
+33 30 27 24 21 18
+25 23 22 20 19 17
+3 4 5 7 9 11
+57 54 52 50 47 44 43 41
+86 88 91 93 94
+54 55 58 59 62 63
+91 94 95 96 99
+86 89 92 94 96
+69 70 73 74 76 77
+3 6 7 8 10 13
+65 63 60 57 56 55 53
+13 15 18 20 22
+14 13 11 10 7 6 3
+5 6 9 11 14 15
+59 62 63 65 66
+62 65 67 69 70 71 74 75
+70 69 67 64 61 59
+70 68 66 64 61 58 55 52
+3 6 7 8 9
+11 13 15 16 18 20 23
+95 93 91 89 86 83 81 79
+25 23 22 21 18 17
+63 64 67 70 71 73
+94 93 90 88 86 83
+86 84 83 80 78
+17 16 13 11 8 5 2 1
+78 79 82 84 86 88 91
+69 68 67 65 63
+77 78 79 81 83 85 87 90
+77 75 72 71 69 66
+76 77 80 81 83 85
+82 81 79 76 74 72
+63 61 58 56 53 52
+65 66 69 71 74 77 78
+37 40 41 44 47
+90 89 87 84 82
+69 72 73 76 78 81
+10 11 13 14 16 19 22
+52 51 48 47 44
+75 76 79 81 84
+82 80 77 76 75 74
+78 77 75 74 72 70 68
+12 13 15 16 17 20 22 25
+12 9 7 5 3 2
+44 42 40 37 36
+65 67 69 70 73 75 78
+92 91 89 86 83 82
+98 96 93 92 90 88
+77 74 72 71 70 69 68
+74 73 71 69 68
+85 88 91 93 95
+12 10 9 6 5 3 1
+88 87 84 82 81 80
+5 6 9 10 11 14
+20 19 17 16 14 12
+50 47 45 43 40 39
+57 54 52 49 48 46
+79 80 81 82 85
+93 90 89 88 86
+6 9 10 11 12 14 17 19
+4 7 9 10 12
+45 44 42 40 39
+1 3 6 7 9 10 13
+37 36 33 31 28 26 25 22
+25 24 23 21 19
+78 81 84 86 89
+23 21 19 16 13 10 9 7
+82 81 78 75 74 72 71 69
+94 93 90 87 84 81
+90 89 87 84 82 81 78 76
+86 83 82 80 79 76 75 72
+65 62 59 57 55 53
+41 44 47 50 53
+99 96 93 91 88 85 83 81
+94 91 90 87 85 82 81 79
+50 47 45 44 42 40 39
+79 82 84 85 86 89 91
+28 26 24 21 20 19
+22 23 25 26 27 29 30
+42 45 48 49 50 51
+90 88 87 86 84 83
+14 15 16 18 21 24
+91 89 88 87 84 83
+7 10 11 14 15 16 17
+60 58 56 55 52 51 48 47
+88 91 93 94 96
+91 88 85 83 81 78 76 74
+54 51 50 48 45 42 41 40
+84 86 89 90 92 94 96
+16 13 12 10 7
+47 49 51 53 54 55
+43 45 47 49 50 53
+97 94 92 89 86 83 81
+85 88 89 90 92 93 94
+51 53 55 58 60 61 63 65
+61 63 64 66 69 71 73
+60 58 57 56 54
+56 54 53 52 50
+89 87 84 81 78 76 73 70
+15 16 17 20 21
+34 36 37 38 41 44
+41 40 39 36 33 32 30 27
+91 92 94 96 97 98 99
+12 14 17 20 21
+40 43 44 47 50 52 54 55
+49 52 53 54 56 59 61
+91 89 86 84 82 79 78 75
+43 45 47 50 51 54 57
+51 48 45 42 41
+34 33 32 30 29
+55 57 58 60 61 64
+62 59 58 55 54
+61 63 66 69 72 74
+55 53 52 49 48 47
+20 22 25 27 30 32 34 35
+71 73 76 78 79 81
+35 36 38 39 41 44 47 48
+60 63 66 69 71 73 76 79
+90 89 86 84 82 80
+71 73 76 77 80 82 84 87
+81 82 83 86 87 89
+42 40 38 37 34
+97 96 93 91 89 86
+11 12 15 16 18
+1 2 5 8 10 12
+8 7 6 3 2 1
+71 70 67 65 64
+91 89 88 85 82 79
+69 67 65 63 61 60 58
+53 52 50 49 46 44 42 41
+21 19 18 17 14 13 11
+93 92 91 90 87 84
+34 31 29 27 26 24 23 20
+86 84 82 81 78 77
+71 73 74 75 76 79 81 82
+28 31 32 33 34 36 39
+53 56 58 60 62 65 68 69
+50 51 54 55 58
+59 61 64 65 66
+81 83 86 87 89
+65 64 62 61 60
+75 74 72 71 68 67 64 63
+29 31 34 37 39 41 43 46
+51 48 46 43 42 39 36
+34 35 38 39 42 45 48
+34 32 31 29 27 24 22 20
+28 27 26 24 21 20 17 15
+27 30 31 33 35 37 39
+47 44 41 39 36 35
+60 62 63 65 67 68 70 71
+28 31 32 34 37
+38 41 42 43 45
+65 64 61 60 59
+78 81 84 86 87 90 91 93
+45 42 41 38 37 36
+72 75 76 79 81 82 84 86
+81 78 77 74 73 72 69 66
+70 71 74 76 77 80 82 83
+17 15 12 9 8 7 6
+42 44 45 48 51 53 55
+60 58 57 55 54
+36 33 32 31 29
+49 50 53 54 56 58 60
+71 72 75 76 78 80 82 85
+38 35 32 29 26
+30 33 36 37 40
+65 62 61 58 56 54 52
+28 31 33 36 38 41 43 45
+85 83 81 80 79 77 74 71
+72 69 68 66 64 61
+48 50 52 53 54 56 58
+78 80 81 83 86 88
+57 55 52 50 49 46 45 42
+85 88 90 91 93 94
+91 89 87 86 83 82 80 77
+77 78 81 84 87 88 90 93
+67 68 69 71 74 77 78
+65 64 61 59 58 57
+24 26 29 32 35 38
+64 67 68 69 72 74 76
+82 80 77 75 73 70
+12 15 16 19 21 23 26 28
+90 88 85 84 81 80 78 75
+18 20 22 23 25 28
+79 78 77 75 73
+69 68 67 64 61
+58 60 62 64 66
+35 36 38 41 44 45
+81 84 86 87 90 91 93 96
+78 75 72 70 67 64 61 60
+5 6 9 11 13 15 17
+51 53 54 55 57 60 61
+41 38 36 34 31 29 28
+47 50 52 53 56 59 60
+27 25 22 20 18 16 13 10
+46 48 50 51 52
+93 92 90 89 88
+63 62 60 57 54 53 50 48
+82 84 86 87 90 91
+26 29 30 31 34 35 38 40
+79 77 76 74 72 70
+25 27 28 30 31
+84 85 86 88 90 92
+26 29 30 31 33 36 38
+59 62 65 66 69 70 71
+4 5 7 9 12
+10 12 14 15 16 19 22
+44 47 50 53 56 59 62 63
+85 87 89 90 91 93
+31 34 37 39 42 45 46
+32 33 34 35 36 37 39 40
+78 77 76 74 72
+37 40 42 44 47 49 52
+11 9 8 6 4 3 2
+24 22 19 18 16 13
+36 34 32 29 28 25 23 21
+87 84 81 79 76 75 73
+83 85 87 88 91 94 97 99
+36 33 32 30 29 27 24
+86 85 83 82 79 77 74
+59 56 54 52 49 48 47
+78 79 82 83 85 87 88
+36 39 42 45 47 50
+87 89 90 93 94 96 99
+93 94 95 97 98
+20 17 15 14 11 9 6 3
+73 70 67 66 64
+84 85 87 90 92 94 97
+49 46 45 43 40
+4 7 8 9 12
+28 26 24 21 18 16
+15 16 19 20 23
+14 15 16 17 20 22
+45 46 49 50 53 54 56 58
+58 57 55 54 51 49
+52 55 58 61 62 65 67 70
+28 30 31 34 35 38
+40 38 35 32 30 29 26 24
+91 88 85 84 82 79 77
+35 34 32 29 27 26 25
+60 57 55 52 51
+85 88 90 91 94 97
+13 16 18 19 22 24 25
+41 42 43 44 45 48 49
+32 34 36 38 41 42
+13 14 17 20 22 25
+51 48 46 44 43
+60 63 65 66 68 71 72 74
+17 20 22 25 27 30
+75 77 80 82 85 87
+73 74 77 80 82 85
+78 77 74 72 69 67
+21 19 17 15 13 11
+43 46 47 50 52
+79 80 82 85 86
+74 76 78 80 82 84 87 90
+92 90 88 86 84 82 79
+12 10 9 7 6 3
+11 9 8 7 6
+29 28 27 24 22 20
+75 76 78 80 82
+66 64 62 60 57 56 55
+58 56 54 53 52 50 47 45
+13 14 17 19 21 24 25 26
+14 17 19 22 25 27 30 32
+90 89 86 84 83 81 80
+52 49 46 45 42 41
+39 40 41 43 46
+53 56 58 61 62
+83 81 79 77 75 72 70
+59 60 62 65 66
+34 35 36 39 40 41 43 45
+80 81 82 83 86 89 90 92
+17 16 14 11 10 8 5
+20 18 16 14 12 11 8 5
+54 51 50 47 45 42 40 39
+96 93 92 90 89 87 85
+85 87 90 91 93 95 96 99
+49 50 53 55 57
+16 19 21 24 25
+64 65 68 69 71 73
+23 26 29 32 34 37 38 41
+79 82 85 87 90
+88 89 92 94 95 98
+22 20 19 17 14 11
+74 72 71 69 66 64 61
+29 26 25 24 22 19
+56 54 53 52 49 48 45
+28 31 34 36 37 38 40
+23 22 21 18 16 15 12
+43 44 47 50 52 53 55 58
+92 91 88 85 82 80
+41 43 44 47 48 51 53
+18 16 13 11 9 7 6 4
+84 85 88 90 91 92 93 96
+57 58 61 62 64 67 70 73
+57 58 59 62 63
+26 24 23 21 18 17
+95 93 92 91 88 85 82
+63 65 67 68 71 72 75
+85 86 89 92 95 97 99
+29 27 26 25 22 21 18
+40 42 45 46 47 49
+43 45 47 49 50 53 55
+94 92 89 88 86 83 82 80
+28 27 26 23 21
+85 88 90 92 94 96 97
+58 56 54 52 49 46 45 42
+64 67 69 72 74 75 76 78
+8 10 11 13 16 19 20
+97 96 94 92 90
+59 61 62 64 66 69 71
+74 73 70 68 66
+20 23 25 27 28 30 32
+34 31 30 29 27 25 22 19
+44 42 40 39 38 36 34
+93 90 88 85 82 79 76 73
+69 68 66 64 63 60 58 56
+13 12 10 8 7 6 5 3
+68 71 74 75 76
+40 39 36 34 31 28 27 25
+48 45 44 42 39 38 37
+68 70 72 75 78 80 83
+84 87 88 91 93 96 99
+45 44 41 39 37 35
+16 14 11 9 8 6 3 2
+77 80 81 83 86 87
+18 21 23 26 27 28 30 31
+12 15 16 19 21 24
+27 29 31 32 33 35
+77 76 74 73 70 67 64 63
+28 30 33 35 36 37 38
+49 48 46 43 40 37 34 32
+75 77 80 82 83 85 88 91
+20 17 14 13 12 10 9 6
+63 60 57 55 54
+18 21 24 25 26
+63 65 68 70 73
+88 87 85 84 83 80
+61 64 67 68 70
+21 22 24 27 29 32 34
+52 51 49 48 46 43
+82 81 78 76 74 73 71
+24 21 20 19 17
+66 63 62 61 58 57 54 51
+69 66 64 62 61 59 57 56
+14 17 19 20 21 24
+3 4 5 8 9 11 13 15
+81 79 78 75 74 73
+30 31 33 34 36 37 40
+66 63 62 60 58 56 55 52
+15 16 18 20 21
+77 79 81 82 83 84 87
+7 8 9 11 12 15 17
+19 16 14 12 10 8 7 6
+42 45 47 49 52
+42 39 36 33 30 28 26
+32 30 28 25 22 21 20
+73 70 69 67 65 64
+10 12 13 14 15 18
+72 69 66 64 63
+75 76 79 81 82 85 87
+63 66 69 71 74
+17 14 13 10 8 7 5 2
+52 55 57 58 60 62
+41 42 45 48 50 51
+61 60 58 56 55 54 51
+56 57 59 60 63 64 66
+79 78 77 76 75 73 70 68
+93 91 89 87 85 84
+39 38 37 36 33 31 29 28
+32 35 38 39 42 44 45
+12 15 18 19 22 25
+88 90 91 92 95 96 98
+45 43 41 38 35 33
+22 20 17 16 14
+52 50 49 47 45 42
+98 95 94 93 91
+6 7 9 10 11 12 15 18
+55 58 61 62 64 66 68
+67 69 72 75 76 78
+96 93 90 87 84
+58 60 63 66 69
+51 52 53 56 57 58 59
+24 26 29 32 35 36
+35 32 29 27 25 22 19 16
+34 33 31 28 27 26
+45 44 41 38 37 34
+32 31 30 29 27 24 23
+59 60 63 65 66 69
+61 59 58 55 53 51 48
+80 81 84 87 90 92
+67 64 63 61 58 56
+58 61 64 65 67 68 69
+52 55 56 58 59 60
+76 75 72 69 67 64 62
+78 81 82 83 85 88
+48 46 44 42 41 39 36 33
+65 64 63 60 59 57 54 51
+56 58 59 60 61 63
+64 66 69 72 74 77 79 81
+36 34 32 30 28 26 23
+82 80 79 77 76 74 72
+22 24 27 28 31
+67 66 63 61 59 58 55
+55 57 59 62 63 64
+4 5 7 9 10 12 14
+57 58 59 62 64 65 67 68
+21 19 16 14 11 10 8 5
+33 31 29 26 24 22 19
+66 63 60 59 57
+54 51 50 47 46 44 43
+97 94 93 92 89 86
+16 19 22 23 25 27
+46 44 43 41 40 39
+74 72 70 68 66 65 63 60
+55 54 51 50 48 45
+17 18 21 22 23 26 28 30
+61 62 65 66 67
+77 75 73 70 67 64 61 60
+48 50 53 56 59 61 64 65
+75 78 79 81 83 86
+52 54 56 59 61 63 66 68
+45 42 40 39 36 35 32 31
+77 75 73 71 70
+60 57 55 52 51 50 48 47
+70 73 75 77 79 82 84 85
+75 77 79 81 84 86 88
+49 52 53 55 57 60
+80 81 83 84 85 87 90 93
+16 17 19 21 22 24
+61 58 55 53 51 48 47 46
+70 68 65 63 61 58 55 54
+3 6 8 10 11
+89 87 86 84 82 81 79
+27 29 32 33 36 38 41 43
+47 49 50 51 52 55 56
+28 29 31 32 35 38
+90 89 88 87 85 84
+38 37 34 33 32 29 26 23
+67 66 65 62 59
+66 63 61 60 59 58 57
+21 20 19 17 15 12 9 8
+18 21 23 24 27
+8 10 13 15 16
+29 28 25 23 20
+63 61 58 57 55 54
+53 54 55 58 60 63 64
+13 12 10 7 6 4
+35 33 32 30 27 24 21 18
+69 67 64 63 61 60 58 55
diff --git a/2024/_input/day_03.txt b/2024/_input/day_03.txt
new file mode 100644
index 0000000..567dd05
--- /dev/null
+++ b/2024/_input/day_03.txt
@@ -0,0 +1,6 @@
+(who()where()''~[how()'&do()why()$;mul(323,598)&/-'}{&-/<do(), '~>[?-mul(933,97)how()?from();}{+mul(864,562):#<*$>mul(63,747)what()mul(514,101){]$where())~>do(){:mul(53,731)mul(899,858)~~[select()(~mul(402,353)?^&!,who()what()-when()mul(4,41)-&mul(505,942)how()*/%select(667,826);mul(233,284)(&mul(484,956) #/mul(243,698)[;')how()'<%+[mul(153,970)!when()^{^;mul(176,383)@$$~[select(901,794)mul(322,492)from(183,121),-mul(212,356)who();)where()select()#do()>!who()!mul(138,847)&select()mul(128,454)select()what()(&<-mul(650,981) #when(636,522)(who()'-{?mul(149,431);/ !$}<#<!mul(806,218)when():mul(669,489)!@,) select()+mul(596,973)!@}mul(990,349)-]{,'mul(684,303)-[*mul(358,267)(mul(819,988)+;$}who()-[mul(67,603)< -!$%$who()?mul(753,49)[^who()>@mul(15,553)[[>;%mul(389,307)'mul(864,97)#[$why(),<>mul(322,599) ^mul(109,985)who()<from()from()?<?'mul(894,431)select(397,204)why()}mul(540,913)*?what()?~select()mul(411,407)/^how()-'select()mul(590,166) <how()mul(664,994)from()#^ *mul(384,184)][$^mul(113,201){$)*;{mul(634,407)who()@ how()why()(from()from(65,876)^mul(649,20)>when()<why()!~/who(),mul(586,611)mul(797,330)^&mul(409,692)@@from()]<select(){do()['who()who()&]mul(414,374)~from(){}what()>mul(763,870){from(905,178);$/mul(980,975)$why()@don't()#why()#from()from()when(){mul(436,3)[^]/*what()!!mul(300,322)where()!select()*(~why()mul(845,313),[:mul(937,973)how()^when()mul(552,183);from()/ &from()>'!mul(773,549)/where()~<?mul(869,838)%where()[%#&mul(835,525);?$<[], mul(69,159)what()>from(277,235)'mul(43,275)#>#[?-mul(110,899)~where()when())mul(976,743)%& mul(373,511)what(){{$)?}!mul(565,194)from()%#mul(47,349)(select()%when()&mul(263,392)-#,{+ *(mul(382,243)@:?+&-#%when()from()don't()where()what()(+from()- }where()mul(904,460)@how(768,761)}-why():<what()mul(312,552)@why()/-where()? >^mul(450,724)~mul(570,970)+-+/when():mul(203,363)why()[%%@mul(803,322)how()#who(),mul(368,46)select()what()#^*>from()from()+do()^(:)]+mul(585,478)^*:[mul(4,668);&select()'(mul(931,511);:mul(356,478)[mul(933,523)}';when()mul(616,605)why()$]{{select()how()~mul(869,274)mul(15,936)how()/:}mul(297,842)#}%~,select()$@(!mul(961,553)when()why(40,621)>mul(35,851),?+*mul(574,127)when()select()}who()from()/from()mul(107,604)<~@)mul(911,877who()?(when()!mul(496,778)select()when()select()&<mul(980,829)*<,>!$:,}+mul(278,194)%))who()when()*why()#+mul;when()??what()select() -%how()what()mul(873,684)where();where(741,393)+}?!'}mul(684,81)what()what()how()who()from()/<{>mul(286,481),<^mul(788,53)mul(561;)mul(376,887)+]-(when()[who();mul(205,369)!how(425,691)do(){}when() {mul(260,802)],*where()^why()how(){don't()where()}#?*), mul(670,405)^how()where()]mul(645,220)who();< > +select()how()+mul(763,932)+mul(141,632)+'}how(),@#from()'from()mul(211,161)mul(272,971)[@,>mul(340,784)-#why()&:@mul(343,209)when()#/]&mul(408,205)#!,,@;{>}@don't()mul(682,891)^:(>mul(234@when()} don't()) mul(322,500)~>when()*mul(826,896)$!^+->>what()don't()~&select()mul(127,828):,!^!%where(168,484)<~mul(709,801))@*{mul(148,549);from(649,310)+~what():why():?mul(62,198)mul(133,316)select()mul(580,623)who()who();<;[who(388,191)!{mul(819,559)/[mul(572,562)))@,mul(148,103)who(),select()(mul(669,636)-{mul(493,60)))&#^mul(766,322]*mul(290,960)mul(962,649)mul(209,105)
+mul(759,17why()&'!](%-mul(389,889),select(){/mul(907,972)why()&(<mul(778,477)-:from()*+@^mul(876,124)#}!what():what(){<mul(633,946)from()when()*]mul(61,166):*!select()select()mul(385,972))[*-<select()][do()/{select()what()mul(572,800)+%>#what()select()+!when()mul(379,398)'-{?mul(275,735)>why()(]%)select()+mul(811,330),%who()#mul(27,53)mul(810,378))how()[don't()^$'*mul(714,951)[>where()}:}%)mul(741,834~][<mul(515,311)[;)where()&-$when()!mul(943,268)>*% where()}&when()mul(84?mul(204,282)*,]+@^+%what()what()mul(442,73from()@select()}?when()~select()do()from()-}:where(){$* {mul(436,174)where(209,751)mul(576,189)[^when()what()why()don't()@when()%<$?mul(49,842)>who()from()-:$mul(309,375)-who() <+#+/when(225,777)mul(298,362)^~how()what()]&^;<mul(333,974)mul(760,603))<mul(547,974)#}}#}%mul(939,522)>&;^mul(573,219)[:/mul(714,428)}%mul(534who()@}}]:~'how()('mul(985,19)>( do()%what()&mul(17,24)when()),>from()do()@%!mul(967,50)why()}from()~who()<where()mul(619,399)-+mul(926,910)!mul(790,450)%what()mul(652,66))*~,)@%*'<do():#{/>/;!:mul(330,386)>why();]*<%[{from(285,989)mul(746,507),)where(131,831)'>select()!'who()mul(936,547)mul(698,306),mul(810,111)'[[when()mul(859,814when()(,^:$when()*^@*mul(639,6)()%mul(530,398)from()?'+]what()%mul(565~mul(664,297)][{where()$<'mul(521,918)<~'']?do();how()?[;,! who()^mul(993,640)-$;how():from()mul(555,779)where():?mul(802,307)/}&;@where(),],$mul(428,846)mul(914,333))%$?from()mul(132,678)*when(843,580)mul(360,826)*/when()% what();'mul(726,716)+select()'#~},when(587,50)select(871,597){mul(204,647)(from():{*-]$where()>mul(347,78)'@why()why(990,935)mul(708,962)(:^#what(),)+mul(946,615))>>$how()do()<<&mul(27,707){)&what()mul(734,74)+>'mul(889,356)+{why()why()&why()mul(875,327)[ $who();]#&!@mul(887,395)how()/<select(),~}'>mul(445,826)mul(325,137)why()$#&[+:mul(61,520)~when()]/from(682,457)^;&~,mul(909,277)mul(155,72)what()@<([?#do()&}why():who()mul(636,58)where())[<who()mul(963,11)?!what()what()} ~]mul(675,549)~%{)>@who(487,170)?mul(195,909)how()#;where()why()-)&[/mul(682,842)!(+}+^<<;mul(303,732)mul(709,34)@' (when()~mul(32,411)@don't()what()select()mul(765,345)mul(124,69)mul(68,95)/mul(967,749)do()who()where()who(){:why(430,451)(*when()where()mul(719,917)**)#mul(77,946),when()mul(273,971)#[what():+>why()]mul(583,407)<%from()mul(360,886)who())where(465,475)mul(398,130)#when()where()?where(),#~;mul(647,114*]who()-'*%!from()do()~';?(?$?mul(750,896)'^!how()+'!:/mul(95,159)who()>from(){;how()<mul(749,897)-'^mul(415,582)from()[(where()mul(568,507);~)why()) -mul(850,931)!where()why()~@<!{why()do() ^~%why()mul(909,10)!select(),!-}why()who()mul(654,569)'+mul(416,33)!+how() why()mul(384,73)(#why()where(){&mul(601,75)mul(186,890)-),mul(441,730)from()$+-mul(781,347)[{*from(),mul(412,933)how()]%$:><&,!mul(623,492)+?::from()who(){mul(915,36)#what()mul(855,275)mul(546,43)%%!&from()mul(256,937)^%how()where()+#mul(720,847)who()>mul(530,714))]~<mulwhen(127,51)#/#what()mul(442,992)mul(199,836)~(mul(133,954)#;@~ /:mul(807,810)-<!select()mul(967,241)'^mul(931,561)~;+$how(208,930)how()[(mul(536,241)$mul(161,306~!)$mul(823,497)[*:>what()#when()who()where(353,953)mul(948,731)} ?]~&don't())where()when()where()who():%,?-mul(348,179)why()where()^'/mul(858,210)^$what()!+mul(169,479)};from(106,826)/who()mul(44,593how(382,624)>)-'+#mul(822,120)when(509,411)]why()@from()@~/$do()mul(135,70)?select(){don't()]~mul(339,843)mul(89,314)*[-from()do()){>%^#mul(961,883)
+#-}*mul(204,272)^@':%>]'/mul(399,973)from()!,>>mul(183,122):?#<({+ )mul(489,296^/where()$how(949,670)where()^}/mul(509,262)&!why()when()mul(42,399)]@how();(mulselect()why()~[*!mul(530,643),#$mul(798,926)select()%/:]'from() ?select()mul(777,171)@how()'when(849,184)do()'-'''mul(609,27)how()^&<mul(294,233)/;who(292,498)-:;mul(46,352)who()*'!what()?where()~?mul(678,93)' who()where()mul(918&:/{mul(778,76)mul(992,739)who()< select();mul(233,391)when(){%-[(when()mul(622,255)select(){@#($;$>mul(663,547)}where(891,558)mul;*select(){~$!mul(679,190);<~mul(95,93)where()>mul(347,816)}'[from()+mul(69,7)@,-;^what()mul(679,759)mul(985,484)mul(374,224)+^<}mul(356,351)*(?why()'how()why()when()]>mulwhen() select()!-who() mul(386,988)#%]{ {~mul(403,987)select()<from()^$;how()!mul(934,779)from()from()[ who()why(41,259)why()mul(986'}]>from()where()[+/mul(534,4)'from()who()mul(845,463)^~^who())]!:&from()mul(396,175)mul(797,149),mul(373,499)~/mul(908,215)when()who()$-what()where() ![from(874,415)mul(735,220)%from()?;*<mul(420,264)-;*:?mul(648,648)from()[} +when()mul(484,535)-)from()how()select()[^mul(827,744)*[,:%$mul(318,590)!mul(72,338)}from(332,828)+<@>select()who():'mul(958,295)?from(){[how()}mul(577,440*]mul(248,108)/{mul(845,24) what(708,623)&,mul(962,333):-{mul(228,773) @;'mul(65,412){],]}where()mul(695from()}:mul(802,950)?}&mul(903,520)]select()}@mul(819,46)')who(290,48)}]!+}mul(175,633)from()[-+/select()]#from()mul(502,869)who()who(){who()[$*$mul(625,448)where()&!where() &mul(640,501),&when(322,255){who()mul(393,184)%*(#from()where()mul(855,937)@;(+mul(658,584)+what():'$$mul(510,392)what();%mul(972,965)][*mul(199,39)mul(258,651)#where()when()$mul(629,994)]+&[where(747,799))<?(mul(243,235)~>mul(927,670)$# !{*who()mul(925,133);don't()*mul(430,770))}when()!;mul(691,631)+mul(78,556)]~+{where())mul(119,527)*{>where()mul(108,678)'select()!:$*>mul(178,527)do()&^mul(958,626)-&$[}?mul(51,760)mul(24,628)!mul(193@^{who():^';?'mul(494,429)&who()@;[(from()~mul(556,60)/^[{mul(448,594)+from()/why()mul(133,200)^when()~select()*,how()mul(874,680)'from()>~when()when()>mul(993,110,%!{*</mul(296,249))how()$<*{%^mul(499,678)why()+?]where()+mul(960,503)-$mul(837,497)}#when()when()-[from()]mul(137!*from()?;{,#-[mul(865,181)who(688,662)~?>mul(964,213)[mul(740,725)*}! <mul(842,760)!~{mul(595,90),%^]don't()+from()+(!>-'mul(681,471)$don't()who())< ?*<when() $mul(116,694)who()mul(334,892)select(){mul(692,393)%!?~%select()when(628,495))why()mul(109,158)*how()mul(601,487)how()<mul(18,993)mul(176,256)what()why()select()+?%mul(613,499)what()don't()@~mul(383,802)<!mul(265,451)^,( mul(556,577)'select(486,637)+<select()mul(194,935)how(),]%mul(183,304)%?mul(896,216)who();*why()^]who()$'-mul(482,857)>-^^+*#'%mul(354,482)//;select()why()^select()?how()%mul(717,506)from()from()where()mul(729,432)],> ]@mul(817,878)(mul(25,684),select()?mul(9,290)select()~//from()mul(597,993)>:%]}who()<]&[mul(463,497)'(}don't()what()@&+!select(323,684)%how()mul(530when()'why()mul(595,825)&?why()mul(419,41)how()don't()-(mul(682,595)%,;{&:^%-what()don't()^ *@{how()+what()mul(69,125)*?!?'!why(),<mul(824,838-mul(799,561);@*from()mul(723,945),%[@#,~from(){mul(246,930)$mul>]what()where()<]mul(38,337) (mul(920,421)who() what()&*]{mul(228,619)where()#?'%^>who()mul(500,245)
+{!;';'~)$^#!/usr/bin/perl<@what()&where()-[!]mul(215,331):!^~!&mul(740,257)how(283,279)#mul(86,887)>how(){[([mul(229,645)/+:don't()'(select()how()-{>$mul(319,757)what()^mul(438,563)$where(){select()mul(176,746)] ]%mul(291,179)mul(720,898)}{~;what()]do()[when()/@,)<mul(909,994)/<^{# why()!/don't()?why()mul(502,478)><why()]where()%,/ @mul(576,319)**)'%;*mul(434,53)#%%<:~*@'}mul(122,740)*?from()/#)who()select(11,207)'mul(198,192)(when()})+;[from()mul(228,554)/{]$^mul(707,718)what()@ @//'<mul(697,798)<mul(751,203)$*>:select()!mul(356,326)>?'mul(655,327);,#why()':[ mul(782,645)[:)what()??%mul(328,999)@^ (@>^%from()mul(765,647(,'/mul(523,130)where()why()%where()~why();where()who()mul(536,374)from()mul(240,454)!]how(122,192)from()#)how()/why(572,858)!don't()[mul(626,865)*!$,from()},-mul;:what()mul(926,728) '>}who()^%mul(971,826)<when()what()who()where()select()((;}mul(782,632)-mul(555,891)why(493,334)why(){how()mul(497,236);who()when()mul(224,527)select()@'how()select()mul(983,17))<from()>{(>mul(414,666)}&?&<--<-/mul(869,9)who(706,345)when(211,297)[what()><why(52,346)select()~mul(407,710)how()%{why()*):mul(428,443)#@]mul>'-(){how()?]{select()mul(514,69)mul(926,807)when()who()+[don't(),}$where()%##(mul(628,758))from()?mul(269,430)mul(489,967)when()mul(171,814)+ &when()mulfrom()#]((^{mul(104,614)how()&why()^+who()why())(&mul(843,643)>)(;[when(888,120)how(463,116)mul(519,821)<,(why()$when()who(623,832)mul(26,559)]:why()?/]-;{?do() why()-mul(759,848)*who()why()}*where()mul(358,256)who(250,854)don't();<mul(234,96);@select()mul(232,858)select()who()mul(260,692)[what(307,353)+^what()mul(770,421)who(); *#&{*who(307,583)mul(781,961)]'%where()<*}?-(mul(812,383)'%>#?-~what()how()mul(188,539)what()why()(:how()how()when()(~,mul(10,118):!where()select(){-mul(851,170)+why()[why()-$(from(287,301)mul(53,873)+(&];)![mul(654,539)~how()why()why()who()&>mul(802,188)#}mul(286,24)#-~+~]who()'mul(281,726)why()#{![+when()mul(105,845)+@select()mul(932,93)-:;/';, mul(820,402)select();where()mul(282,739)%what()who()!{%why();:who()mul(37,507)[) &$who()mul(398,244)where()]]<^,*why()from()mul(703,450)?$ mul(568,998)[/mul(241,361)[*>,}%do()what()how()mul(539,814))+^what()@what()!mul(484,815)</&#why()-mul(886,584)>'select(875,43)don't();{]*]^;who()mul(798,636):~>mul(398,278&mul(468,474)(}@;~mul&%[who()@mul(118,538)!$@who()how()*what()what(),<mul(67,428)mul(510,176)mul(803,856)mul(161,602))mul(158,587)mul(360,238)~':,mul(478,5)&*+-}where()*mul(804,17)!@how()$</*%@mul(286,874) #:>why()^*+why()mul(156,58)[^from():)#<<how()mul(268,300)-how()%?#{mul(674,761)]!don't())>?<{mul(47,431) ,>'mul(131,665)who()how()what(){@mul(888,835)who(593,10)'%how()select(357,595)mul(793,894)+select()(mul(289,300)mul(668,408)}+[,mul(404,186):+~}^mul(580,609)who()(:((+mul(664,287){from()<{mul(627,661) select()mul(961,352))why()from()how()mul(652,317)$<select()how():mul(351,933)why()what()<do()mul(70how()where()!-mul(760,394)/(%mul(346,151)]when()(;what()mul(912,435):when()^when()what()select()'how()mul(701,360)}^$mul(312,786)&! ^select()mul(468,133)]!<what(726,322)]#!)why()>mul(423[%where()(!</mul(38,161)~&+'&why()!~*mul(495,220)>[[]]/@mul(613,935)%:[ &<where()}(mulwhen()where()how()mul(340,241)mul(630,76)&why()+%{@!])mul(146,728)! ;${^{from()mul(58,368)@?select() %,!)mul(682,975)# )how()^?%mul(703,165)'from()when()from()^mul(140,504)~from()'select()what()when()[%{mul(44,577)(>?where()<select(27,140),mul(741,451) ~how()why()how()$select()@!mul(812,268)
+*where()select()!+! '@mul(279,497)?when()mul(261,969)select()&!&mul(361,865):~<}!&mul(215,665)&:%from()'mul(412!%-@$:)mul(93,869)&how()when()/+! don't()/why()[';/how(698,147)mul(187,610)+]]!}when()mul(727,817)who()?mul(876,423)what():@{mul(772,859)>why()[:{mul(473,246):[what()^mul(673,250)mul(674,621), ,} ;>when(){-mul(934,227)where())#where()~mul(535!~!how()]how()^mul(16,678)-%?why()what()*-do()}#mul(407,518)?<>'@)&,mul(935,102)+select()@>{>>>~)mul(810,478)mul(13,154)>-]from()@when()mul(359,474)who()<?&+do()what()}mul(463,300);%who(20,992)/where()*where()%(mul(307,632){what()@:}!;-%mul(262,328)/?)don't()select()&%<mul(945,418)/](~why()]}mul(844,771),%mul(66,907)mul(634,936)'+don't()mul(667,574)where() ]@+where()mul(797,682)from()!*&:mul(828,603))mul(428,801)^what()@>-who(311,794)mul(595,571)mul(10,255)what()<who()mul+#mul(786,784)-^?how()how()&don't()/}mul(353,33)]?mul(188>+${select()who()%'!mul(767,38)[mulhow()~{mul(101,378)')where()}!from()!%mul(81,12) what()+what()::select()mul(851,679):#}~&>who()when()/'mul(341,606)when(){)^who()from()select()mul(462when()]^{what()%{!why()don't()why()^@$mul(480,740)mul(327,864)$why()@&,*how()!{mul(359,622)%#+~*where())##%mul(957,284)[]who()}/,)mul(646,738)mul(588'&~&what()#!~mul(901,808)mul(751,892){>*;,why()how()mul(588,670)when() $from()${!#<mul(904,960)mul(268,822)select(865,281)^what()when(870,4)+!mul(283,416)[~how()]@when()%#from(116,591)mul(903,643)how(544,123)select()what()mul(131,766)where();<(}^%'>don't()(select()^&where()mul(430,59)@~why()mul(880,187)how()&!'what()where()how()mul(496,275)+who(){/$!mul(571,229<*!*>mul(843,816)who();what()<#@->'&mul(578,292)/ why()mul(585,157)select()}@>/(when()mul!^who()mul(660,711)><}why()when()mul(392,7)what()$who()how(156,813)'mul(512,78)select()from()*,;mul(139,554)why()!;}&}$from()mul(534,318)(##:]*)what()how()mul(981,987)#select()when(914,450)!:/'mul(664from()^from()?'-mul(287,512)>;?~how()> #mul(763,19)}:mul(875,396)/(-from() !:why()mul(830,397#mul(143,615)mul(565,22)~what()+mul(443,374)how()mul(396,99))who()do()mul(613,198)*,who()]?{(#mul(681,692)(@:[<#;]mul(353,806)mul(416,977)&from();/don't()why(),,&mul(844,896)$how()%:#:(+>who()mul(929,260) %+'when(),~*+mul(549,134)why()[why())!;)when()(from()mul(306,154)'where()what()mul(781,501)['when()why())where()&[select()-mul(256,37)mul(764,192);mul(204,633)mul(980,29)]$mul(85,142why(88,3)~mul(297,384)>mul(445,165):}who(){(: mul(790,74)$?)where(361,397)^what()$$mul(932,137)mul(283,441)$$where()&^~mul(419,42)/$$mul(95,704)what()from()^mul(686,803):from()?what()$mul(657,560)~mul(394,381)why();-+&}where()<}!mul(320,912))+# &,#mul(22,374)^[';!^mul(295,509)who():from()-*mul(844,745)*}$when()where();&^mul(157,945)~how()^/?(mul(98,104)mul(883,360)}from()where(456,72)$???who()[]mul(869,340)from()@/$({@who()'mul(30,429)what();':,:,'select()mul(444,351),mul(568,344))]where()[@)'*!-mul(268,329)who()don't()]select()(select() what()&{'mul(190,17)*mul(795,718)who()^@+;+mul(748,907)>]who());<mul(812,750)(what(307,854)?,mul(559,132)$?/}what()!who()]]mul(64,576)&*{((?mul(514,113)!;do():(select()/ ]mul(884,458):who()[*^[how(458,26)'mul(874,485)^%where()^&*>}&mul(645,937){,/how(47,395) mul(826,39)how()}where(791,937)<^{@)mul(286,200)}who()how()&from()'what()$select()!mul(615,866)<where()@mul(41,606)/from()}@$where()? 'mul(135,4)from()>) why()(/why(901,882)[:mul(815,919)why()mul(713,155)
+ mul(267,443)&select()#/$ )mulwhy(834,619)mul(468,369):mul(360<what()>when(248,679)*when()]don't()(what()<+^{mul(84,136)!mul(865,460)mul(63,689)}who()/!**%/mul#?(,,!when()mul(321,194),?/$who()why(264,50)*-mul(424,308)(/[%~$who()!*?mul(870,366)-;+*^*mul(629,804from(485,259)what(691,680)why() {what())mul(182,814)who()who()mul(45,447)*,from()(+&?$select()*mul(592,101)why()};mul(716] how()when()&%select(393,368)when()*+^mul(360,598),*%~]mul(483,209)}*!@mul(124,485)why()'select()!from()$];mul(827,797)!who()&mul(750,119)mul(266,461)<#+(?{[don't()}what()where()+mul(668,848(*!how()%how()>mul(537,81)-<mul(621,554)!{;(,/)%mul>@don't()why()+mul(290,311)'>/! mul(886,782)}>]~);>?mul(800,965){mul(124,560)[mul(54,352)what()!when()what()'-$] mul(485,906)mul(532,777)*mul(899,963)!^> +where(733,202)where())mul(42,658)don't()>what() who()mul(672,366)%-~*who()select()why(654,545)why()<?mul(148,482)what()(@^mul(204,539)!']!^}mul(316,20)?@$&select(168,13)[:<&mulwhen()'mul(346,412)!<,@mul(421,140)%):;when(333,927)what()mul(662,233+)who()-mul(813,444)(what()(who()]mul(257,562)who()from()?who()#? don't()[why(),*mul(135,871)}from()}{!mul(422,420)*!;^@?why()when(53,628)mul(707,263)$-do()what()^+''~!mul(331,55)select()mul(41,984)who()what()mul(732,731)who()select())mul(96,453)mul(45,369),mul(403,541)what()from()mul(958,966}&&[&)#where()#mul(826,845)do()select()mul(276,52)@'&where(37,727)when()!why(){'mul(16,709)from()&mul(169,255)what()!when()}}{from()<mul(516,193)+mul(809,866))}~^:+who()'mul(802,497)mul(353,83)when()mul(753,747)what()-mul(990,592)mul(47,486)@}where()mul(52,937)what(321,510)mul(75,204)[from()(mul(990,863)&{who(857,87)mul(619,79)when()when()^/mul(829,598)?}/$when()/?}how()(mul(551,424)mul(566,613)-mul(881,853)why()$mul(443,62))what()<(when()]'@from()@mul(681,681),mul(41,909)!why()&^?/mul(901,496)[,when()(~{mul(110,732)?'@when()what()mul(340,118))$^mul(548,352)&[?don't()from()<*!'mul(342,834)what()how()@where()@'from()(when(495,987)mul(626,782)<,/?#-%when()'*mul(155,802)how()&!@)+where()!#{mul(617,775){;mul(761,780)^:~]']>mul(393,810)[:[>?mul(581,64)where(){,&'@what()(?;mul(783,54)who()#:mul(554,807)+%&{[^ )^mul(239,651)select(145,543)(>don't()select() $*?who()who()&/]mul(228,402)#*[?when(628,409)what()!where():mul(595,910);,!-&mul(801,570)who()(when()@select()+~mul(357,370),$select()$,$select()!from(703,372)mul(408,165)mul(929,252)}how()#*what()/mul(115,155)what()mul(64,981)what()mul(162,300)# where()do()*from()'}%),how(309,961)$mul(332,232)/ 'from()>@};$]don't()(?:?*what()^#+mul(51,30)mul(79,533)how()select()}?mul(330,382)from(287,801)>/how()~mul(326,971)mul(623,476)+ ',select(632,537)}why(663,480)mul(987,320)[what()mul(626,139)mul(71,973)?)from()<mul(806,627);*$mul(500,493)what()$select();*[mul(420,687)$+#who(),why()(*do()/#/what()mul(479,27)([%where():;*]mul(842,516)!don't()mul(911,520)don't():mul(20,813)#mul(302,928)-where()when()how()'!when()[select()mul(126,179)?]what()#!where()~#!what()mul(817,663);where())~>*{what() mul(999,806)-from()^{mul(153,622)#do()>why()where(10,408),}{#>%mul(995,509)(mul(728,572)#~(;mul(530,132)*:% select()]mul(499,982)><@when()mul(348,550)mul(362,709))$}mul(520,895) where()-mul(950,23)$%%when())>','mul(328,120)+#mul(934,621){from(63,306) :}mul(402,983)where()*select();*select()<mul(483,759)'(
diff --git a/2024/_input/day_04.txt b/2024/_input/day_04.txt
new file mode 100644
index 0000000..7835c0f
--- /dev/null
+++ b/2024/_input/day_04.txt
@@ -0,0 +1,140 @@
+MMAMMMSAXAXXAXMASMMASAMXMAMMAMXXXXXSMSXMMMXMXXSXASAMXMAMMXSAMXXXXMSSMXMASMMMSMSSSSSXMXSASMSMMMMMXAMXAXMMSMMAXSSSXSXMXAMXMXSXSMSSXSAMXXXMXMXM
+ASASAAMXMXMMMXAXAXSSMXSASASMSSXMMSMMSAMXMMSSMASAMXMXMMMSMMMASMXSAMAMMXMAMAAXAAXAAAAMMSAMXAAXAASMSSSMSSSMAAMXMAAXMMASMSSMMXMAXAAAASAMXSXMASAM
+MSASMSSMMAAASMXSMMXAAMSAMASAAAMAAAASXMAXSAAAMSMMXAMAMAMAXAXAXAASMMAMMXMASXMSMSMMMMMAXMASMXMSXXMAAXAAAAASXMMAAMSMMSAMXAAXXAMXMMMSMSASAAASASXS
+MMAMAXMASMSXXMASXMMMMMMMMMMMMXAXSMXMAMXXMMSSMMAMMAXXSASXSXMAMMMMXSMSMXXAMAASAMMXMASXXXXSXMMXMSMMMSMMMSMMSASMMXAAXAASMSMMSXSAXAAMXSAMMSMMASAA
+MMMMXMSXMXXAAMAMASXMAAAXAMXAASMMMXMSXMSXMXAAASAMSSXAXAXAAMXMXSASMMAAAMMMSSMMAMSXSAXMAMMMXAAAAAAAXXAAXAAXSXMASMSSMSXMAAXMAMMASMXXAMXMXAXMXMMM
+ASAXMAMAMASXXMASAMASXSSSMSSMXSAASAMXAMMAMMSSMMXMAMXMMSMMMSSMAXXMAMSMSAAXMXASXMSASMSMAMAAMSSSSSMMMSSMSMXMXXXMXAAMAXMSMSXMASXAMXAMSMMXSMXSAXMX
+XMASXSSXMASMSSXMASXMMMAAAAAXXSMMMMMSAMSSMAMMAMMMASXXAAAXXAAMXMMSSMAMXXSSMSXMXXMAMAAMSXXXMAMMAMXMAXMAXAASMSXSMMMMSXMAAMMSAMMMSXMXMASXMXAXMMSA
+XSXAAXXXMMXAAXAXAMXXAMMMMMSAMXMXXMASAMAMMMMMAMAMAMXMSSSMMSXMAAMAMXXSAMXAAMXMASMSMSMXXAASMSSMAMSMSSMAMSMMAAASMXAAXMSMSMAMASMAMMSASXMASMXXMAXA
+MMXMSMAMXSMMMSSMASASXSASXSAMXAMMMMASMMAXAASMMSXMASXMAMXXXMASXSMAXXMMMMSMMMAXMASAAXSAMXMXXMAMXXAAMXMXMMAMMMXMXMMXSASMMMMSAMMAXAXASMXMXAMSMSXS
+SXXAAAXMAXASXAMMXMMAASASMAAMMXMAAXXXXSXSSXXAAAMSAMXMSXXMASAMAMMSSMXAAXAMASAMMMSMMMMXSSMXSSSMMSMSMMXSSSMMSMMSAMSMMMMSXAAMASXSXSMAMMMSMSMMAXAA
+MXMAMSSSXSMMMMSSMXAMXMAMAXMSAXSSMMMMXAMXMASXMMMXAXXXXMASAMAMXMAMMAMSXSAMAXMXSAMAAAXAMAMXXMAAMAMXMAAMASXAAAASMSASMAXXMMXSAMAMAXMAMASMAAXMAMSM
+MSXSMAAMMSAASAAMMSSMMMMMSAAMMMXXAAAXSAMMMAMMASXMXMMXSAMXASMMSMMSMSXMASAMSSMAMASXMMMXXMMMMSSMMAMSMSSMAMMSSXMXXSMSXSXSXSMSMMAMMMSMSXSASMSMMMXX
+MAAXMMSMASMMMMMSAAAXAAAMAMXMXAAMSSSXXAMAMXMSAMMXSXMASMSMMMMAXXMAMMAMAMAXAAMXSAMASXAMXXSAAAAAMAMAAMXMASXAMAXXXMMSAMASAXAMXMSSXXAMAMXAMMXMMMMM
+MMSMAAXMASAXXXAMMSSSSSXSXSAXMMSMAAMASMMSXSMMAXSAMASMSXAAMAMXMMMMXSAMXSXMSSMAMASAMMXSAAMMSSSMSSSMSMXSAMMAMXMXMSAMAMXMMMMMAXMAMMASXSMSMXMMAAAA
+XSMXMMSMMSMMMMMSXAXAAAASAMXSMAMMMSMMXAAXAXXMMXMASAMAXXMSMSSSMXSAASAMXMXAXAMXMAMAMAAMMSMAMAMAAAXXAXAMXSMMSMSAAAMMMMAAAAAMAMMAMSMMASAXAASMSSSS
+XMASMXXAMXAASMMMMMMMMXMMAMSXMASXXAAXSMMMMMSSMXSAMXSAMXXMAMAAAAMMXMMMMSASMMMSMSSSMMXSAAMXMAMMMXMMSSSSMSXAAASMSMXASMSSSSSXSASAMMAAMMSMMMSAAAAX
+XMAMMMSXMSSMSAAMAXXXASXMAMXAMXSXSMSMXMASAAXAMXMMSMMMAXXMAMSMMMMSSSMAAMXXAAAMXMAMMXAMMSXSSXMXMASAMAAXAXMSMXMXMXSMSAAAAMAAXMSXSMMXXAAMAMMMMMMM
+XMASAAXAXMAMSXMMMXMXMXMSMSSSMXXXMXMXXSXSMSXSMMSAAAAXSMMSAMMXMXXAAAMMXSASXMMSSMSMSMMSAXAMXASMMAXAMMMMSMAAXSXMMMMXMMMMMMMMMXSAMXXMMSMSASXSXSXS
+XSASMSSMMSAXSAMXSSMMXMAAAXAMAMAMXMXMMAMXAAXMAMMSSSMSXAASASXAXSMMSMMMXMASMMXMMAAXAMXMASAXSMMAMSSMMAMAAMXMMAXMASAMXXXAXMAMSAMAMSXXAMMXASAMASAX
+XMASXAAAASAMXAMASAAXAMSMSMSMAAAAASASXXSMMMMSAMAAXMXXMSXSXMXMXXAAXAAAAMSMAXSAMSMSMMXAAMAMXXMSMAAASXSSXXMXXMMSASMAMMSXSAMXMXSAMXXMASAMSMMMXMAS
+XMMSMXXMMMAXXXMXSAAMMMMAAXXSMMXSASASMMMMMSXSSMMSMSMSAXXSMMAMXSMMSSMMMXMXAMSAMXXSXASMMSAMXMXAMSSMMMAXXMSMSXAMXSMASMAXAMAAXMSASMSXAMAXMAAXXMAM
+MMAXAXXSAMMSMASMMMMSXAMSMMMASAAMAMXMAMAAMMAMMSAAAAAAXSMMMSAMMMAMXAMXSASMSXXAMMXMMMMAAAASMMMAXAXAAAAMXXAAMMXXAXMAMMSMSAMXXXXAXAXMAXMMXSMSMMAS
+SMSMSAASASAAXAXXAAAXMSMMAMSAMMSMSMASXMMSXMAMAMSXSMSMSMAAXSMSASASAMXXSASAMXSSMMSAASMMMSASAASMMMSSMMAAASMSMMSMXSMSSMXAMAXMASMSMSMSMMSSMAAAMSAM
+XAAAAMMSAMMMMMSSSMMSAMMXAMMAMXXAXXXSXMSAXSAMXXMMMXAXAXXMXXAMXSAMMSAXMAMXMMMMAMAXAMAAXXAMMMXMAXXMSSXXMAMXAAXMASXAAMMMMAAXMMAAAAMXAAAAMMSMXMXS
+MMMSMXXMXMAXAAXXASAMXSAMSXSAXAMXMXXMASMAXSAMMSAAXSXSMSMXMMXMXMMMASMXMAMAMAAXAMMMSMSMMMSMAAMSMMMAMMMXMAMMAMXXAMASMMSSSXSMSMSMSMSSMMSSXAAMASMA
+MXXMXSXMASMSSMMSXMXSAMMXXASASXMSMMSMSMMXMMAMAMMSXMXMXMXAAXXXAAAMAMSASASASMSSMMXAMAAAXXXXMMXAAAMAMMAAXMMSSSMMMSAMXAAAMAMAAMXMXMMAXAXAMMSSMSAM
+MMMAASXSASAAAAMAMXXMMXXAMXMMMXAMXAMSAAAASXMMXXAMASAXAASMSMMSMSMMAMSXSMSMSMMAXXMASASMMMMXMMSMSMSSSMSXSAAAAAXAAMXSXMMXMAMXMMAMXASMMSSMXMAAAXXM
+XAXMASAMASMSMXMXAMMMMSSMMMXXAMMMMXSAMMSXSASXSMXXASMMMMMXMAMMXAXSMMSASXSMSMSAMXMXAMXAAAAASXMAXXXAAAAASMMXSMMSXSASXXXXMAMAAMMMSAMXXXMMMMSSMMSS
+SSXSAMMMXSAMXAMMSASXAAMXXAXMMXSAAXMMXAMMSMMAMMSMMMMSMSXSXSMSMMMAXAMSXAXXSXMASXXSAMXSXMSMMAMAMAMXMMMXXXXMMXXXAMASXMAMSAMSSXSAMASMMXAAAXMXMSAM
+SAAMXSXXAMAMSXMAXXMMMXMAXSMAXAXAXSSXMMSASAMSMAXAMXSAAMAMAMAMAXMXMXSMMSMMMASAMMASXMAMXMXASMMMSXSASAMMMMMAMXSSXMAMAMAXMMXAAMMASAAXAXSSSXSAMMAS
+MMMMMMXSMMSMMXMMSAXSAXMSMXASMSMSAAMAMXMASAMXMXSAMXSMSMSMSMAMSXMXSMXXAAAAMMMMSXAXMMAMASMAAXAMMASAXAXSASXSMAXMAMXSXMXSAXMMMMSXMASXXXAMAXMAMSAM
+XXAAAMXMXAAAXMSAXXMMXSAMAMXMAAAXMMMXXASXSAMXMASAXMXMAMXAMSAMMXSAMMSSSSSMXSAMXMMSXASXAXMXMMXSMMMSSSMMXMAMMXMSAMXSXSMMMMXXMAMASMMASMMMSMSAMMAS
+SSSMSSXMASXSMAMMSMXMAAXMAMAMMMMMXMSAMXSAMXMAMXSAMAAXXAMAMXMSXAMASAAMXMAAMXAMXAAXMAXMSMMSSMMSASAMXXMASMSMMMMSMSASMSXAAXMMMXMAMXMAMAXAXXSXXSAM
+MAXXMAXXAMAAXSXAAAAMMSXSXMXSXSASAMXAMAMAMMSMSMSXSSSSSMSMMXMAMASAMMMMXSMMMSSMSMXSXXMAXAXAAAXSAMASXMMAXAAMXAAMMMMSAXMSMXSAMXMSSSMSSSMMSXXAAMMS
+MAMMMMMMMXSXMMMSXSASAMASXSXAAXXSAMSAMAXAMAAAAAMAMAMAMXMMSAMMMAMAMSASMXMXAMAAXMASMMSMSMMSSMMMXMAMAASAMXMSSMXMAASMMMAXXASASAMAAXAAMAMXSMMMXMAS
+MMSSXAXAMMMMAMMAMMMMAMSMASMMXMASAMSXMSSMSSMSMSMAMSMSMMSASASXMSSSMMAMAAAMSSMMMMAMAXAMAAAXAMXSASXSXMMMSSMAXAASMXSASMSMMMSAMAMMMMXMXAMMMAXXAMAS
+AAAMXMSMSAMMAAMASAMXASAMAMMMMSMMMMMSAXAMAAAMXMMMXXAXAMMXSXMAMMAXSMXMSMMXMAMXMMMSSSMSSMMSAMXMASAMMSAMAAMMXSAMXAMAAAAXSXMMSXMMXMMSSSSSSXMAXSAM
+SMMSXMAASMSSSSSSSXSSMXAMMSMAMAAMXSAMXMAMXMMMAXXSMMAMAMMXMMSSXMAMXXMAMAXMSAMMXAXAAAXAAAMXAXXMMMAMASASMXMAAMAXAXMXMSMSMXMAXAMXAXAXAXAXMAXMASAM
+XAAMASMMMXMAAAXAXAXXMMAMAAMAMSXMAMMXSMXMSSSMMSAAAMSSSMXSAMAAMMASXSXMMSMAXAMMSASMSAMXMMASXMMAAXXMXSAMXAMMASMMMMSMXXMMMAMXSSSSMSSMMMMMXMASASAM
+SMMSXMMMMSMMSMMSMMMASMSMSSSMMXAMSXSASAAXAASAMMMMXAAAAMASAMMXASASXMASAASXSXMASAXAAXXAMXMAAAASAMMXXXAMXXMMAMXAAMAMMSMASXMXAMXAAAXAXXXSMAXMASMM
+MMMXMSMAAXAAMXMAAAMXMAAAMAXMASMMMAMASMAMMSMXMAXXMMMSMMMMAMXXXMXSASAMXMAXXAAAMMMSMSSSSXXMMMMXAMXMMSXMXSXMASMSXSASAXMASMMXSXXMMMSSMMSAMSSMMMMX
+XXMAMAMMSSMMXAXSSMASMSMMMMMMXSXAMMMAMXAMXAMAMXSXXMAXAMSSSMMSXMSSMMASMSMSSXMAMMXXAXAAXXAXXSAMXXAXXAASAMAMAXXAASMMXXMMSASAMAXSXAAAAMSAMAMAMASM
+MASASMXSAXAMSMMMAMAXMAMXASXSAMAMMAMXSXMMMASXMSAMXMAMAMMAMAXSAMASASMMAMXAAAMXMXMMSMMSMMXMASXMMSSSXSSMASAMSSMMMMXAAXSAMMMASAAMAMSSSMSAMXSAMSXA
+AMSAMAXMASXMASASAMXSMSXSMMAMXSAMMASAXAMXMMXMXXMASMXSSMSAMXMMAMASMMMMAMMXSMMASAASXAXAAXASAMAAAXAMXMXMXMMSAAXMAXMMSXXAMMSAMMMXMMAXAASAMXSXSAMS
+SXMAMSMMAMASASMSXXXXAMMXMMSMMSMSXMMASMMSAXAMMAMXSXAMAASXSMSMXMAXAAXXMSMMMAXAXMXSXSMMXXXMASMMSMMMASAMASXMMSMSMMSAMMSXMAMXSXSSXMXSXMMXXMMMMMAX
+MSSSXMAMXMASXMASAXSMMMAXSAMAAXASMMMMMXASXSMSAXSMSMXSMMMAXAAXSSSSSMMSAMXAXAMXSXMSAMASMSXSAMXXXAXXXMASASASAMXXSAMAAMXMMMMMXMAMASXMAASMMAAXSXSX
+XAXMASXMAMAMAMMMXXXAAMMMMASMSMAMASAMMMXMASAXMSXASMAXXAMXMMMSMAAXMAMMASMXSAMSAMXMAMAMAAAMAMSSSSMMMXAMXSXMASASMXXSMMASXXSMAMMSMMASMMAAXXAMSAMX
+MMMMXMXMMMSSXMXMMMSSMSAASAMMXMASXMAAAMAMMMMMXMMMMMAMMSAMXASMMMMMXMASAMAXSAMMMSAMXMSMMMMMAXAAAMAAMMMSMSASAMMMSSXXAMAMAAASAXXMXSXXMSSSMMSAMXMX
+SXSXSSSMSAAMMSAMXAXMAMXMMMMXAXMMMSXMASXSXMASAMAAAMMSMAMASXMAAXAAXAAAMMMMSSMMMSASXAXAASASMMMSMSXSXSMAASXMXMXSAMXSMMMXMSMSMSASAMXXMAAAXXXMMXSM
+SAAXMASAMMXSAMASASXMMSMMASMSXSASASASXXXAMXMMAMSMXMAAAXMMAASXMSSSSMSMXAXASXSAAMSMMSXSMSAXAAAXXSXMASAMXMMMAXMMMSMMMSXMXMAXMAMMASXMMMSMMMSAMAXA
+MXMASAMXMAXMXSAMXXAMAAAMAMXAXSAMASAMXMSSSXXSSMXAMMSSXMMXMXAMXXAAXAAMSSSMSASMSSXXAMXMMSXSXMMSAMAMSMXMAXASMXSAMAAXAAASMMMMMMASMMXAXAAXMASAMXSS
+XMXAMASXMXSAASXSXSAMSSSMSSMMMMAMMMXMMAAMAMXXMAMAMXMMMAXXXSMSMMMMMSMMAAMXMAMAXAXMASXMASMSAXAMAMAMAXAXXXMXMASASMSSMSXMAAAAAMMXASMSMXSASXSAMXAM
+MAMXXAMXAAMMXMAMXMMMXAXXMAXXXSAMAAAMAMXSASXMMAMAMAASXSMSAMXAAXXXAXXMMSMAMMMSMMMSMMMMAMASAMMSMMMSMSSSSMAMMASAMAAAMXXSSMSSSSXSAMXXASXAXASXMMMA
+SAMSSMMXMXMAAMAMAMXSMMMMSAMMMSASMSSSSXXMASAMSMSSMMMMAXAXMMSSSMMMMMMSAXMXSAAMAXAAXMSMASXSSMAAXAAAXMMAAAMXSASAMMMMMMMMAAMMMMMMXXMMMMSMMMMMXSAM
+MASAAAAXMASXMXAXXSAMASAXMAXAMSAMXMAMXXMMMSAMXXMAMSMMAMMMMMAMAMXASAAMAXAMXMSSSMSMSAAXAMMXAMXSSMSXSAMSMMXMMASAMXSSMASMMMMAAMXAAXSSMAAXXMASASAX
+XSMXSMMMMASAASXSMMAXAXSXMASXXXXMASAMXMXAAMAMXMASXSAMXXAASMSSSXSASMSMSMSMSAMXAAAAMMMMMMSSMMAMAMMMMMXMMXSSMMMMMMMASXXAAMXSMSMMSMAAMSMXMSXMASMM
+XAAXMMXAMASMMMMAMXAMXSMXMAMXAAMSXSXSAAMMMSAMXSMMAMMMMSMMSAAXAASAMXMAMXXSXXMXMMMXMASXXAAAXXSSSMSAASAMSAXMASAMXAMAMXSSMSAMXAMAAMSMMAXAMXMMXMAS
+XSAMXSSSSXMMMSSSMSMSMAAASMSSXSXAXMXSMSAAAMXSASMMAMXXXAXMMMMMMMMSMAMAMAMMMASXXSXXMASAMXSAMSAAXASMMXAMMMXSAMXSSSSXMAMXAMXMSMSSMMMMSMSXSAMSMMAM
+AXXMXMAMAMXAAXXMAAAAMMMMSAAXAMAMSXAXAXMMMMAMMSASXSSMSXMAXAXAMXAAMXSAMAXASAMAXMASMASMMXMASXMMMMMMSSSMAAMXSMXMXMAMMXSMSMSMXXAXAMSAAASMSMMAAMAS
+XSMSAMXMASMMSSMMSMSMSXSAMXMMXMAMMMMSMMSXSMMSAXMMMAMAMSSSSMSSMMSSSMMXSXSMMASMXSASMAMXMXMSMXXAASAMMAASMXSMMXAMAMMMSMMAMAXXMMMSMMMMMMMAMASMSSSS
+SMASXSASXSXXAAMAAXAMXXMXAASXSSSSXAXAAAXAXAXMMMMAMAMSXAXMAXSAAAXMMMSMMXAAMXMAAMASMSXMAMXMAMSSXSASMSMMMASAMSXXASXAXAMAMSMMAAXAXXAMMSMSMAMXXMAS
+XMMMXMMMMMMMMSMSSSMSMSXMAMXAXAMMMSMMSMMMMMMMMASAMAMAMMSSMMSXMSXSAMXAMMSSMAMSMMAMMAAASMSMAMXXASAMAAXAMAXAMASMXSASMSMMSAMAXSMMXSXSAAAXMAXXSMXS
+MSAMXMAAXAAAXXXXAMMAMMAMSSMMMMMMAMAAMXSMAMXMSMSASMSMAXMXMAMAXMAMXMSAMMAMXSMAAMXXMMSMMAXSAMXMXMAMMMSAMSSSMAXMASAXXAMXSMMSMXASXSAMXSXMSMMMXMAS
+AXAMMSXSSSSSMSAMXMMAXSXMASAAAAXMASMXXAXSSMXMAXMAMAAXMSXMMASMMMXMMAXXXMASMMMSMMMSMMMAMXMSXMAAAMXMMXMAMAAXMAMMMMAMMMMAMXXAASAMXMASAXXAXMASAMAS
+SXSMAAAXMMAAAAXXAMSMXMXMMSMMMMSMASAAMMMMMMASXSMSMSMMAXAMSASXAMSMMSSMXSSMMXAAAAAAMXSAMXMXMSMSMSAXXASAMMXMAAXSAMAMASMSXSMMMMAMXSMMASMMMSASAMAS
+MAXMMMXMASXMMMXMMXAXASAMXMXSSMAMXSXMASASMSASAMAMAMMMMMAMMMSXXMXXAMMXAMMAMMSSSMSMSASASAXAXAAMAMXMSMSXSAMSSMSAMSSSXSAMASXMAXAMXXXMSMMSAMAMXMAS
+AAMAXAXSAMMXAXMAXSASMSASXAXXAMXXAMXMXSXSAMXSMMAMAMXXMASMMMSAMXMMXSAMSMMAMMMMMXXMMAXAMXMMSSXMAXMASAMXMAMAAXSMXAXXAMAMAMASMSMSSMMXMXXAMMSMAMAS
+MSSSMSMMASXSASASXMXMXSAMMMAXMMSAMXXMASXMAMXMXMXSAMMAMXMAXXXXAAXMAMMMMMSMSXMAMMXMMXMMMMAAAXMSMMMMMAMXMMMSXMMXMMSMXMAMMMXMAAMAAAAAMSAMXAXSXMAS
+MMXMAMASAMAAAAXMMMAMMMAXXMAASAMASXXSASXSMSXAXXMAXXSAMASMMSMMMSMMASAAXMAXMASMSMAMSMXMAMSMMSMASAAXXSMSXSMXAMXAAXXXXXSMMMAMMMMSSMMXSAAXMXXAMXAM
+ASAMXMXMXMASMMXXAXAMAXASAMXXXAXAMXMMASAXAMXMXMXASMSASASAAAAXAXXSASMSSSSXMAMXAMASAASXMMMAMXXAMXMSAXAMXSAXXMAXSSMMMMXAAXAMSMXMAASMSXMMMXAXAMSS
+XMAMMSMSXXXAMXXMXSSSXSASAMXSSSMAXXASAMXMAMAMASMXSASAMXSMMSSMAMASAMAMAAAMMSSSSSXMMSMAASXSMMMSSMMSMMAMXMAMSXSAAMAAAASXMMXAAXAXAXMAXMSSSMMXXMAS
+MSSMAAAMMXSAXMXSXAAAASXSAMMMAMSSSSMXMMXSASXSASAAMXMSMXXXAAXMMMMMMMAMMMMMAMAAAMAMMMMSMMAAASAAAAASMSAMXMXMMAMMMMSXMMSAAASXSSMSMMMXMXAAAMXMXMAS
+AAAMSMXMAASAMAAAMMMMMMASMSAMAMMXAAXSSSMSXSAMASMMSAXAXMASMMAAAAXAAXASMSXMASMMMMASAAAXXMSMMMMSSMMSASMXMASMMAMASXXMSMSMMMSAAAXAAAXMMMMSMMAASMAM
+ASMMAMXMMMSSSMXSSXMXXMXMASXSMSXMXMMAASAMSMAMAMAMXXSMSXAAAXSSSSSSXSASAMASXSAAXSASMMMMAXASXXAXXMXMAMAASAAAMXMAMMSMAASXSMMMMMSSSMMMAAMAXMXXAMXM
+AMXSAXXAMAMAXXAMXAMSXMAMXMAMXSAASMSMXMMMAXAMSMSMAMXMAMMSSMMMAMAAAMMMAMMMAXXMXMASMMSSMMASMMXSXXMMXMSMSMSMMSMAXAAXMSMASAMXMXXXMMASASXASXSMMMSA
+AMASASMXMASMSAMXSSMAASXMSMXMAMMMMAAXXXXSMSSXMAAMSMAMASMAMAAMASMMSMMSSMXMXMSMSMXMAAAAAMAMAMAMMMSMAMXAXMMXASMSMSSSXXMXMAMAMMSAAMMMAXMAXAAXAAMX
+SMAMAMMASXSXSAMXAMMSMMAAAAXMSSXXMSMMMMMSAAXAMXMMAAXMAMMASXMSASAAXAAMAMAMAMXAAAASMMXSMMASAMXSSXAMSSMMMMMMMSAAAAAAMMSAMXSAMASMMXSMAMXMAXMMMXSA
+MMASAXSMMMMMXMXMASXMXSMMMMMSMAMXAXAAXXAMXMMSMAXSAXMMSMSASAMMXSMMSMMSXMAXASMSMSASASXAXSXSMSXMASMSAAAXXXAAXMAMMMSMMAAAXMAXMMXAAAXMMMXMAMXXSAXM
+MMAMAXAMXAAMASXMASAMAMAAAAXAAAMMMSMMSMASMXMXSXMASMMXAAMASAMXAXXMAXMMMSSSMSAAMXXMAMXXMMASXSAMMMXMMMMMMSSSSSMSAMXAMAXSXSAXMXSMMSXASASXMASMMMSX
+SMSSMSMMXSASXXAXAMXMASMSSMMMSSMXMAMAXXAMXAMASXMAMXXMMSMXMMSMSMMSMXSAXAAAXMXSSMSMMMSSSMAMASMMXSASXMSAMAAAAAASMSXMSMMXAMXMSAMXAMMXMASXMAXAAAAX
+AAAAAXMAAXASASMMSSXSAXMAMXAXAMXASMSAMMSSSXMASMMSMAXAXXMXXSAAAAAAAAMXSMSMMMAXXMASAAXAAMMMAMAMASASAMAAMMSMSMMMAXXAAXAMAMAXXAXMMSSMMAMAMAXSMMSA
+MASMMMMMXSAMMMAAXSAMXSMAMSXMASMMMXMASXMAMAMXSXXMASMSSXAAXSMSMSSSMSSXSXAMAMSSXSAMMSMMMMSMXSXMASAXAMXMMXAXXAAMAMMSMSMXAMSMMSMAMAMXMSSSMSMXAXXX
+XXMASXMAMMMMXSMSMMXMAMMAXSMMMMAMSMMMMMMAMSSXXMASMXMXMMAMXMMXAAAXAXMAMSXSASAMAMXMSAMXSXXMAXAMXMXSXMASXSMMXXSMSSXXXSXMSXMAAXSMMASMAAAXAAXSAMMM
+XASXMAMSXMXSAXAAAMSSMSSMMSMAASAMASMSMASAMXAXXMMMMASAMAXSAMXSMMMMMMMXMAMXXXMMSMSMSASXMMMSMSAMXMXMXAMXAAASMXMAMXAXASAMMAMMMMAXSXMAMMXMSMMMXAAX
+MMAXMSMMASAMMMSMMMAAMAXMASXSMSASASMASMSAMXMMSXMASASMSMASXSXXAXXAMXMMASMSSSXAAXSAMXMXAAXAAAXSAMXMAMXXSMMMAAMXMMMMMMAMMAMMASXMXAXSSXSXMSAMASXS
+AMMXXMASAMXSXAXMSMSSMMSMXSAXASAMMXXAMXMAXAXAAAMXMAMXAXXXAMXSAMSMSAXAXAAAAXMXSAMMMMSSSMMSXMAXAMXSMMAXXASMSMMXXXAAAMXMXAMXAMAMMMMXAAXAASMMAXMX
+XAMXMMMMSMMMMAMAAAMMAAAXXMAMAMXMASMSSXMSMSSMSSMAMAMSMSMMAXMAMAXXSASXSMMMMMXXMAXSAMXAAXAMMSXSMSAAAMXMSAMAMAMSASXSMXAXXSSMASAMXXMXMXSMMMMMXSAM
+SASAMAXMAXASMSMSMSXSMMSSXSAMAMSSMXAAAAXMAMMMAMXMMAMAAAMMXSMASXMASAAASXXSAMXXXMMSMSMSMMASAMAAAMXXMSMAMXMMMAMXAMXAXXSMMMAMAXAMSAMXXXXAAXXXAAXA
+AAMXSMXASXMXAAAXXXAXXSXMASXSXMAAXMMMSMMMXMAMXXAXSASXSMSMAMXASAMASAMAMAXXMAMMSAMXXXMASMAMAMSMSMSMAMMXMMSXMXSMXMMMMXXASMMMMSMMSMSAMSSSMSMMMSMS
+MSMXXASAMAXMXMSMSMSMSAMMAMAMMMSMMXMAMASAASMMMSMMMAXAMAXMAMAXMAMAMAXXMSMSSSSMAMMMAXSAXMASMMAMAAAMAMMXMAMAMAXXMAMXSXSAMMXXMAXAXAXMXAXXXXAAAAXX
+XAAAMXAAXAMXXXXAAAAXMASMAMMXMXMASXSAMAMSMSAAAAMAMSMSMMMSSSSXXAMMSSMXMXAMAAAXSMSMMXMAXSXSXSXSMSMSSMSAMASAMSMSSSXAAMMAMXMAMAMXMSMSMSSMXXSMSXMM
+SMMXASMSMSAMXMMMMSMMXAMMMMXXSAMXSAMXMXMXXSMMXXMAXAAXAXAXXAAMSMMMAAMXSMMMMSMMMAXASMMSMXAXAMMXMXMAMMXAXASXSAAAAMMXMSSSMSMXMSXXAMAXAXAASMMMMAXM
+MXMSMMAAMMAMXMASXMASMSSMSAAAMMSAMAMXMASXMMASASMSSMMSXMXSMSMMAXAMSMMAMAAAMAAMXSSMMAAAMXMMMMAASXMASMSSMAXMMMMMAMXSAAAAAAAMXMAXSMMMXMMMMAAASMMA
+SAMXAMSMXSAMMXAXASASMMAASMXXAXMASXMXSAMSAMMMAMAMAXASAMAMMAXMMXSXMAMASMMXSMXMAMAAXMMSSMMAAAMMXASXSAAXMAMAMAAXSMAMMMSMSMSAAMSMMAAXAMXXXSMMSXSS
+SASMMMXAASXMAXMSMMASXMMMMXMMMMSAMAAXXMXAMMXMAMAMMMXSAMAMSMSASMMASXSASMAXSMSMSSSMMSAMAASXSMSXSMMXMMMSXMAXMMSAAMSXAXAAAAAMXXAASXMXASAXMXAMXMAM
+SAMXSAMMMXSXSMMAXMXMASXXMAAAAAMASMMMASMSSSSMMSXMXSASAMXXXAXAMXMAMXMASMXMXAAAXAXAXMASMMMXMXSMAXSMMSXMAMSSMAXMXMAMXXMXMSMMMSSXMMSAMXMSAMXMAMAM
+MAMAMASAXAMXMASMSXMXAMMAMXXMAMSMMXXMAMXAXXAAMMMAMMXSAMMAMMMSMMMAMMMMMAASMSMSMSMSMSMMMAXXXAXMMMXAAMASAMMXMAMXSXSASXXSXXAAMAMAXAXAMMXSMSSSXSAS
+SAMXXAMXMAMAAMAAAASMSMSASMSMSMSMSXXMSSMMSMSMMAMMSSMMMMXMAAAAAAXASAAAMSMSAMAMAMAXXASAMXMSMXSXXXSMMSASASXMXMXAAAMAASAAAMSMMASMMMSMMMXMXAAAXSXS
+XASXMSSMSSMMSMMXMMMAAAXASXAXXAMAMXXXAAAXXAMXMAMAAAXAAMASMMXSSMSXSMSXMAMMMMXMAMXSMMSXSAAXXAMMMXAMAMMSAMXSASMXMXMMMMXMSMMASXMXAMMMAXMAMMMMAMXM
+SMMAXAAAAMAXXXAXSSMSMSMAMMMMMXMASMSMMSMSMSMSSSMMSSMSMSAMXSMMMAAXXXMMMASAAXMSXSASAXMASMSMMXSASAAMASMSASMMASXMXXXXAXAXAASAMXMMSMAXXMXXXAMMMSAS
+AAXSMSSMSXSMXMXMXAAMAMMXMAXAAASMSAAAAAAXAAAAAMMMAMMAAMASAMAAMSMSMMSSSMMMXSAAAMAXMMAXXXMAMXSASXSMXMAMXSAMSMXMMMMSMSMSMMMAMASAXMSMSMMMSXSAAXAM
+SSMMAMXAXAMXXAAMMMMMAMMXMASXMASXMXMXMMSMAMMMXMMMAXMMSMSMXSSMMAAAMAAAASAXMAMMMMXMSMMSASMSSMMMMMXMMMSMMSAMAAAXAAXAAAAAXXSAMASASAMAMXXMAAMMSMSM
+AAXMSMMAMMMMSSMSASXSXSASXMMAMAMXMMMMSSMMSXSSSSMSSMMXXXMMXAXMSMSMSMMSMMMSAXXMXMAAMAXSAMAAXXAAAMSAXAAAASASMSMXXXSMSMSMSASMXXMAMMMMMMXAMSMAMAAS
+MSSMXSSMSAMXAMMSMSAAXMAMMASXMASAMAAAXAAXXAXXAAAAMAMMMSAAXMSXMAXXXMAMASAXXXXMASMSSMMMAMMMSSSXMMSAMSXSMMAXXAXMSMXMAMAMMXMMMSMMMXAAAMXMSXXAMMMS
+XAAAAXMASASMASAXXXMMSMSXSAMAMXXMMSMSSSMMMMMMSMMMSAAAAMXAXXXAMMMAXMAMMMMSASMSASAMAXXMXMXXXMASMMMMMXAMXXAMSMSAMXASMXSXMAAXAAAAXMSSSSMXAAXSSMXS
+MMSMSSMAMXMXMMMSMMMXXAAAMXSAMMSMXAXAAAMAAAAXAXMMSXXMMMMAMSSMMMSMMMAXMAMMMAAAASASMMSSMMMMXSAAXSMAAXAMMMXXXAXMMXMMXSAMXMMXSSSMSMXAMMXSMSMAAMAX
+MMMAMXMAXAAXSASAAASXMAMSMASASAAXXAMMXMMSSSMXMMSAMMSMSASAAAAXXAAXAMAXXASXXMSMMSMMMAMSAMXSAMXSMASMMSMXAMXMMAMAMXMAMMAMSSMXXXXXAMMAMAAXAMMXMMSS
+SAMAMMXMSSSMXMXMXMSAAXAAMXSAMMSSMMMSAAXMAXAASXMASAAASASMSSMMMSSMSAAMSMMAMXXMASAAMSMSMXAMASAAAMMSAAASXXAMAAXASAMAMMSMAAXSMMSSMXSMMMXSASXSXAXM
+MASXMAMMAMAMSMSSMMSMMMSXSAMXXSAMAAAXXSMSAMXMMASAMMMMMASMAXAAAAAAXMMMAAMMMSAMXSMMSAXSXMXSAMAMSXAXMXMAMMASXXSASMMXMAMMXXAMXAAAMMMXAXAMAMAAMSSS
+MAMXSSMMMSAMXXAAAMXAAAMMXAXASMAMSMMSAXAMMSMASMMXSXMXMAMMMSSSSMMMMMXSMSMAASASXSAMXMASAMXMASAMXMMXSXMASMMMMAMAXXSXMASXSSSSMMSSMAMMSSXMSMSMXASA
+SASXMXAAAMASMMSSMMSSMXSASAMXXMAMMAXMXMAMAAAXMXXAMXSAMXSAMXMAXAAXSSMSAAMMMSAMAMMSASXMMSAXAMXXXASAMXMAXAXXMXMSMXAASAMMAAAMXXXXMASAXXXXMAXSXMMM
+AAXMASMXMMAMXAAAAAXMAMXMAMMXMXXSMAMMXSAMSSXSMSMAMAMAMXSXSSMMMSMMXAASXMMSXXXMAMAMMMASXMASXMSMSAMASMSMSMMSSXMAAMSMMASMMMMMMXMASASMMMMMMAMMXXAX
+MSMMXMMXXMAXMSSXMMXMASXMMMSASAAMMMMMAMAXXMAXAAMAMMSAMMMXMASXAAXAMMMMAXXXSAMXXMMSXSAMXMAMAAAAAAMXMAAMAAAAMASXMMAMMMMAMMSAAXAMMMSXAAASMMMSMMMS
+XMXMXAXMAMAMMMMXAMXSASXAAASAMMSMAASXSSSMAMSMSMSMSXSXSAMMXAMMMXMMAXAMAMSMMMSSXAAAXMAMXMASMMMSSSMMMSMSXMMASXMMMSMSAXMMMASAMASXMAMMMSASXMAAAAAX
+MMAMSSMASMSXSAXSMXAMSSXMMMMAMAMXSXSAAAAMMMAAXAAAMXMXSASMXSSXSXAXSSMMSXMAXXAXXXMMXSAMXMAXXAAXAAMAXMXXMSMMMAXAXAASMMSAMAMAMSMAMMXMXMXMAMSSSMSS
+MMMMAAMSXAAAMAMMMMMSXMXSMSAXMSSMXMXXMSMMASMSMSMSMXMASMMMAMAASXMXMAMAMAMMMMMSSMMMASASXSSSSMSMSMSXSXXMASAASMSSMMMMAAMAMXSSMAMAXXAXAMASXMAAAAMM
+MSMMSSMMMMMSMMMAAMMAAMMMAMXSXXAMXMAXAXXSASAMMMAXMXMAXMAMAMMMMAMSSSMSSSMAAAXAAAAMXSAMAAXMXAAAAAXAMXMAASXMMAAMXSAMMMSMMMAASMSMSSMMASAMMMMXMMMS
+MAAMMAXMAXAAAASMMSMSXMAMXMAMASXMAXAXXMASAMAMSMAMAAMMXSASXXMASMMAAAAXAASMMMMMSMMXAMAMMMMMMSMXMSMAMASMMMASMMMMAXAXXAAAAAMMXXMMAAASMMMSMASAMXAS
+XSSMMSMSSSSSSMSAXMAMMSXSAMXMAXASMXMXXMAMXMAMAMASXMXMASAMXAXXSAMMXMXMMMMXAXSXMASMMSMMAAAAXASAMXMXSXSASXMMASMMSSSMMSXSMSXXMSMMMSMMAAAXXAXAMMAS
+XXAAAXMXAXAAMASAMXXSAMASAMXMSMMAMASMSMASXSXXXSAXASXMASASAXSAMXMSXMMSSSMMSMMASAMAMAMMXSSMSASMMMSXMAXAMSXSAMXAAAAXAMAMXMAAAAAAMAXSMMMSMSMSMMSM
+ASXMMXMMXMMMMAMMSMMXAXAMAMSMMAMXSXMAASMMMMAAMMMXAMAMASAMASAXXAMXAAAAXAAXXMSAMASASMXSAMAAMAMXMAMAMMMMMXXMASAMMSMSAMMMAXXMSSSMMMMSAASXMMAMXSAS
+XXMASAMMMSMAMASAAAASMMXSXMAASXMAMAMSMMXAXMMMMAMXMSMMXMXMXMMSSSXSXMMSSSMMMAMASXSASAAMAMAMSAMAMASAAAAAAXXSAMAXAXXMASXSSMXMAMXMASASMMMAAMAMXSAM
+XSXASAMXAASXSAMXSXMASXAXMXMXMXMAMXMAASMSXMAAXAMAMAXAAXAMXAMXAMXMXMXMMAASMXMXMAXAMMMXXMXXSASXSASMMSSMSMMMXSXMXMXMAMMMMAASAMASMMASMSSMMSAMXMAM
+XXMASMMMSXSMMAXAMXMXAMXMAXSXMMSMXMXMMXAMSSSSSSSMSAXSASASASXMXMASXMAXSMMMAMXSMSMXMXXXSASXMMMAMAMMMMMMMAMXXMAMSASMAMMMMMMSAMASXMSMMAAAAXMXXSAM
+MMMXXXMXMAMASAMXSXSXMXMSSXAAXMASAASXMMXMAXAXAMMXMMMMAMAMXXXMASXSASXXMAAXMMAMAAAASMSXMASMSSSMSMSMAAAAMAMXASAMMAMAMXSMSMMSXMXSMMMAMSMMMSSSMSAS
+AAAXMSMAMXSAMXMXMASMMAAAXSMSMMASMMAAMSMMMSMMAMXXMASMXMAXXMASASXSMMSASXMMXMASMMSMSAAMMXMMXAAAAAAXSSMSMMMSXMAXMAMASMMAAMXSMMMMAASMMXXSMMAAASAX
+MSXXAAMMMAMMSSXAMAMASXMMMXSAAMMMMMSMMAXAAAXASMXXSASAMSSXSSMMASXSMXAXXMASXSMSAMXMMXMASAXSXSMMMSMMXXAMXMXSXSXMMMSAXAMSMSAMAXASXMSASMMSAMSMMMMM
+MAMMSMSMMXXXAXSXMASXMSMXSSMMSMAAXAAASMSMSSXAAXAAMSMAMAAAXASMXMAMMMMXXMASAMAXMAXXMAXSSMXMAMAXXAMXMMXMMSAMXAXSAMMAXSMMAMASMSMAAASXMAASXMMXSAMX
+MASAMASMSSSMMXAXMASAAAMXMASAMXSMMSSMMXXMAXMSMMAMMASAMMSMSAMXAMAMASMAMXXMAMXMASMSMSMMXXASMSXMMAMSSMSAAMXMXMASASXMAMAMXMAMMAASXMMASMMMSMAASASX
+SAMAMAMAAAAXXXMXMASMSMSASAMXMAMAMXMAMXMXXXMAMXMSMMAXXAMXMXMSMMASASMASXMSMMASXMXAAMSMSSMMASAASAMXAAAXXMXMXXXSAMASMMAMAMXSSXMMMASAMMSXMMMMSMMX
+MMSSMASMMMMMSMXMMXSXMASASXSXMAMXXMXXXAAMSSSSMXAAMXMSSMXMSAMXSXMMMMMASXAAXXASAMMMMMASAAAMAXAXMASMMMMMASAMMSMMAMAXMAMSMSMAMSAAXXMASXSAMXMASAAA
+MXAASXSASXSAXAXAXMXMMAMXSXAAMASMMSSSSXSXAAAAAMSMMMAAAMAMSASASMAXAXSMMMSMSMAMXXAAAMXMSSMMSSMMSMMAMMXMAMAXAAAMSMXSXAASAMMAMMXXSXXMMMSAMXMAMMAX
+MMXXMMMAMAMAMXSMSAAAMXSAXMSXMASAAAAMMMMMMSMMMMAAAXMMMMAMMAMASXSMMMAAAAAAXMXMSMSSSSSMAXAXAAMAAXMAMMAMSSSMSXSXXXAAMXMSAMSSSSMMMMMAAAXMASMSXSAS
+MSSXMAMAMXMAMMAASMMMXAMMSAMXMXSMMMSMAAXMAMAMXSSSMSSMASXSMAMXMAXAXAMMMSSSSMAMAAXXAAXMAMMMSSMXSXSASMXSAAAAMAMMAMXSASXXAMAAAAXAMAAXMSXMAMXAAMAA
+AAAASMXMSXSMXAMAMAMXMXAAXASAMXSASAXXSXMSMMSXMAXAAAXMMMAMXMMMAXMSMXMXXAAAMXASMSMMMMMMSSSMMMXMAASXMASMMSMMMAMAAMMMXAASMMSMSMMSMSSXSXMMSSMMXMMM
+SMMMMSAMXXAMXSXMSAMXASXMMAMAMASAMMSMMXAXAMAXXXXMMMSMMMAMASMAMMMMAASXXSMSMSXSAMXXASXMAAAMMAAMMMMAASXXAAXMSMMSMSAMXMMMSAAXXMAMXAMMXAXXAXMASAXX
+XAXXAAMMSSMSAMAASMXSMMASMSMSAAMXMASAMMMSAMMMMSMMXAXAASASXMMAMXAMMMMAXMAMAMAXMAXMMSAMMSMMMXMXXAXXMAXMMSSMAAAMASMSMXXXMXMAMSAMXMSASMMMMSMAMMXS
+SSMMSMXAXAAMAMMMMMASAMAMXMAXMMSMSMMAMAAXAAXAAAAMMMSMMSAMXMSSSMMSASMSMMAMAMSMMMSAXSAMAMXMASXSSSSSSMMSAAAMSSMMAMXSMMSSMMXAAMMSMMAMAMAAXAMAXMAM
+MAAAXXMSSMMMAMAAAMXSAMXSAMXMAXSAMXSASMSSSMSASXSMXAAAXXAMAMAXXAMSASAAMSAMASXAAASAMSXMXSAMASAAAAXAAXAAMSMMXAAMMSASAAAAAASASXSAAMSSMASXSXSASMAS
+SSMMSXMASMXSXSSSSSXSMMASMSXSSMMMMMSMSXXMMAMXMAMAMSSSMSSMXMASMSMMXMXMMAXSXSXMMXMSAMXXASXMMMMMMMMSMMSSXXMASXMMAMASMMSSMMSSXMSAMSAAXMAMXXMASXMM