diff --git a/2024/01/input.txt b/2024/01/input.txt deleted file mode 100644 index 5e9ac53..0000000 --- a/2024/01/input.txt +++ /dev/null @@ -1,1000 +0,0 @@ -46669 36559 -54117 62675 -25659 15179 -18867 82784 -94354 78485 -28985 76228 -42358 34206 -59950 58682 -97799 24655 -52935 64167 -59303 53728 -85106 71005 -50792 91433 -13407 14222 -67886 61779 -16895 63137 -30061 23324 -52760 28081 -58542 49063 -90229 61487 -13000 11872 -75051 16072 -95703 59610 -71514 95236 -38533 15786 -96889 17973 -50570 62950 -22045 76693 -57193 91433 -14748 85022 -10514 38767 -29334 47840 -88964 45642 -48941 39483 -70592 24655 -93664 22449 -96355 69515 -81294 74800 -48811 85577 -45071 85562 -92092 82630 -84197 76933 -97582 13139 -87792 86408 -54977 27338 -99783 29891 -69620 61216 -13987 77826 -99852 96463 -91433 60831 -78088 46665 -72987 42777 -42868 69997 -68892 46927 -34108 66123 -43478 18458 -19787 42868 -94776 47041 -79484 42868 -51651 87993 -24205 29529 -44859 90283 -20200 73827 -87459 73406 -56046 83755 -91769 22449 -67206 27695 -12181 17936 -60868 83249 -38752 22334 -99845 94472 -41505 61216 -60128 24655 -29568 78485 -22811 63720 -58897 73583 -72379 79339 -37663 41578 -79732 61216 -73155 46563 -81753 43279 -51621 51888 -93416 86408 -47921 59610 -80800 23324 -96164 73406 -11851 98656 -23151 90283 -38856 89669 -68276 82552 -98955 32695 -54728 30695 -29338 75446 -62950 59047 -65523 19589 -37775 59752 -44035 55601 -88679 53778 -51799 86633 -88184 62950 -91162 78485 -93338 54646 -88930 17554 -86160 77826 -11460 56897 -25918 45594 -72148 91433 -92158 37114 -93731 49360 -87043 44224 -33307 76228 -28611 70786 -13314 61216 -65566 40058 -20245 63137 -37773 33408 -78163 30754 -63537 76662 -64165 11339 -80838 23324 -51282 29108 -25277 59610 -59407 75468 -67162 32283 -29618 22449 -38169 77435 -74644 65347 -15925 76228 -64235 87695 -14313 31523 -65574 70278 -94576 46927 -28941 76693 -56933 75648 -90283 20996 -15912 76693 -37371 11483 -42928 61216 -20043 15456 -79060 50351 -95841 86342 -90503 22449 -34098 55194 -59349 27339 -52463 49245 -44382 59610 -86377 39994 -77346 51349 -32396 82630 -89974 40626 -56849 67629 -62875 86860 -56067 34945 -92962 49059 -62901 46892 -25886 77783 -21697 96304 -38147 17270 -14550 90283 -13342 70663 -70611 68152 -20481 21488 -28904 58215 -26634 39518 -52203 30752 -66212 78485 -90182 98936 -20740 15786 -66065 65617 -61202 45164 -26862 99261 -58796 40132 -78079 70988 -81851 93597 -71297 91433 -92854 65509 -80295 27424 -63299 44867 -15813 58215 -16650 76933 -53617 23324 -26984 16067 -18903 22496 -45338 10448 -78888 63137 -45642 41937 -33541 24655 -48364 44977 -45753 86408 -38974 87966 -74367 95952 -30987 24768 -69198 61027 -79165 23324 -36565 49245 -93880 23324 -58577 22449 -88572 11153 -23891 35210 -57919 56916 -68618 29125 -69689 24742 -63792 67434 -42378 91433 -30886 85562 -68874 73316 -47080 76228 -17364 50012 -26523 95236 -91160 12505 -82072 63137 -85218 88792 -21179 45280 -83540 22449 -62790 75446 -99201 76966 -24655 91601 -15468 59236 -69939 40216 -26652 51063 -72139 22449 -38765 15786 -37220 73406 -46720 15786 -23324 12724 -28463 22865 -74495 12866 -81338 47719 -48576 67579 -57908 85562 -96483 75446 -12243 46927 -18922 30274 -96066 50932 -32506 57089 -63137 18017 -80079 34565 -78238 57507 -29990 85562 -63341 77826 -53097 89535 -77250 67346 -18752 22230 -84225 91433 -23056 22728 -72203 44957 -12182 95236 -54287 57853 -78417 76693 -79546 61111 -97938 90283 -28464 91433 -43864 61216 -25327 45949 -76917 18588 -88304 61216 -16599 91970 -90372 38723 -78721 47963 -61712 73406 -40506 20355 -80458 13289 -50334 49245 -10066 99664 -33077 90921 -27603 87695 -51307 62936 -18791 49524 -90086 98799 -61487 76228 -80381 77826 -30353 75446 -46686 63367 -67471 50064 -22404 67635 -73240 47665 -38824 85562 -52873 78957 -89294 79544 -55505 36605 -21363 73406 -54456 90283 -26147 51518 -51044 98236 -27948 22449 -28048 76228 -52852 87695 -33020 76933 -66414 51084 -29109 75446 -10430 72012 -53057 63137 -99531 27252 -77723 76933 -87307 24655 -81886 50012 -97967 90283 -24057 64661 -23205 63137 -18662 76693 -89627 25871 -70743 50012 -27182 88872 -75446 50012 -88535 38500 -83093 69995 -67214 88991 -79553 33819 -61690 50012 -76228 98865 -50955 95236 -93037 19499 -24196 49526 -59691 67094 -35278 90283 -61597 23324 -56941 37523 -20120 97355 -87535 87032 -41203 63891 -16392 87787 -72594 75446 -95236 76693 -59675 65584 -68845 90283 -78485 33285 -44280 62583 -98434 19636 -86408 22449 -49172 15344 -33704 41932 -57434 72228 -72242 16591 -55017 75193 -57538 97837 -66108 35681 -22194 32467 -74204 41085 -75528 56270 -55070 13932 -12362 69548 -80880 46460 -92437 86408 -62756 37768 -61713 33991 -65166 15786 -66265 57948 -59605 81427 -95292 61216 -53322 61216 -92343 77826 -57881 43673 -25694 79166 -50803 62933 -12557 76228 -30235 63137 -60145 59610 -69385 54371 -67591 95236 -75778 57891 -32402 72023 -85763 79371 -77826 58215 -54653 52717 -43427 73406 -87693 78923 -42560 99999 -56662 98907 -34358 15149 -72062 87084 -87457 25270 -79098 46927 -96786 63137 -12893 90634 -72153 22959 -79455 13986 -94850 28046 -73433 11290 -18596 58215 -82630 78485 -33604 14849 -15222 74035 -61085 23906 -36243 10054 -61417 39396 -97586 61216 -38303 13532 -46927 78485 -97158 28915 -47223 24655 -71928 16050 -48850 10274 -63968 59834 -74998 51096 -12237 16089 -15340 68204 -28588 86420 -27774 27427 -87417 76693 -68167 20436 -82772 87695 -16746 41792 -49969 76228 -68165 28891 -87687 73914 -31995 73403 -51948 57812 -92704 73961 -44851 23324 -81688 48766 -92752 24655 -87448 42868 -14258 13555 -97152 95236 -16893 58215 -49941 72107 -92908 95236 -30101 75629 -83485 19453 -70442 95236 -90285 24655 -55498 23539 -38791 77826 -51701 84708 -30330 59334 -59586 61909 -69360 16800 -96194 66338 -26813 94571 -16730 60469 -20452 61216 -88869 62950 -36471 85562 -48094 11994 -53210 58215 -25883 55787 -67454 16997 -28364 91433 -29596 18200 -39653 42554 -78247 98641 -68869 10213 -37243 61575 -78248 91234 -86264 24655 -42101 22449 -81992 77493 -65269 73406 -79512 88490 -23050 68216 -71745 32372 -12275 22311 -72704 57374 -40391 37266 -93996 81448 -60235 71232 -23986 45642 -31562 61893 -76700 68049 -95646 70208 -19567 23324 -91012 93539 -29318 15559 -25010 11836 -35563 51368 -54704 76228 -49819 40935 -33230 61216 -79086 14268 -51170 18475 -66485 81497 -18849 62950 -64392 24655 -95125 54268 -57789 27894 -59448 86408 -47257 86384 -15786 91433 -61948 42868 -86728 58933 -99498 59808 -52830 35210 -70990 70735 -67116 15019 -63821 73107 -27729 77826 -61964 32077 -36375 88334 -25299 59610 -86368 55921 -86423 71213 -73061 88241 -98588 25835 -13938 21656 -99826 95236 -37553 68730 -64667 62007 -93565 82405 -42768 29866 -42731 76693 -20204 30794 -71882 28231 -93933 73406 -32525 84373 -89842 64081 -31297 45009 -27264 75446 -93838 64694 -60747 78485 -13328 22449 -40592 95236 -91398 20009 -11574 90283 -96548 35894 -34268 49890 -86325 39672 -63884 15842 -30812 23567 -69993 24655 -22994 85977 -36141 24655 -17881 23324 -87053 12341 -85897 11252 -64282 31676 -83859 82810 -37811 70856 -30617 65639 -12124 82075 -25279 61216 -50876 76933 -93773 75446 -11066 73504 -75494 22449 -10852 22449 -75214 75446 -17183 55952 -40332 91433 -29117 20899 -30888 45919 -73512 32221 -78708 26250 -13367 76228 -92813 97383 -51110 47725 -25552 95236 -31096 38747 -83451 76754 -22497 49245 -42453 76693 -91372 53487 -91733 61487 -71459 79153 -45515 95236 -25529 81102 -21597 73394 -43122 82630 -63641 64171 -77303 61216 -37944 58215 -11386 77826 -77018 79070 -82992 96114 -51119 77798 -73221 23324 -18732 34798 -42279 46927 -89508 73730 -27791 80194 -28523 95308 -27555 12881 -29648 54618 -13577 98443 -56947 76693 -36475 87505 -38270 71142 -84688 28274 -19271 76693 -23825 22945 -95718 51459 -91764 51788 -27386 42182 -18677 55015 -67612 76693 -11810 44178 -87498 75376 -74359 45642 -35714 56252 -86955 70950 -28543 86408 -21253 57179 -81283 73406 -54208 83349 -87550 37110 -88194 76693 -68969 49473 -94869 80272 -18066 64411 -31310 15786 -57043 78434 -55440 89060 -88510 61216 -69221 64444 -45336 23324 -39240 51320 -86973 61853 -78101 71772 -24917 38491 -30454 84950 -95917 89580 -96914 78485 -77197 50552 -67382 31174 -73864 88832 -68112 77826 -34762 15786 -53167 36945 -58539 32505 -67660 41818 -89709 35248 -87156 49245 -98670 84396 -12340 44671 -51671 87514 -47948 18060 -69823 76228 -35233 73406 -52807 24655 -94057 26388 -63741 59610 -82004 66606 -93513 60231 -75084 35371 -10372 88851 -89866 46927 -24553 79589 -20556 15786 -46412 22449 -78846 24491 -98088 76693 -31170 92173 -94801 52961 -51058 13445 -70594 50037 -35346 50338 -78257 23324 -73406 21744 -68359 46927 -41213 55805 -45250 42131 -43279 18812 -69199 15786 -53725 76497 -69398 37768 -11742 73406 -65219 58877 -31780 38597 -46113 90283 -30112 76693 -37748 60472 -12596 58428 -22346 98357 -43346 53539 -89142 78485 -14544 38869 -31577 55185 -55937 87695 -41189 35667 -25078 73406 -59330 94542 -84733 16627 -82488 73406 -82948 58215 -16789 91433 -53671 27376 -70549 50516 -97581 54013 -91708 61216 -64783 37768 -89911 46097 -74663 76228 -70646 60061 -23944 31181 -30697 93934 -27561 95236 -52655 68084 -90627 38964 -27641 35708 -14184 91433 -42968 17857 -72204 30261 -77368 35970 -17048 89985 -20782 18407 -64749 78485 -41007 26752 -11880 97776 -44202 24368 -97301 23407 -61077 74465 -38804 77826 -13897 48877 -14508 37578 -61383 53091 -16885 29289 -37225 52081 -64685 35992 -31682 95236 -63631 10368 -45781 24466 -24092 65388 -31728 76228 -45777 22113 -51779 60657 -33859 29358 -53484 78827 -61319 49899 -36093 48789 -40584 77905 -56381 54295 -22662 38614 -24641 22449 -88324 59610 -78924 95236 -74820 61487 -77398 60846 -99595 63137 -65832 49245 -89471 11285 -90188 76593 -97763 71720 -98824 77826 -14418 20513 -39862 73406 -55906 78485 -86059 29127 -20742 97241 -88269 91433 -17962 86920 -32602 49245 -95412 59994 -83267 70431 -36825 24655 -89562 43279 -16860 72596 -53577 96790 -46665 76574 -71813 67270 -35210 15445 -33400 76693 -96069 65213 -46322 39179 -95285 91433 -95767 86269 -15236 76933 -27778 49357 -16170 30140 -57870 63137 -80794 63137 -84281 57089 -91022 26553 -55848 49245 -13825 49245 -91230 87028 -54860 73406 -66596 53306 -61216 64519 -50012 76693 -36465 83257 -87188 75446 -73588 21801 -94757 20402 -28170 60768 -24891 38174 -91787 76693 -63785 43279 -14566 90752 -55392 90283 -39790 67787 -40079 80845 -33827 34045 -79864 78485 -82775 43279 -67159 10612 -53001 37768 -52173 58727 -28322 76933 -84518 33044 -76693 27243 -49225 44682 -22449 75446 -80658 49373 -43255 22449 -59058 73490 -44951 49402 -71201 28356 -55944 42868 -33202 83266 -86699 66983 -88453 85814 -77034 58838 -85850 76228 -41409 88724 -36649 11112 -88428 93089 -59610 66639 -48137 90283 -86400 90487 -28104 46927 -43317 59610 -85510 67445 -99532 78485 -70359 15786 -42034 88131 -80957 68660 -43032 95236 -33582 40382 -58215 94486 -19221 36076 -91307 77826 -64821 76693 -89517 63137 -53579 18009 -82987 91433 -94727 51659 -19906 91433 -80106 43532 -28240 71843 -29670 23324 -39700 87695 -47283 78485 -39801 76933 -25980 96028 -21945 71497 -78407 78485 -85640 45318 -51978 50012 -11601 76575 -83651 31125 -95958 95956 -77749 23336 -13537 84975 -88065 52971 -38210 98657 -40101 36035 -32397 75288 -96618 16256 -42989 19324 -72932 43609 -18771 34539 -58557 86408 -92319 79573 -38295 94964 -10485 63913 -31358 76228 -38846 75446 -72221 22449 -66323 76933 -57089 60456 -88674 50047 -75813 15508 -22055 60704 -69047 96120 -73862 15909 -83222 67849 -76393 80920 -76522 69689 -71666 76228 -63583 12283 -19328 28164 -39355 77826 -85096 76933 -42056 31488 -92747 13579 -84937 47182 -17024 82132 -56871 90283 -97790 46927 -22993 68190 -68482 55096 -79976 85107 -90940 52882 -65919 63137 -62007 49245 -13415 59610 -26893 24655 -44653 95236 -33612 99036 -46478 42868 -70970 80135 -60481 95236 -15301 59360 -17212 37414 -80899 75446 -67495 21742 -18319 14479 -34445 58215 -39486 42282 -36028 44519 -92208 46483 -88362 90245 -53764 48959 -85604 74027 -96035 95893 -29561 30742 -74152 61216 -49507 46274 -87695 76693 -18100 15786 -21313 73406 -62234 12938 -25025 49466 -60890 74332 -11565 33629 -84299 76228 -34861 90283 -21353 73528 -99978 66897 -46529 22449 -13104 25219 -68752 88910 -26478 76933 -87668 43279 -49777 25060 -86763 75446 -73023 45052 -72004 51554 -88141 23926 -33130 82630 -82472 22449 -64754 80502 -57842 62007 -93088 72374 -45727 93735 -53996 19768 -49245 46046 -85299 19540 -56446 63137 -92445 82605 -67790 75139 -16758 26579 -66664 89655 -32710 80610 -75707 49245 -65814 95623 -58220 87669 -16612 76228 -24698 16590 -23184 73406 -91238 15786 -11843 91433 -86625 85562 -41307 77826 -26670 69594 -64855 63137 -63544 83733 -56574 24108 -79163 67158 -99311 95420 -17640 85562 -66865 91397 -31429 37768 -85562 49245 -93263 76716 -81248 45189 -91852 47062 -58324 52943 -63446 36264 -96407 87488 -46436 57089 -12385 26581 -91195 25257 -88835 32326 -21315 77826 -24216 97211 -37075 50012 -46375 49245 -68824 88237 -24882 44857 -60941 75157 -61864 64400 -41858 97465 -83877 61487 -26722 85343 -52455 55804 -22568 74046 -93290 83623 -76933 73008 -61124 76228 -32025 67436 -26293 77826 -46658 78485 -12043 52527 -47464 24655 -56275 41945 -57840 33284 -60040 82705 -10256 95591 -49049 90283 -37768 43279 diff --git a/2024/01/solution.nix b/2024/01/solution.nix index 5ea15fc..cab51c0 100644 --- a/2024/01/solution.nix +++ b/2024/01/solution.nix @@ -1,6 +1,5 @@ -{lib, ...}: {file}: rec { - rawContent = builtins.readFile file; - content = lib.strings.removeSuffix "\n" rawContent; +{lib, ...}: input: rec { + content = lib.strings.removeSuffix "\n" input; lines = lib.strings.splitString "\n" content; getLeftAndRight = s: s |> lib.strings.splitString " " diff --git a/2024/02/input.txt b/2024/02/input.txt deleted file mode 100644 index 944d032..0000000 --- a/2024/02/input.txt +++ /dev/null @@ -1,1000 +0,0 @@ -65 68 71 72 71 -31 34 36 37 37 -80 83 84 86 87 90 92 96 -30 33 36 39 45 -21 22 25 23 24 -66 68 69 71 72 71 72 69 -2 3 5 4 4 -77 78 77 79 82 83 86 90 -6 9 10 7 9 12 17 -25 27 28 28 30 32 -61 63 66 68 68 66 -51 54 54 57 60 60 -50 52 52 53 56 60 -73 75 76 76 83 -19 20 24 26 28 -36 38 41 42 45 49 47 -56 59 63 64 64 -26 29 32 36 40 -70 72 74 75 77 80 84 89 -81 83 88 89 92 95 96 -79 80 85 87 89 92 93 90 -77 80 85 87 89 92 92 -29 31 33 38 40 42 46 -49 52 57 58 59 65 -14 11 14 17 18 19 -43 40 41 44 47 50 51 50 -31 30 32 35 35 -43 40 42 43 46 49 51 55 -9 7 9 12 15 17 18 23 -74 71 74 71 73 76 79 80 -50 49 50 49 52 50 -51 48 51 49 49 -23 22 23 25 22 26 -45 43 44 47 45 50 -42 39 41 43 43 45 48 -97 94 96 98 98 99 97 -48 47 50 51 54 55 55 55 -33 30 31 31 33 37 -17 14 17 19 19 24 -41 40 41 43 45 47 51 52 -65 62 64 67 71 70 -77 76 80 81 84 85 86 86 -18 16 20 22 26 -58 56 59 63 64 65 67 72 -18 17 22 24 26 -27 25 28 29 30 36 39 36 -53 52 58 60 60 -41 40 45 47 49 53 -49 46 47 49 50 57 60 66 -43 43 44 45 47 50 53 56 -79 79 80 81 83 84 81 -68 68 70 71 71 -15 15 17 18 19 20 21 25 -58 58 59 62 64 66 71 -67 67 70 72 73 71 72 75 -83 83 81 83 80 -93 93 95 97 94 94 -5 5 8 7 9 11 15 -8 8 11 8 15 -59 59 62 62 65 -9 9 10 10 13 16 15 -72 72 75 76 76 79 79 -6 6 6 7 9 13 -27 27 29 29 35 -40 40 44 47 49 52 -85 85 87 88 90 94 92 -55 55 59 60 60 -36 36 40 41 42 46 -62 62 66 68 70 75 -44 44 45 46 47 52 55 -85 85 88 95 93 -33 33 35 36 39 44 44 -18 18 19 21 28 29 31 35 -58 58 60 62 69 74 -15 19 22 23 25 27 -20 24 27 28 29 30 29 -44 48 49 52 54 57 57 -41 45 48 50 54 -8 12 15 17 20 27 -48 52 51 53 55 -78 82 81 84 83 -8 12 9 12 15 18 18 -56 60 63 61 62 66 -2 6 8 7 10 13 20 -8 12 12 14 17 18 -52 56 58 59 59 57 -73 77 79 82 82 83 83 -58 62 63 63 67 -44 48 48 51 54 61 -63 67 68 71 73 77 80 82 -65 69 71 75 74 -84 88 90 93 97 97 -62 66 70 73 77 -26 30 34 37 39 45 -31 35 38 41 43 49 51 54 -3 7 13 16 17 20 23 21 -42 46 49 55 55 -71 75 78 84 88 -53 57 60 62 69 71 77 -66 72 74 77 79 80 -46 53 55 56 55 -6 11 12 14 14 -36 41 44 46 49 51 54 58 -66 71 73 75 78 80 81 87 -55 62 63 64 66 63 65 -22 27 28 25 22 -90 95 93 94 95 95 -35 41 43 46 45 49 -74 80 83 86 88 87 88 95 -39 44 46 47 49 49 52 -73 78 80 80 82 81 -81 86 89 91 91 94 95 95 -28 34 37 38 40 43 43 47 -72 77 80 80 82 83 84 91 -76 81 82 84 88 89 91 -36 43 47 49 50 47 -74 79 80 83 84 87 91 91 -48 55 58 62 65 67 69 73 -14 20 24 27 28 31 38 -33 39 40 45 47 50 52 -71 78 84 85 88 89 87 -46 52 59 60 63 65 67 67 -27 32 35 37 40 47 48 52 -66 71 72 78 81 83 90 -42 39 37 35 36 -46 45 43 40 39 36 33 33 -31 28 27 24 22 18 -27 24 23 22 19 14 -51 50 49 52 51 49 46 44 -78 77 75 74 75 77 -14 12 13 12 10 7 5 5 -41 38 35 38 34 -50 48 49 47 40 -70 69 69 67 65 -55 52 52 51 54 -73 70 68 65 65 62 59 59 -99 96 95 95 91 -76 73 70 68 68 63 -13 11 8 4 2 -26 23 22 19 16 12 9 10 -95 92 89 85 85 -25 24 22 18 15 13 10 6 -87 86 82 79 78 73 -92 90 88 85 78 77 75 72 -50 48 47 42 40 42 -75 74 73 67 65 63 60 60 -63 60 59 52 50 47 44 40 -43 40 39 34 27 -27 30 29 28 25 -29 30 27 24 23 21 24 -66 67 65 63 61 61 -93 96 95 93 89 -90 92 91 90 89 88 85 78 -15 17 15 12 9 8 10 8 -23 25 23 22 25 26 -77 78 77 78 75 75 -12 15 13 16 12 -23 26 24 21 22 17 -92 93 93 91 89 88 85 84 -92 93 90 89 88 86 86 88 -29 31 31 29 27 27 -31 34 34 32 28 -87 88 87 85 84 84 77 -74 75 74 72 68 67 -52 54 52 50 46 48 -75 78 75 71 69 69 -28 31 28 25 21 17 -70 72 69 65 58 -80 83 82 76 75 73 71 -9 11 9 3 2 5 -53 56 55 52 47 47 -14 17 15 14 11 6 2 -41 42 37 35 28 -83 83 80 77 74 71 68 65 -20 20 18 17 16 18 -76 76 74 71 69 66 64 64 -40 40 37 34 32 31 27 -63 63 62 59 58 57 55 50 -63 63 60 61 59 -24 24 25 22 21 23 -24 24 22 20 19 21 21 -17 17 15 14 17 16 14 10 -56 56 54 52 51 48 51 46 -41 41 41 39 36 -36 36 34 34 37 -28 28 26 23 23 21 18 18 -69 69 68 65 65 64 61 57 -81 81 79 79 76 74 67 -35 35 33 30 27 23 21 -81 81 80 76 74 73 74 -51 51 47 45 42 41 39 39 -89 89 87 83 79 -27 27 24 22 20 16 13 6 -82 82 79 73 71 68 66 -63 63 60 55 54 52 49 52 -17 17 12 11 9 9 -40 40 39 36 31 28 26 22 -85 85 82 81 79 74 67 -61 57 54 51 49 46 -38 34 32 31 29 27 26 28 -32 28 27 26 26 -49 45 42 40 38 35 31 -36 32 29 27 25 22 16 -73 69 68 67 65 62 65 63 -19 15 14 17 20 -95 91 89 87 88 86 86 -29 25 23 21 19 20 18 14 -21 17 16 13 12 9 10 4 -85 81 80 79 77 74 74 71 -95 91 90 88 88 87 90 -80 76 76 73 70 69 69 -88 84 83 81 79 76 76 72 -67 63 61 61 59 54 -50 46 42 39 38 35 32 -39 35 31 29 26 23 26 -17 13 12 11 8 7 3 3 -96 92 91 87 84 80 -19 15 13 12 8 1 -25 21 19 14 11 9 8 6 -30 26 24 18 19 -45 41 40 33 31 31 -72 68 61 60 58 54 -96 92 91 90 84 82 76 -44 37 36 34 33 32 30 -43 38 35 32 33 -33 27 24 21 18 18 -67 62 59 57 54 52 49 45 -99 92 90 88 82 -64 58 57 59 57 -80 75 74 71 72 69 72 -12 7 4 5 3 3 -13 7 5 6 2 -79 74 75 73 71 68 63 -42 37 36 34 34 33 31 -52 45 43 40 39 39 40 -36 30 30 29 27 27 -27 21 19 16 13 13 12 8 -63 58 58 57 55 52 47 -65 59 56 52 51 49 47 45 -17 10 8 7 3 5 -88 82 80 79 75 75 -26 19 18 14 13 9 -37 32 31 30 26 23 18 -19 12 10 9 3 1 -51 44 41 38 33 32 34 -44 39 36 33 31 25 25 -21 16 14 11 6 2 -53 47 46 44 37 34 28 -35 38 40 42 43 44 41 -83 85 87 89 89 -37 40 42 45 46 47 48 52 -25 27 29 30 32 34 39 -85 87 88 90 92 89 92 93 -71 74 75 73 76 78 76 -34 36 38 35 37 37 -40 42 43 46 44 48 -15 16 18 17 19 20 26 -8 9 11 14 14 15 18 19 -71 73 76 76 73 -17 18 19 21 23 23 26 26 -52 53 55 55 57 58 59 63 -19 21 23 23 30 -4 5 7 8 12 15 18 -58 60 64 66 63 -4 6 10 13 13 -42 45 48 52 53 56 60 -21 24 26 30 32 33 35 40 -75 78 81 87 88 90 -54 56 57 63 61 -42 44 47 48 55 57 60 60 -73 76 77 79 86 90 -45 46 51 52 58 -49 47 50 52 55 56 57 -57 55 58 61 58 -15 13 16 19 21 23 23 -63 62 63 66 68 69 73 -63 61 62 63 65 72 -92 89 87 89 92 -7 6 8 9 12 11 8 -14 11 10 11 11 -26 24 27 28 29 26 30 -32 29 30 32 34 36 35 41 -19 16 16 19 20 -74 73 76 76 75 -65 63 63 64 64 -43 42 42 44 45 48 52 -63 61 62 62 63 66 68 75 -63 61 65 66 68 70 72 73 -21 18 20 24 27 24 -18 16 20 23 24 26 29 29 -30 28 32 33 36 40 -23 20 23 24 28 31 37 -63 61 63 65 72 75 -41 39 40 47 48 49 48 -29 27 32 34 34 -36 34 36 37 38 44 48 -38 37 40 45 46 49 50 56 -49 49 52 55 56 57 -68 68 71 72 73 72 -47 47 48 51 51 -87 87 89 92 95 99 -47 47 48 49 51 52 57 -86 86 88 87 90 -74 74 75 78 79 78 77 -55 55 57 55 57 58 58 -85 85 86 87 86 88 91 95 -46 46 47 46 48 49 54 -80 80 80 83 84 86 89 -73 73 74 76 78 81 81 79 -93 93 95 96 96 96 -28 28 30 30 34 -24 24 27 27 29 30 32 37 -80 80 84 87 89 -48 48 51 55 57 56 -43 43 44 48 49 50 51 51 -78 78 81 85 86 88 89 93 -62 62 65 69 71 74 79 -25 25 27 29 30 37 39 -82 82 85 88 90 96 93 -35 35 36 39 44 44 -48 48 53 55 59 -68 68 70 73 74 80 81 86 -11 15 16 19 20 -78 82 83 84 87 90 91 90 -32 36 37 39 39 -15 19 21 24 28 -21 25 27 28 30 33 40 -16 20 23 26 27 25 26 -8 12 10 11 9 -44 48 47 49 50 50 -2 6 8 11 8 12 -78 82 85 87 89 91 89 95 -58 62 62 64 66 68 -36 40 40 41 42 44 42 -39 43 46 46 46 -38 42 45 46 49 52 52 56 -53 57 57 60 62 67 -15 19 22 23 26 30 33 34 -36 40 44 46 48 45 -54 58 59 60 63 67 67 -54 58 62 64 68 -31 35 38 41 45 48 50 57 -19 23 24 27 29 36 37 38 -23 27 33 36 34 -16 20 21 26 27 30 32 32 -79 83 84 91 94 95 99 -59 63 65 72 78 -34 40 43 46 47 48 -8 14 16 18 19 18 -29 34 36 38 39 40 41 41 -20 25 28 29 30 34 -48 53 55 58 60 65 -38 44 47 46 49 -83 89 91 93 91 94 96 93 -16 22 20 22 22 -78 84 83 84 86 87 90 94 -10 15 18 19 16 18 24 -34 40 40 43 44 -10 15 18 21 24 24 23 -9 15 15 18 21 21 -70 75 76 76 80 -15 22 25 28 29 29 36 -54 59 62 63 67 68 69 -80 85 86 90 88 -45 50 54 57 57 -35 40 44 46 47 51 -2 9 12 13 17 18 23 -69 75 80 81 82 85 87 -3 8 13 16 13 -74 81 88 89 90 90 -35 40 41 43 50 54 -50 55 58 63 66 69 75 -65 62 60 58 61 -17 15 13 11 10 9 8 8 -82 80 79 76 73 71 68 64 -63 61 59 56 54 51 50 43 -44 42 40 42 39 37 34 -43 41 44 42 45 -48 47 45 44 46 44 41 41 -91 88 85 82 79 80 76 -81 78 81 78 75 70 -16 14 13 13 10 7 -69 67 66 66 65 68 -70 67 67 66 66 -89 88 87 85 84 84 83 79 -87 84 84 83 81 74 -15 14 11 7 4 3 2 -26 23 19 17 20 -72 70 68 64 63 63 -46 45 43 41 37 35 31 -27 26 25 24 20 18 17 10 -42 40 37 32 30 29 26 25 -91 89 87 85 80 78 75 77 -83 81 79 77 76 70 70 -95 94 93 90 89 86 80 76 -49 46 39 36 34 31 29 22 -58 59 57 56 55 53 52 49 -88 91 88 86 84 87 -82 84 83 80 77 74 73 73 -22 25 24 21 17 -17 20 19 16 10 -4 5 3 2 5 4 2 -27 29 32 31 32 -52 54 52 49 47 44 47 47 -45 48 46 47 43 -84 86 88 86 83 80 77 72 -9 11 8 8 5 -39 40 37 36 34 34 33 35 -45 47 44 44 44 -38 39 39 38 34 -70 71 69 69 64 -20 23 19 18 17 -27 29 25 23 21 19 22 -15 17 13 11 10 7 7 -96 97 96 92 89 86 82 -62 64 63 59 58 55 49 -53 54 47 44 42 40 37 36 -82 84 79 77 79 -30 32 30 25 24 22 22 -36 37 36 33 27 23 -80 81 80 77 71 68 62 -59 59 58 56 54 53 52 -48 48 45 42 40 38 40 -63 63 62 60 57 55 53 53 -27 27 25 24 20 -28 28 25 23 18 -68 68 67 64 63 64 62 60 -49 49 50 47 46 45 42 44 -39 39 40 38 38 -83 83 81 80 79 77 79 75 -86 86 84 87 84 78 -99 99 99 98 95 92 -34 34 31 31 29 27 24 25 -37 37 34 32 32 32 -16 16 13 12 9 9 5 -25 25 25 22 20 17 11 -70 70 66 64 61 -71 71 68 65 62 58 59 -64 64 60 59 57 57 -89 89 88 84 80 -83 83 79 78 73 -26 26 19 16 13 12 -46 46 39 36 37 -52 52 50 47 40 37 37 -58 58 57 52 49 45 -68 68 65 64 59 57 50 -68 64 63 60 59 57 -21 17 16 15 13 10 8 10 -68 64 63 61 59 58 58 -86 82 79 77 76 72 -49 45 44 42 41 36 -94 90 88 85 84 85 82 79 -86 82 80 78 81 83 -49 45 46 45 43 43 -78 74 75 73 71 68 65 61 -57 53 52 50 48 50 43 -78 74 72 69 69 67 -8 4 3 2 1 1 3 -27 23 23 22 22 -27 23 23 21 20 16 -85 81 80 78 75 74 74 68 -15 11 8 4 3 2 -68 64 62 60 56 55 53 55 -82 78 75 71 68 66 66 -57 53 52 48 47 46 44 40 -38 34 30 29 24 -29 25 20 18 17 14 -28 24 21 16 17 -94 90 83 81 79 77 77 -60 56 53 50 43 39 -36 32 27 26 21 -36 30 29 26 25 23 -16 9 8 6 5 3 2 5 -92 87 84 81 78 75 75 -26 21 20 17 16 13 9 -33 26 23 22 21 18 17 10 -95 89 86 85 83 86 84 -54 47 45 44 43 44 43 45 -22 15 12 9 10 8 8 -92 87 84 85 82 81 77 -88 83 80 79 76 78 75 68 -22 15 15 13 11 9 8 -82 77 77 76 74 76 -90 83 80 79 79 78 78 -70 64 62 60 59 59 55 -87 80 80 78 76 74 71 66 -31 25 21 19 16 -90 85 82 81 79 78 74 75 -64 59 56 52 52 -63 58 57 53 51 47 -64 57 53 51 50 47 45 38 -60 53 52 46 43 -85 78 75 69 67 65 64 66 -35 29 22 20 20 -37 32 27 24 23 22 19 15 -67 60 57 56 54 47 41 -14 17 15 12 12 8 -10 10 11 14 17 20 22 22 -98 96 95 93 92 86 -73 71 72 74 78 -50 54 58 60 62 -57 59 62 62 63 61 -88 84 78 76 73 -49 49 45 44 43 39 -47 47 50 51 52 54 -59 57 56 52 49 -13 12 11 10 10 7 7 -94 90 89 88 87 88 88 -24 24 22 16 14 8 -45 46 48 49 50 52 52 -64 64 64 65 67 69 73 -53 58 60 61 62 64 64 68 -52 55 57 54 53 -71 68 64 62 58 -64 68 70 71 71 74 75 79 -54 55 55 57 57 -89 92 85 82 79 78 78 -81 80 83 84 90 91 -14 20 22 25 29 32 36 -46 46 48 48 49 51 57 -18 14 13 9 7 5 -92 87 84 84 81 82 -50 49 46 46 45 43 44 -82 85 86 87 89 86 -44 49 51 54 56 63 63 -88 90 90 87 85 82 77 -64 71 72 76 75 -97 98 97 95 97 95 94 90 -46 45 48 50 54 54 -24 20 18 16 15 14 13 8 -53 56 59 58 55 58 -49 49 50 55 58 -47 41 38 38 37 33 -25 31 28 30 33 35 37 40 -64 63 65 67 70 67 70 70 -53 49 47 47 44 43 37 -30 37 43 45 44 -53 48 47 45 41 -65 69 73 76 80 -58 52 48 46 45 44 41 43 -9 7 7 10 15 -82 82 83 90 90 -63 63 60 57 53 52 46 -31 27 25 24 20 19 12 -5 4 7 6 5 3 1 -86 82 81 84 80 -86 81 79 76 75 73 69 67 -54 57 59 60 62 66 -52 48 46 41 37 -46 46 43 41 40 39 35 -49 50 51 53 59 64 -25 27 30 32 32 33 -59 62 59 57 56 -16 16 16 13 12 10 8 11 -34 28 24 22 20 17 13 -57 57 57 60 63 62 -53 59 57 58 62 -29 27 25 24 18 16 9 -50 54 57 57 58 60 60 -41 35 32 32 30 29 23 -66 69 68 62 59 56 52 -49 44 45 42 41 37 -61 61 60 57 50 -3 1 2 9 11 11 -29 26 24 23 21 20 19 19 -59 60 61 63 63 65 69 -97 95 91 88 85 82 83 -4 11 13 20 21 22 24 -72 74 69 66 65 59 -62 68 71 74 74 77 78 78 -69 65 62 61 63 61 54 -15 17 14 11 10 12 12 -83 80 79 75 74 74 -75 70 69 63 61 62 -65 69 70 73 76 75 77 77 -34 29 27 25 24 21 18 21 -6 6 7 9 12 16 20 -50 50 47 45 44 45 45 -69 70 72 69 72 76 -80 80 78 74 73 72 71 71 -28 24 20 17 14 15 -51 51 54 56 61 -38 34 33 33 32 -23 23 25 27 31 28 -39 37 39 42 44 46 48 -56 62 63 63 65 67 69 67 -74 74 80 81 78 -73 71 70 67 63 58 -32 36 38 40 43 50 56 -87 83 81 75 69 -69 65 62 62 64 -85 88 89 93 98 -20 13 11 10 10 -52 53 56 60 62 66 -58 58 59 62 62 65 67 -75 81 83 85 87 87 -38 32 29 24 21 19 14 -93 89 82 80 79 77 75 78 -11 11 13 14 13 14 13 -50 50 45 44 43 40 38 -86 82 79 76 72 72 -81 88 89 92 95 96 96 97 -39 37 42 43 42 -22 21 24 21 17 -24 23 22 22 21 -38 35 35 38 42 -61 61 64 66 68 70 67 67 -92 92 90 88 90 89 88 89 -4 4 5 9 15 -78 82 84 87 91 -63 62 61 59 57 54 54 50 -51 55 60 61 63 65 68 -43 48 54 56 58 63 -47 49 53 54 54 -81 85 88 91 96 -44 44 42 44 46 49 52 59 -84 86 85 83 80 78 81 80 -13 13 12 8 7 -66 70 72 73 74 75 74 -85 87 86 83 79 -19 24 25 27 24 27 30 30 -17 20 23 24 30 27 -15 10 11 10 8 5 6 -81 85 91 94 97 94 -75 72 75 78 78 81 83 81 -49 51 48 48 45 44 42 45 -59 57 60 60 62 -91 84 82 77 77 -27 27 25 24 22 24 -52 55 51 49 49 -70 70 72 79 80 84 -74 78 79 83 85 86 88 88 -76 70 73 72 71 69 -47 43 41 40 39 41 39 -82 81 84 86 85 89 -21 25 26 29 26 27 28 25 -41 36 35 33 30 28 22 -37 37 39 41 43 47 -13 20 21 24 26 29 34 -38 38 36 35 30 26 -14 18 19 20 20 27 -85 81 78 74 70 -17 15 16 15 16 18 -96 99 95 94 93 91 88 81 -74 79 80 82 85 83 89 -41 38 39 44 46 51 -23 19 13 11 9 9 -72 79 80 81 78 80 82 80 -93 93 95 98 96 97 99 -27 23 22 20 19 16 16 -83 83 85 88 90 92 89 -58 55 52 49 42 42 -45 39 37 37 35 34 31 -40 44 47 45 46 -3 3 4 1 5 -11 13 8 6 5 3 2 -43 40 42 41 40 39 36 37 -34 31 29 28 24 -25 23 24 25 28 25 23 -94 89 88 84 82 80 79 79 -76 72 75 74 75 -17 20 21 18 21 24 27 28 -59 55 54 51 50 46 -11 11 10 8 8 5 4 3 -15 19 21 24 26 27 28 28 -11 18 20 24 26 27 27 -58 56 58 61 63 64 66 73 -68 67 68 69 72 76 77 79 -2 9 12 16 19 -38 38 37 37 32 -28 28 31 30 23 -67 67 66 65 62 59 -1 7 8 11 12 15 19 -40 39 41 43 47 54 -72 65 62 60 53 49 -98 99 97 93 91 87 -56 59 58 56 54 47 -19 19 15 12 9 11 -36 38 36 39 40 47 -8 9 10 12 13 17 15 -55 62 64 67 70 72 70 -19 21 20 18 19 -78 81 82 86 87 90 93 96 -30 28 31 32 35 34 -42 40 37 32 30 29 27 26 -78 78 81 82 85 85 85 -31 35 37 38 40 41 -72 74 75 78 78 80 82 87 -14 14 11 8 9 6 -1 5 6 7 10 14 16 14 -47 51 54 54 57 54 -3 3 3 2 2 -28 34 35 39 44 -25 25 28 33 39 -82 85 82 81 78 78 -83 87 90 91 93 93 96 97 -80 81 78 74 76 -31 31 31 28 26 23 19 -39 45 48 51 54 60 64 -73 76 73 73 72 69 -55 59 63 66 69 70 72 79 -72 68 65 64 62 62 62 -49 49 44 41 41 -70 74 77 78 77 80 82 87 -49 53 50 52 53 54 57 61 -98 93 91 88 90 89 84 -64 66 61 59 62 -88 86 88 87 82 -46 44 43 40 35 37 -28 24 21 18 15 13 10 7 -53 52 54 55 57 57 -93 89 87 84 82 82 80 76 -93 87 89 86 86 -9 10 11 14 15 13 15 15 -10 11 13 20 21 24 25 29 -71 74 79 80 80 -39 43 46 47 48 55 55 -85 81 78 77 76 73 75 -66 73 76 77 78 78 85 -80 78 79 77 79 85 -33 34 33 31 27 26 -69 66 69 73 75 77 76 -36 30 27 25 23 23 23 -70 67 66 64 62 65 -23 25 23 20 19 20 17 11 -24 24 25 29 30 32 34 35 -76 77 80 83 86 92 94 -62 60 58 55 53 53 51 45 -14 16 13 12 10 10 7 7 -74 74 73 70 69 66 63 63 -50 53 56 59 60 65 -89 88 85 82 81 80 -27 25 22 21 20 -71 72 75 78 80 82 -58 55 54 53 52 51 50 49 -44 41 39 37 34 33 -78 81 84 86 88 91 94 -25 26 28 31 32 34 -47 46 43 40 38 -10 13 14 17 19 22 -80 82 83 84 86 89 -79 80 82 84 85 86 88 -52 55 57 60 61 -58 61 62 64 65 68 69 70 -82 83 86 89 91 93 -24 23 22 21 18 17 -23 26 27 28 31 32 -19 18 16 14 12 9 -70 68 65 62 60 58 57 -50 52 55 56 58 -18 21 23 25 27 29 30 -44 47 50 52 53 -96 95 92 90 87 -43 46 49 50 52 -12 13 16 19 21 22 24 25 -52 55 56 57 58 59 62 63 -25 23 21 18 16 13 -89 86 84 81 80 -55 53 50 47 46 -65 64 63 60 57 54 -14 15 17 18 19 20 22 25 -30 29 26 23 22 21 -29 27 24 21 19 16 15 13 -40 39 38 37 36 33 32 31 -24 25 28 29 32 -87 84 82 79 78 77 -18 21 22 25 27 30 32 35 -81 82 83 84 87 89 92 -7 8 11 13 14 17 19 22 -10 7 6 5 4 1 -66 65 64 61 58 57 -78 76 74 73 71 68 66 -63 65 68 69 71 73 74 77 -63 65 67 69 70 71 72 73 -90 88 86 85 82 81 -49 47 46 45 42 41 38 -76 75 73 72 70 68 67 -79 81 82 83 84 -76 75 73 72 69 -64 61 59 58 56 54 53 52 -87 85 83 80 79 76 -30 29 26 24 22 19 16 14 -56 58 61 64 66 -21 19 17 14 11 -75 78 79 81 84 86 -76 79 80 83 85 -66 65 64 61 58 -56 53 50 48 47 45 43 -34 32 30 27 25 -10 13 16 19 20 23 26 28 -41 44 45 48 50 51 52 53 -28 25 24 21 19 17 14 -36 34 32 30 28 25 24 -38 40 42 44 47 49 50 -1 3 4 6 8 10 -37 35 32 30 28 27 26 -37 35 34 31 29 28 26 24 -94 91 90 89 88 -70 69 68 65 62 60 -81 83 86 88 90 92 95 98 -90 89 86 84 82 80 -52 51 48 47 46 43 -47 44 41 38 37 35 32 -38 37 34 33 30 28 -58 56 55 54 51 -19 17 14 13 11 8 -33 31 29 26 24 23 22 19 -40 42 43 45 46 47 49 50 -77 75 73 71 70 67 64 61 -43 42 39 36 33 -4 6 9 10 12 14 15 18 -14 13 12 9 8 5 -43 41 39 38 37 35 33 -70 72 73 76 77 -80 82 84 85 86 89 -65 66 67 69 72 -17 20 22 23 26 -85 86 87 88 89 -50 47 44 42 41 38 -6 7 9 12 14 16 18 -89 91 92 95 97 -45 47 49 51 53 -61 60 58 56 55 52 51 48 -64 63 60 58 55 -62 64 65 66 69 72 73 76 -57 59 60 63 66 69 -74 71 70 67 65 63 60 58 -51 53 54 57 59 -86 88 90 91 94 -68 71 74 77 79 81 83 -76 74 71 68 67 -81 79 78 76 74 -43 45 48 51 54 55 58 59 -84 82 81 80 79 78 76 75 -49 51 53 54 57 60 -37 39 41 44 47 50 -65 68 69 70 73 74 77 79 -91 90 88 85 82 -23 25 26 29 32 34 -41 42 45 48 50 -64 61 59 57 54 51 50 -23 25 26 29 30 33 35 -19 16 14 12 10 -79 80 81 82 85 -36 37 38 40 43 44 46 49 -60 61 62 63 66 -46 45 43 42 40 -49 52 55 57 60 -14 15 18 19 20 21 -98 96 95 94 93 90 89 86 -76 77 78 79 81 -18 15 13 11 10 7 6 4 -34 35 37 38 41 44 46 48 -35 32 29 28 27 25 -78 80 83 86 88 -87 84 82 80 79 78 77 -75 72 70 69 67 -90 92 94 95 97 98 -36 33 31 28 26 25 23 -50 52 54 56 57 58 59 62 -56 57 58 61 62 63 66 -81 80 79 78 75 74 -20 21 22 23 24 26 -45 47 48 49 51 53 -39 41 43 45 47 49 51 52 -18 20 22 23 26 -18 20 21 24 26 29 -25 23 20 17 14 12 9 6 -12 15 16 18 20 23 25 27 -10 13 16 19 22 23 24 -98 95 92 91 89 86 85 83 -14 16 17 19 21 23 25 -5 6 9 11 12 13 14 -66 64 63 62 60 -50 49 46 45 43 -87 86 83 82 81 80 -34 31 30 29 27 24 21 20 -28 25 24 23 22 19 18 -66 64 62 60 58 -57 56 53 52 50 -48 50 52 54 57 58 61 -65 68 70 72 74 -11 8 6 5 2 -30 29 27 25 22 21 -52 55 56 57 59 62 65 67 -78 76 75 72 70 69 66 63 -5 8 10 13 16 18 19 20 -31 28 27 24 21 19 -32 34 35 38 40 43 -23 26 29 30 32 -87 86 83 81 78 77 75 -35 37 39 42 45 -72 73 76 78 79 82 85 86 -78 75 73 71 70 67 66 63 -72 70 69 66 63 -48 46 43 40 39 36 35 -2 4 6 7 8 10 -88 90 91 93 96 98 -66 69 70 73 75 -28 26 23 22 21 18 15 -12 14 17 19 20 21 24 25 -20 17 16 14 13 11 8 -30 27 25 22 21 19 -50 47 46 44 43 42 40 -91 88 85 83 80 78 -59 60 63 66 68 -42 44 45 46 49 51 53 55 -82 80 77 74 71 70 -13 11 10 9 7 6 3 -69 66 64 61 58 -61 58 55 54 53 52 51 -25 23 20 19 16 -21 23 26 29 32 34 35 -22 23 25 26 29 -25 24 21 20 19 18 -48 51 54 55 57 58 59 -23 25 28 31 34 36 -40 41 44 46 49 50 -83 81 78 75 74 -16 19 20 23 26 29 30 31 -14 13 12 9 6 -77 76 74 71 70 69 -75 73 72 69 66 63 -50 52 54 56 59 60 -53 50 49 46 44 43 41 -18 16 13 12 9 8 -26 24 22 19 16 -44 42 39 36 34 -37 40 41 44 47 49 50 52 -8 9 10 13 14 17 -54 56 57 59 61 62 64 -54 56 59 61 63 -14 13 11 10 9 6 5 2 -63 65 68 69 72 74 75 -70 69 67 66 63 61 58 -64 67 70 73 74 76 -40 39 37 36 35 34 31 30 -45 42 41 39 36 33 30 -61 59 57 54 53 50 -31 33 34 35 37 -38 40 43 44 46 49 -36 38 41 43 44 46 49 50 -63 62 61 60 58 56 -15 12 10 8 7 6 5 -42 45 47 50 53 55 -57 56 54 53 50 48 47 -13 10 8 7 6 -86 85 83 81 78 76 74 71 -44 43 42 40 38 -33 31 28 27 24 22 21 -72 70 69 68 67 66 63 62 -58 60 63 66 68 71 72 73 -29 30 33 36 38 39 -11 8 6 3 1 -33 32 31 29 27 25 24 -53 56 58 61 64 -60 58 56 55 54 51 -67 70 71 73 75 -3 5 7 9 12 13 16 -28 29 30 33 36 -40 37 36 33 32 30 -22 19 16 13 11 -25 28 30 33 34 36 37 -32 34 36 37 40 42 44 -23 22 20 19 18 16 13 -59 61 63 64 66 69 71 -30 29 28 26 25 22 20 -60 61 62 65 68 -61 64 67 70 72 -48 47 45 44 42 39 37 36 -77 79 80 83 85 87 -29 31 33 34 36 38 -6 8 11 13 16 17 18 21 -98 97 94 92 91 88 87 84 -35 34 33 32 30 27 26 -87 89 90 92 95 -10 9 8 5 4 3 -68 69 70 73 74 77 79 -63 60 58 55 53 50 -68 71 72 75 77 -34 36 39 40 43 44 -20 22 23 26 28 -48 46 44 42 39 38 -96 94 91 88 85 83 80 78 -79 76 74 73 71 70 67 64 -26 24 21 20 19 16 -67 69 71 73 76 77 80 -72 71 70 67 65 -60 57 55 54 53 51 50 47 -72 73 76 78 79 80 81 83 -64 67 69 70 72 73 74 -41 42 45 48 49 51 52 55 -85 88 89 90 91 94 95 98 -96 93 91 89 86 85 83 -72 71 68 66 63 -86 89 91 92 95 96 -35 38 39 41 44 45 -12 15 16 18 21 22 24 -65 63 60 59 57 54 52 -37 34 31 29 27 25 22 19 diff --git a/2024/02/solution.nix b/2024/02/solution.nix index b467e75..45eb362 100644 --- a/2024/02/solution.nix +++ b/2024/02/solution.nix @@ -1,5 +1,4 @@ -{lib, ...}: {file}: rec { - rawContent = builtins.readFile file; +{lib, ...}: rawContent: rec { content = lib.strings.removeSuffix "\n" rawContent; toLines = lib.strings.splitString "\n"; diff --git a/2024/03/input.txt b/2024/03/input.txt deleted file mode 100644 index 34046ac..0000000 --- a/2024/03/input.txt +++ /dev/null @@ -1,6 +0,0 @@ -}mul(417,770)%why(){/':mul(187,313)<@*select()mul(908,713)who()$mul(156,598)#from()* from()^-mul(233,874)&when()mul(346,616)what()(select(),when()where()when()when()&}mul(814,171)+;how() ?)when()?mul(68,188),[select(336,87)^%when(108,692)#mul(621,712){}when()how(69,755)mul(273,27)+:'?( /what()who()from()mul(135,680)-]{:;mul(7,723)where()@{mul(626,107))how()//when(),~+mul(834,113)&!where()$mul(951,76) /why(767,720)mul(107,588)mul(632,977)mul(55,47))[select()']what()mul(803,299)&%#mul(684,214)]}{-}[mul(806,141),mul(166,98)(select()[*'mul(619,823)mul(633,178)-how()from()?from()*#what()'mul(806,961)what()!?mul(529,544)?+[@$where()mul(498,66)?where()why()who()when()why()'from(742,433)mul(623,31)what()&{>]when()who()$/don't()-^!)where()select()mul(761,938) }}mul(799,944)]~what()mul(872,175) &]-@[mul(59,669)-:,:[{mul(457,618)&),(-[< / mul(490,407)>who()$do()who()!+^mul(579,603);>mul(365,610)!#<^;mul(802,476)}')select()what()don't()$%]}'*what(661,765)>+mul(506,360)*#&!mul(484,725),#~how()~select()don't()?what()mul(16,825)mul(732,513)##mul(990,859) <*,what()%$*?;what()mul(98,564)mul(312,793)~select()where()}$%mul(173,805)}what()/$##}mul(369,326):why(421,566)#mul(357where(305,979)what()*)*mul(775,55){when()%select()~/what() /mul(332,608)-who(),mul(592,150)~/#&#}]mul(453,71>~'from()~%mul(540,100)$/:}#(@ mul(789,978)%$](#{>]?mul(473,873)when()where() {@]why()mul(606,201)who()how()mul(212,663)^;#:when())#don't()where()what()where()*why()why(836,629)@%mul(95,601) +~%'{;mul*,mul(88,716)^ don't()how()when()?%$}when()]?mul(565,119*> $from()-~?mul(980,419)'}from():what()mul(877,181)why()~-, from();~~(mul(347,867)[mul(259,40)?&^/mul(707,897)!!why(589,359)+*>>?@!mul(657,687)/from()who()%-?>?who()mul(795,56) ;<))},mul(3,638)-)mul(243,985)$?where()[})what()mul(487,217)+~//;:mul(449,151)$#(select()why()$%}mul(201,260)select()([[)what()];mul(773,545)~;mul(859,808)mul(235,354)mul(388,265)mul(479,697)from()when()what()select()!^[from()mul(366,310)'*when()/[![(mul(288,12),!,#how()^}}mul(173,948))~why()/!mul(461,403)& where()mul(268,357) -when(578,754)mul(12,923)# /+who();&'^mul(874,174))from()] mul(294+$$[when()where()+mul(118,975)mul(954,230)(+when()mul(579,726)why()$+]$mul(796,252):@ ^?mul(108,275) $)who()why()^mul(782,400);*@~what()'-mul(712,375)[!who(791,378)mul(163,311-]:@!#[select()%%,mul(375,461)*''from()><},@{( ;mul(361,764)@mul(71,571)?%~from()what()[ +mul(384,899)@:]mul(627,870select():@!]/mul(676,247)?$what()%who()&from()from(228,681) mul(974@why()*mul(101,691)^do()[why()how()+&mul(228,575)%$where()&#why()from()mul(601,339)#:>@(from()mul(9,628)~{$],why(412,785)):mul(921,60)?when()$mul(230,472)%where(){?}@{mul(57,287)mul(620,392)who()))how()')}mul(920,110)) how()why()>*)from()'mul(66,955)who()mul(339,162)how()from()#mul(63,609)?+how()<&#where() mul(917,834)(mul(845,751)/mul(803,539)~>&:##?:why()']%^what():mul(462,669)select(),##;:&(mul(211,530)select()from()when()$mul(470,942){-select()what()> mul(934,811where(),mul(424,644))~-{mul(265,791)where()who())mul(403,892)select():<~-when()who(59,475)^mulselect()^mul(265,57)mul(465,609)mul(286,417)select()mul(208,44)#}:)}(+mul(997,988), mul(701,669)where()-from()mul(90,543)-[mul(609,511)>,%-why()why()(what()from()don't()[@;~mul(18,991){;/!^'}-mul(87,567))mul(571,648)-how()#~mul(191,910)}?<&&#~mul(324,407)$(#mul(354,471)^}^#&',)&mul(441,628)'mul(553,282)select(),select()where(){mul(485,690)what()?*]#when()$:>mul(939,289)'mul(482,608)'mul(14,642) how()<@^when(805,793)/mul(132,58)how()($}?where()mul(420,564)mul(542,105)&what()} !~!'why(){mul(380,891from()~where()]what(570,293){mul(255,57)@who(288,308)what()?[how()/mul(838,593)'#+who()what()mul(796,32)&why()who()when()when()^'how())?{(mul(821,630)$@mul(706,250)}+,/why(588,457)'>mul(451,548)where()]where()&?select()# %mul(194,6)how()how()why()( )/~from()&mul(519,83)&from(),mul(462,510),>,-?{)how()[mul(840,412)where()!;why()#where()/<)why()mul(452,646)?}?!$+!,/mul(502,96)^~(^mul(278,460)mul(478,959)where()-,select(233,181)why()>-mul(391,238)mul(59,361)when()-why()select();why()+:@who()[from()]mul(490,50;who()((when()!why()mul(667,140)what()mul]*from()!^}why()}>:do()~ {(select():why()*mul(691,254)select()why()mul(911,232)where()]#;'don't() *^when()]{}mul(479,259)select()'!}@ *?mul(673,636)how();#how()%^ mul(428,280) }}')*+mul(13,237 why()*/:/)mul(128,243)(mul(691,104)-$@mul(622,807)[:mul(489,852))what(55,333)where()#&[how()#mul(502,795)[?mul(820how()@'why()((mul(620,867)mul(507,4)$^- mul(206,143)- mul(10,462)/what()where()what()^what()what()mul(734,952)%how()@mul(730,42)what()]why()when()mul(80,180)how()~?{[:where()?+where(),mul(261,682);$>^mul(946,198)*-~{select()?where()]mul(331,301){@()how()don't()from():mul(105,560)when(378,815)+*):%^mul(613,583)where()##~mul(761,592)select()@[$why(),}{({mul(727,677) /do()#(what()%@$why()%/mul(488,910)who()who();mul(385,653)}mul+ mul(340,374))#(mul(853,934)#&??why()why()mul(764,68)what(){mul(759,904)*;%mul(398who()]}:@'$mul(126,742)how()how()+')@when(){mul(585,684)%$>)<)where()mul(463,855)how(222,976)mul?$#><&$;from()when()when()mul(100,686)!when()what(),>;mul(814,643/@>]>!]mul(835,81)&~select()how()+))+mul(155,781)'%<,;-@'who()mul(709,919) [#{select()(<,where()mul(269,144)what()'>~where()mulwhy()mul(329,330)&from()$:*from()how())mul(483,838)mul(51,282)-+@>++{mul(717,169)($)~]why()^%how(68,594)mul(51,386)where()from()why(424,17))@$mul(230,225)when()&why()*mul(472,522)^what(602,992) mul(169,570)what()/:who()['why(102,867)#'@ $mul(274,92)what(){from()from()from()who() {-mul(372,694){how()select()>mul(15,627)~'who()[what()from()mul(338,200%?*&'!<)mul(477,26)why()*+what()$who()>how()mul(945,996)why()[do()>;who()>why(289,937){!%who()mul(355,685)!mul(644,668)?/ }^}mul(300 [!how()*?when()why() mul(141,672)+&];$)mul(921,47)), {{]>where()from()select()mul(622,890);@$-mul(195,976)$[:when()where()/mul(887,64))mul(799,568),select() { @*>mul(535,258)?why(567,793)^{'*;]mul(202,214)(%when()^<]$-$mul(951,841)![ ];+how()mul(925,412)$;)%']mul(303,460)$where()(mul(369,207)why()>how()%@when()-~-do():+select()#!/usr/bin/perl>#}:mul(110,876'~%from()!{select()mul(924,516)from(){::[#)!&[mul(316how()!from()>mul(570,999) -'}who()&%;}#mul(541,894),'[mul(35,499);select()where()^$@}?mul(239,128)~mul(750,487);how()what(),what()why()]mul(842,927)'&{;what()mul(231,35)+why())who()from()how()why()select()mul(117,134)[*%;~+@/(?mul(184,337)mul(751,262;;mul(71,403),!]/what():*mul(49,974);%mul(556,780)#&;#>when(809,477))}how()mul(934,699)@{!mul(687,51)(where(319,422)why()how():'!mul(340,635) &where() when()-select())>mul(816,984)*;who(267,941){why()#]mul(999,933+ ]$ mul(706,15)!mul(797,760) )who()mul(577,413)(*don't()^@,+mul(551,920)(%@mul%* what()mul(107,870)$?when()how()mul(291,96)>>who()-{]<]'mul(607,186)why()select()mul(239,162) from()how(8,248)+*mul(603,94)*how();];!+mul(937,437)select()[+mul(720,689)@ where()[*<$mul(176,240)mul(488,6)mul(884,356)#what()(#mul(357,216)$why(981,545)mul(15,621):]when(384,172)%?from()/mul(556,42);/[/when()where()%select()mul(911,748);('mul(634,654)mul(187,910):;>mul(671,55)/>why()*mul(487,182) &mul(823,339^[*when()!~$do()mul(752,615)select()}select();) ;mul(891,463)why()who(749,89)&$who() *}-where()mul(483,646)>}-[/mul(463,928)) #when()*who(818,29)where()(&don't()when()%;mul(913,774)} mul(822,254)@]}-mul(949,6)where()from()when();;when()>@@(mul(631,409)where()select()who()~}mul(492,930)mul(388,777) }']select(441,164)!mul(957{{how()$]/%mul(626,541)~:do();mul(796,50)%^~mul(992,764)what(460,353))[what()how()>@;where()mul(944,226)(/?who()*@what()mul(986,707)!who() #++:mul(712,362)@)what()what(377,883)who(){who()~why()mul(570,45)-*why()what()!~<#mul(873,695)}{~ :~;'$+mul(526,676)?),/mul(106,52); ;%*how()from(165,744)what()from()do():?+ >;mul(151,167)mul~-!mul(873,682)%;;!~?mul(13,903)[$* }mul(188,728)#})(<mul(206,992)mul(112,681)who();from()why()mul(998,665)why(52,375)!mul(146,638){mul(783,242from(907,600))[why()@what()select()^ %*don't()mul(949]what(),,what()-<(%mul(519,474)who()~-)mul(640,389)%where()/~@ <&]why()mul(113,424)when()[mul(234,782;,(;-where()why()how()mul(838,733)why()mul(15,790)mul(239,592)^,select()!^*]mul(537,113) - )}>;why()#{ {mul(469,192)?#,'what()mul%!{>+&what()mul(392,708)'mul(156,225)?]+mul(436^who()why();@#!why()how()when()&mul(506,544)why()when()mul(211,662)what()/-)](from()(]?mul(530,199))}why()> mul(833,595)+?$ (mul(98,477)*/};{why()what(966,350)#'mul(44,78)why()!%]% ~}/mul(376,267)/why()'^&&;do()^{/+~how()mul(174,478);what() %{[+!mul}/<)where()@mul(825,710)[ ]mul(60,655)+mul(538,818)-*mul(917,316)!from()&[)mul ?why()'^mul(32,228)~@-~^^mul(803,610)$((;~when()how()mul(622,388)^from()why()mul(291,294)select()+ mul(61,978)mul(986,197)why(405,935)where() where()#{%mul(383,280)%#]*@mul(266select()<>mul(459,359)*&$who()-&+&from()mul(122,271)#mul(85,195)^>select()where()?&mul(953,467 @,^@}@@[mul(297,412)^mul(845,508)where()who()how()}[?when()~%why()mul(320,30)-mul(348,650)*~;&mul(694,123)#+why()mul(516,744)mul(873,547)-select()]mul(194,499)how()+what()>mul(542,764)who()%when()~mul(150,709)how()}where()@!{)from(773,172)mul(568,873)!+;mul(730,244)from()^ where()*[where()select()mul(554,163)(when()+$~where()*}@+don't()from()~select()who(421,469)&:)mul(279,687)who()%#^when() -select()}mul(8,389):)}why()do()when(984,806);!@:(&mul(59,374)&who():}:$ :mul(919,44)#)(!']why()select()mul(820,819){why(){*^#mul(439,942)>select()]/;select()/'mul(175,719)select()mul(890,515)+;)mul(611select()-mul(881,340)>~?mul(984,156)mul(330,398)/;why()^ :who()mul(677,667)what()&*what()what()mul(686,640)):-when(),(+mul(40,933)what(423,54)/&#+when()mul(914,37);how()!*~!when()/mul(456,51)when()when()!+]!what()#what()don't()what(225,210),from()~^[@>mul(370,841)what()from()@~-/mul(67,351)(&}mul(59,921)$--^*}mul(566,572)!how()+*mul(365,948)/$!@&mul(782,899)}/!}~how()mul(73,229);~what()when()*#&where(751,442)who()mul(487,586)when()mul(258,912)@~{what()#]>when()when()mul(124,236)<%(-from()mul(65,560)*when(73,56)mul(675,80)}:^don't()how()mul(32,556){select()%!where(500,153)@<&mul(445,212)from()&'who()who(910,924)}@~}what()mul#)why()(!)who(339,797)what()mul(151,749)how()%#>:select(761,257)]when()]mul(866,572)%@'what()~?where()&mul(544,274)-select())mul(159,997)mul(844,233)from(): +who()%what()select()%]do()%where()mul(226,633)/?]where()(when()?don't()$!~+![@mul(645,560)/who()from(715,999)?-mul(13,127)>#%'{mul(439,817)where(331,588)?+[mul(224,797)mul(464,432)mul(35,360)>when()%who()who()select()$#mul(356,503)#[mul(813,62){-<-where()##mul(241,813):[)mul(338,295)what(384,596)%;^who()mul(462,430)mul(182,412)+*/mul(616,721):;mul(10&&where()[^when(),@;{mul(954,803){])what()mul(23,586)mul(897,119)}]^&<{*mul(986,79)#??,,mul(613,13){from()when()mul(866,149)mul(772,870)(<:&who()*what()mul(515,452)what()why()$who()where()]mul(878,410)*mul(594,420)/}[where()>[+)mul(924,312)(#+select()$mul(310,382)$(mul(853,276)#$select()&]-:'when()mul(574,694):*mul(548@'why()[[mul(705,329)@why()#what();((where()mul(754,401)$:#*:#+%mul(958,635)@[)/select()@;why()(mul(648,81)!)from() +mul(792,904)'@@^}mul(987,166)>+?mul(282,196),[how()%!{?@+mul(486,579)%+who()'~why()mul(976,618)when()mul(763,421)mul(421,343)^!,/,-][@^mul(895,484)*how()(why()/from()mul(527,80)]-*:{%-%mul(568,730)-mul(923,402)(!how()%)?+what()^where()mul(744,416) why()mul(824,613)! who(339,629),mul(474,127)>^#select()select()>{from(955,780)mul(961,300)why();:how()*where(674,394)why()''mul(220,654)->)why())^-mul(352,662)?where()/from()mul(755,837)@::@why()mul(173,195){,#mul(369,738)^$?;how()do()@what()where()?@)select()$>$mul(610,930)mul(692,271)}(^@when()[@mul(825,772)),[$;what(364,840)how()&@mul(514,944)*(#^mul(600,592);why()&mul(360,432)>>$!when())from()why()mul(771,433)/who() $what()^^mul(759,696)mul(794,141)?*what();what()how()/mul(575,123)how()([!;],&mul(690,157){$~why()]why()don't()what()#@))~'[<)!from()what(){[]mul(901,549)'what()}from()why()when()how()<*mul(416,637)mul(518,747)!?when()why()?>don't()]]??]<;*^mul(946,35)what()[where()what()/[**/mul(60,183)/{how()~>>why()*mul(510,950)/%who()%{](,!'mul(871,310))]!mul(824,101)who(666,710))what()why()what()$how()%who()mul(96,822)how()who()mul(689,448)mul(469,609)!@^mul(977,145)& mul(836,253)?+where(42,895)?who()%mul(390,417)mul(641,894)what(312,406)(?when()how()?$mul(968,385)when()^^;mul(779,772)>/->(,where()mul(921,632):(select()(where(228,976)why():']mul(381,906) diff --git a/2024/03/solution.nix b/2024/03/solution.nix index dd2a50b..ccc8810 100644 --- a/2024/03/solution.nix +++ b/2024/03/solution.nix @@ -1,5 +1,4 @@ -{lib, ...}: {file}: rec { - content = builtins.readFile file; +{lib, ...}: content: rec { muls = memory: memory |> builtins.split ''mul\(([0-9]{0,3}),([0-9]{0,3})\)'' diff --git a/2024/04/input.txt b/2024/04/input.txt deleted file mode 100644 index 879c99e..0000000 --- a/2024/04/input.txt +++ /dev/null @@ -1,140 +0,0 @@ -XMXXXMMXXSXMSMMMSXMSSSMASXMAXSMMMAASAMXASASXSXSASMSMSSSXSMASXMMSAMMMSAMXSMMMAMMSMMSXSAMXMSMSASMSMSMSSSMMSMMMMMASMSSMSSXMAMXMASAMAMXSXSXMMASA -MXMMMMMSXMASMMAASAMXMASAMXMXXSAASMMSAMXXAAXAAAAAXAAXAXMASXASAXAAASAXAASMXMAMXMAXMAMAMAMXXSAMXAXAAAAXAAAMAMAMMSAMSAXAMMSMAMSMMAMXSXMSAMXXSASX -XAAMAAAMXXMMASMMMXMASMMXSAXSAMSMSAASAMMSMSMMMMMAMSMSXXMXMMMSAMSSMMASXMMMXSSSSMSSMASASAMMMMAMMMSMSMSMSMMMSSXMAMAMXMMXMAAXXXAASAMAMASMXMAXMASA -SSMXSMSMXSSSMMMXMXAMXAAASASMXMASXMMSXMAAXAAAXMXAXAXSMMMAMAMMMMXAXXXMAXMXAXXAAAMAMAXXSASXASAMAAXXXAXAXSMMAAAMSSSMMXAMMSSSMMSMMAMASXMAAMMXMXMX -AAAXMAXMAXAAAXAAMXSSSMMMSXXMASMSMMASAMSSMMSXSXSASMAMAAXMSAXAAMXMMMMSXMSMSSMSMMMAMMSMSMMMXMAMSASAMAMXSASMMMMAAAAMSMSAMAMAAXMASMMXSASMXAXMXMAM -SXMXSASMMMSMMMMMSAXAAXSXMAMMAXMSXMAXAMAXAXMAMXMASMAMSSSMSXSSXSAAAAAXAXXAXAMXMXMAMXAAXAAXMSSMMMAXSXSXSAMSXXSMMSMMAAXSMAMSMMSAMAXASAMASMMXAAAM -MASMAXSAMAAAMXAXMXMXXMASAAMMSXMMAMMSSMAXSASXXMXAXXXMXAAAXAXXASXSSSSSMMMSSXMAMAXAMXMSMMMSAAMAMSMMMASAMMMXMXMAXMMSMSMMSXMAXAMMMSMASAMMMASMSSSS -SAMAMXSXMSSSMMSMMMSAXMAXMXSAXASMSMAAXMXXMAAAASMSSMXAMXMMSMMMXMAXAAAMMAXXSAXSSSMSSXAAAAAMMXSAMSXAMAMAMXMAXSMMMAAMXAAMAMXAMMSXAXMMMASXSXMAMAMM -MXMXXXMAAAXXXXMASAXSAXAXSAMMSAMAMMMSSMSMMSMSMMAMAMAXAMAMXAAXAMXMMMSMSXSASXMMAMAAAMAMXMXSAAXMSXMMMSSMMSSMASAMMMMMSSXMAMXXSSMMXSAMXMAXXAMSMSMM -SASXSASAMASMMXSXMAMMMMMMMAMXMAMMMAAMXAXSAAAAMMXMAAMSSXMXSSMSXSXMAXAAAAMXMAXMAMMMMSSSMSXMMSSMSASXXXMASXAMAXAMMMMMXAMXASXMMAASMSXSMMSASMMXAMAM -SASASMSASAXAMMMMSMMAAAMASMMXSXMXSMSXMXMMSMSMSMSSSSMAXASAMAMAMSXSASMMMXMXSXMMXMXMXAAAXAMXAMAASAMASXSXMSXMAMSMSASXSAXMAXMASMMMAMXMAAXMASAMAMAA -MAMXMXSAMXSSMSAAAASXMMSASASXAXAXAMMXSMXMMMMAXAAXAAMASMMASMSAASXXXXAASAMXMXAXAXMXMMMMMMMMSMMMMXMSAMXAMAMMMMMASASMAAMMSMSMMMXMXMASMMXXMAMMASMS -MXMXSAMAMMXMASAMSMMAMMMMXAAASXXSAMMASAAXMAMMMMMXXAMXSMMXMAXAMSAMSMSMSASASMSMSXSASXSMMAMXAAMAXSMXMXSMSAMXXASAMAMXMXMAMAMAAMASMSMSASASAMXSXSAM -SMMAMASXMXMMXMAMXXSAMSASMSMXAAAMXMMASMMSSMSXAXSXSXSAMXMSMXMSMMAMXAAASAMXMSAAAASASXAMSAMMSSMASMMAMXAXMAMXMAXAMXMSXXMASMSXMSMSAXXSAMMMXSMMAMMM -XAMXSAMAMXSAMXXSXAMXMSAXXXXXMMMMSMMASASAAXSMMXSAAMMXSMMAAAAMASXMMSMMMSMXXAMMMAMAMMAMSAMXAXMXMMAXSAMXMAMSXMXAMAMXMXMASXAMMSAMMMAMAMXAASAMXMXS -SSMMMMSAMAMAMSMSMMMSMMSMAXMXXXMASAMSSXMMSMMAMAMMMMMXMMSSMXMSAMAMAMSXMASXXMASXSMXMAMMMXMMASXSAMXMXMMXMSMSASMMSXSAMAMAMMSAMXAMMAMMMMMMXSAMXSSX -AAMXAAXASXSAMAAXAAAAXAASAMXAMXMASXMASAXMAMXAMASASASAAMAMXSAMAMXMASXXSAXMXXMXMASMAMXAMASMAMASMMMMXMSXXXAMAMSAAASXSASAXAAAXSAMXXSAMAMXASMMAMAS -SSMSMMSAMASMXMXMMMXMSXMAMAXMSAMXMXAMXSXSMMXSSMXAMASXXMMSXSAMXXAXMMXAMXSAMAMASMXMAXSASMSMSMAMAAAXXXAMAMMMMMMXMMMXSASAMSSXMAMXMAXASMSAMXXMASMA -XMASAAMAMMXAXSMSXSSXSAMXASXAMASAMAXXAMXMAXAXAMSXMMMMSMMMAMXXASXSSMMXSXMMSXXAXXMMAMSAMAXAXMASMMSXXAAXAXMAXXXSXXMASXMAXXMMASXMSMSAMAXXMAMMMXXM -MMAMMMSXMXMMSMAXAAXAXMMSAMXMSMMMSSMMMSXSAMXSAMAASXSXAMAMMMMMMSAAAASAMAXAXXMSSSSMSXMAMMMXMXAMXSAASXMMSXMASMASXASAMMSXSASMAMAAAMMMMMMXXXSASMMX -ASAMSAMXMAAXAMXMMMMSMMMAMSMXAMAXXMAXXAMAMMAMAMSSMAXSMSAMAAAAAMMMSMMAXXMMSMMAAAXAMMSSMXSSMSMSMMMMMAAAXAXAAMAMSXMASMMASAMMXSMMMSAXMAMXAASMXAXX -XXASXMXAXMSSMXAXAMSMAAAAXAXSMMSSSSSMMASMMMASMMMMMXMMMAASXSSMXXXXMMSSMAXAAAMMSMMMMXMASAMXAAAAMAMASMMMSMMSAMAMSMMAMAMMMAMXMXAAXMXMMAXSMMSXSMMS -XSXMAMSSXSAMXSMXAXAMMMXSSMMAXSXAMAXAXASXMMXSMAMMMXMAAMXMXAXXMSMMXAAAXMMSXMMMAMAXXXSAMXSMSMSMXMSXSSMAAXAMASXSXAMMSAMXMAMXMSAMXSASMSMXAXMMAXAX -MAMXSXAMXMAXMAMXSSMSSSMAAXAMXAMSMMSSMXSAMMSXMAMAAAMAXSAMMXMASAAXMMSSMXXMASMSASXXSAMXSAMMMMXXXMAXXXMXSSXSAMXSMSMAAAMMXXMAXAXSXMASAMMSMMSSMMAS -AMXAXMMMMXAMMSAAXAMAAAASMMMXMXAMAMAMMMSAMSASMXSMXMSAXSAMXAXMSSSMXMAXMAMXXAAMMMMAAXMAMAXMXXAMMMSAMASXAAXMXMAMAAMXXMMSASMXMMXSAMAMAMXASAAAXXXX -MMMMMXAASXSAAMMMSMMXSMMMXSXASXMXAMXSXAMAMMASXMAXAAMMMSXXSXSXXXMXAMXXMSSXMMAMAXMXMSMSSSMSSMMSAAMXSAMMMMMMAMASXMSMMSXMASAMXXXXAMAXSMSAMMXMMSXM -XMAXASMSMAMMMMAXAXMMMMXMXXSAXMMSASMMMMMMMMAMAMAMMSMMAXMXSAMXMXSSMSSMAAMASXMSSSMMXXXMAXAAMSAMMSMAMASMMMASXSASAMMAASAMXMMAXMMSXMAXMXMAMAMMAMAS -XXSMAMXAMXMAXSMXMMSASAMXAXMMSMXAAMAMAAASMSXSAMXSAAAXXXXAMXMASAAAMAAMMMSAMAXAAAMAAMXMAMMMSMXXXAMXSAMXASAXMAMSAXMMMXMSSSXSXAAAAMSSMASMMAMMASAM -XAMAMXXSSXSAMAAMSASXSASMMXSAAXAMMMMXSSMSAAAMASXMXSMMSMMMSXXASMSMMSSMXAMASXMMSMMSMSASMSMSAMXXSXSMMMMSAMASXMASAMXSMSMAMMAMXMMSSMAAMAMXMAMXAMAS -XMXAXSXMAASXXMSMMAMAXMMAAAMMMSXXXXSAMXXMMMSMASXSXMAAXAAXMMMXSXMXAAAMMMSMMAXAAAAAAXASAAXSASXMSAMXAAMMXXXMASAMXAXSAAMMXSAMAMMXAMSAMXXXMASMASAM -MAAXXSSMMMMASXMMMSMSMMSAMXSSMMMSAASAMXSMXAXAMXASAMMMMSMMAAXXMASMSMMAAMAASXMMSSMMSMSMXMMSAMXMMAMSMSXAMSXSXMXSXSAMSMSXASASXSSSMMXXSSMSMAMMAMAS -AXXXXXAMXAMAMAAXXAAMAAAAXAAAASASMXMAMAMMMSSMXMMMAMMAXXXXASXAMMMMMXXMXXMMMAAMAMXXMXXAMXMMASXXMAMXMAMAMMAMXMXXMXMMMXMMMMXMAAAAXXXAAAAXMASMXSMM -SMMSXSAMSMMMMSMMMMMMMMMMMMSMMMASXMSAMXSAAAAXAXASXMAXMASAMXXXAAAAAAXSMMSSSSMMASAXMAMMMMXSXMASXSSXMSSSMSAMAMMMSAMASAXASXMMMMSMMSMMMMMMMSAMXSAM -MAXAAXAMAXMXAXASXSSXXAAMXMXXSMMMAXSXMMSMMSMMMXMSMMMSMAMMSMMMMSMSMSAAXXAAXAASAMAAMMSMAAMAMMMXMAAXXAAAASASXSAAMAXASMSMMAAXXXAMAXXAAAAMXMASASAM -MSMMSSMSSSMMMMAXAAASMSMSAASASXSMXMMAXAXXAXXMSAMXAAXAMMSASAASAMAXAXMMMMMSSSMMAXSXSMAXSSSXSAMXSMSMMMSMMMAMMSMSMSMAXMAMXSMMSXMAXMXSSSMSMSXMXXXM -AAXXAAMAASXAXSAMMMMXXAASXMMAMAXAAMSSMSSMMMAASMXSSMXXMXMAMSASASAMAMSXAASAMXMSMMXAMXMMMAMASMSASXMASAMXAMXMXXMXAXMMMSSSMAASXMXSAMXAAXAAASXMXMXX -SXSMSSMSXMSMMAMASAMXMMMMAMMAMMMASAAAAAXAASXMMSAAAMXSXMMSMMXSXMAMXMAXSXMXMAXAMMMAMAMAMAMMMAMAXASMMMMAXXMAMXSMXMAMAXAAMSMMMXAMAMAMAMSMMMASAMSA -XAXAXXAXMXXSXAMMSASXSXASXMSMSXXAMMMMMMMMASAAAMMSMMAMASAMXAAXMXASAMXAXASXSMSASAMAMASASMSSMMMSMMMSSXMSMSMSXMAMSSXMMXMAMXAAAMMSMSAXAXAMSSXMXMAS -MXMMMMXMAMMMXMMXXASAXXXMMXMXSAMSSSXSSXASASXMMMXXXMASAMASXMASMSMXAMXXSAMAAAXAXXXASXSXSAAAAMAMAMAAMMMAAMAMMSAMXMASASXMSSSMMMAAASMSMMXSAXAMXXSX -SMMAAMASMSAMXMXMMAMXMASMSMSASXAMAMAXMAXMAXXMSSSMSMMMXSAMAXAAMAMMMSMMMMMMMMMSMSAMMAXMMMSSMMAXAMMMMASMSMAMASASAMAMAMAAAXMSMSSMMMMAXXSMMSSSMSAS -AAXMMSMSASXSAAAXAAMASAMAAAMASXSMAMMMMSSMSMSXMAMAAXXAMMXSMMMXSASAAAXAAXAXAAAAAXAXMASXMMAAMSSSMSMXSASAMXASXSASASXMAMMMMMXAMAXXXSSMSXMAASAAMMSA -SSMSAAXMAMASMSMXSASXSAMMMSMMMXAMXMXAXAXAXAXMMSMSMSMAMAMSXSXASAXMSMSSMSMSSMSSSSMMSXMASMSSMAMAMAAAMAMAMSXSXMASXMASASASMXSSSMASMMAXMASXMMSMMXAM -MAAMSSMMAMXMXXAXXXMASAMXXMAMXMSAMXSMSMMMMSMSXXAMAMMSMSSMASMXMSMXAMXAXXMAMXAAAAMAMASXMAMAMXSAMMMMSMSSMMSXXMAMASAMXSASXAMAAXAMASMMMAMAAXXXSMMX -SMMMAMASXSASXMASXMMMSSMXMXXMSAMXSXMXAXAMSXAMAMAMAMAMXXAMXMAAMXSMAMSAMMMMSMMSMMMAXXMAMMMMMXMASXXMMXMAASAMXMXSXMMSMMAMMMMSMMMSAMXAXASMMMSMMAAX -XAMMASXMASASAXAMASMXSASMSXSMSMSASASMSMMXMMAMSMXSXMASASXMASMMMASMAXXAXSAMXAAXAMSXSASXSXMAMXMMMMMXMASMMXXAXMAXAXAAAMAMAAMAAXXMAMSASAMXASMASMMS -SMMSASAMXMAMMMAXXMAXMAMXXAXAXAMXSAMXXASAMMAAXMASXAASAMXSAMAAMASXMMSAMSAMMMMXAMAXSXMASASASASAAXXMXAMXSMMMAMMMSMSSSMASMXSASXMASAMMXMAXXASAMAAM -AMAMXSAMXMSMMSAMSSSSMSMMMMMMMMSAMXMMSXMASMMSSMAMXMMSASXMASXMMMMAXMASMMXMASXXSMMMMAMAMMSASAXMXMMSSSMXAASXMMSAXAAAMXMSAAXMMAAAMASAMMSMXMMMMMMM -XMAXMSAMAXMAXSAMXAAXMAXAAAAAAXMXMASXMAMAMAMAXMAMMMMXAMAMMMMASASAMSAMXXMSXSAMXAXMSAMAMXMAMAMSMSAAAAXSMMMAAAAASMMSMSSMMMSAXXMXSAMMMAAAMAAXXAAX -MAMSASXSXSXMMMAMMMMMSAMXMSSXSAAASASAMSMAMXMXXSASMMSMMSSMSXSAMXAMXMAMXMMSAXXASXSASXSMSXMAMXMAAAMMMMMXMXSMMMMXMASXAXAASMMMSMMMMMSXXSMSASMSASXS -MXAAXMMXMSASXSSMXMXAMMMSAXMAMMSASMSAMMSMSXMAMXMAAAXAAAMXXMMASXMMMSXMASAMAMMMAAAMXMAXAXXXMAMASMASXMSAAASXMXXMSSMMMSSMMSAAAAAAAAXAMXAXXAASMMSS -MSAMXMXSXSAMAMAAXMASAAAMMMMMMAXMSAXXAXAMXXAAXAXSMMMMMSMAMMSAMXXMASAMXMMSSMMMMSMXASMMMSMASAMMAXXXAASXSMMAXSAMXMAAAAAXASMSSSMSXSSSSMMMSMXMXXAX -AMMXSAAMAMXMAMMMMMSMSMASMASAMXMAMXMMXXAMAMMMXMMMASMXMAMXAMAMXXAMMSAMSAAAAAXAXAXXXMAAAAXXMAMAXMAMMMMAMXSAMSAMXXMMXSAMXSXAAAAMAMAMXAMASAMXXMXM -MMXAXMSMSASXSMMAAXAAXXMAXAXXMAMXMMXMASXMMSASXSASAASXSSSMXMAMAMXMXMAMXMMMSMMMMMSMSSSMSSSMMAMMMSMMSAMAMAMMXSAAMSXXAXAMMSMMXMMMAMAMXXMASASMSMSA -XSMMSAAAAXXAAXSSMSMSMMXMMMSMMMSMMMSMMMAAMSASASASXMAMXAAMXXMXMAAMMSMMAMSMXASXASAXAAMAMAMXSAXXAMAAMAXSSMSMASAMAAXMXSAMAMASAMXSXSXXXAMXSAMAAAMS -XMASMMMSMXMMMMMAAAXAXXAMAMAMAMAMAAXMASMMMXAMAMAMAXAXXSMMMMSAMMMMMAAMXMAASAMMMXASMSMAMSMASAXMSSMMSSMAAAXMASASMMXMASXMXMAMSMXXXMAMSMMXMXMMMMMX -MSSMMAAMXMSASMXMSSSMMSSMSSSSXSASMMSAAAAXMMMMXMAMMSSSMXXXAASXSASASXSMSAMMMASAMSMMXAMAXXMASMASASAAAMMMMMMMXSAMAMASAMXXSMMSAXMMMMAMAAXSAXMASAMX -AXAAXSSMAASASXAXAAAXMAMAXMAAXSAMAASXMSSMAXSAMSASXAXXAMMMMXSASASXSAXASMMXXAXMXAASXMSXSAMASXMMAXMMSXXSXXAMMMXMASAMAMSAXASMMXXAAXAMMSMMMMSASASA -SMXSMAXXMXMMMMMMSSMMSAMXMMMMMXASXMMXMAMAMXAAMXAXMSSMMMAXXAMAMXMAMAMAMAXXMSSMMSXMAMAXSAMMSAXMAMSAXMAMMAMXXAXSXMMSSMMMSMMMXMSSSSSSXXAXXAMMSXMX -XAAMMMMSMAAAAAAAMAMMXMXXAAXAMSAMAXSAMXXSXSSMMMMMMAMMSSMSMXSAMAMMMAMASAMXMAAAAXASXMSXSXMXSAMXSMMASXMAASMSMSMXAAAXMAAMAXSSMMAAXAAXAMXMMXSASAMA -MSMMAXAASMSSSSMMSAMXMMMMSMSMMMAXXMMXSMMXXMAXXXXASAMAMAASAMSXSASMMASAMXSAXMXMAMAMXAXAMASAMXSAXAMXMAMSXXAXAXASXMMSSSMSAMMASMMSMMMMMMAXMAMMSAMS -XXXSAMMXMXAMAAAASMMXAAAAAMAXXSAMSSMMAMAMXSAMSMSXSASXSMMMSXMASAXAAAMMMMSXSMMSMMAMMXMAMMMASAMMMXMMSSMMAMSMSMXMAAMAAMXMAMSAMMMXMXAAASASMXSMSAMA -MXAMASXASMSMSMMMSMXSSMXMASAXXAAXAAXSAMSSMMMXXAAASAMAXAXXXXMMMAMSMMMSAAMAMAAAASXMSMMMXXSXMXSXXSMMAXAMAMXSAMXSSMMMMMXXXMMXMASAMXSMMXMAXXAASAMM -AMXMAXMMSAMXXAXAXMAXAASXMMMSSSSSMMMMAMAMMAMMMMMXSAMSMMXMAXMXMSMMAXAMMSMASXMMMMAAAMASMMMASMAMMMAMMSSMXAXXSXMAMXSXSSMMAXXXSXMASAMSASAAAMMMMASX -SSMMAMSAMAMMSSMMAMMSMMMAAXSAMMAAXXASAMMMSASXSSXASMAXMASAMMSMMXASMMSSMMMXXMSMAMMSMSASAASAMXAAMMMMMAAXMAMAAXMMMMMMMAASAMMMMSMAMAMAMSMMSSSMSAMM -XAMXMAMASMMXAXASXAAXMASMMMMASMSMMMXXASAAXMSAMXMXSAMXMMMXSAAXAMAMXAMAXMMMSAASXMXXMMMSMMXMMXMXSAMAMSXMMAMAXMASAMSAMAMMASXASAMXSAMMAXAXAAAAMSSX -SXMAMMSXMMMMMXXMAMXSMMAMXMMAMXMMMMSSMMMSSMMAMAXXXXMASXAAMXSMSXMMMSSSMSAXMSMSXMASMMAMMSMSAMSASAXXMAMAXXSSMAMSAMSASXSSXMMXMMSMSASXSXSMMMMMMMMM -MXSASMMMXXASMSSSXSSSXSXSAMXSMMMAAAXAAMAXXAXMMSSMMMSXSMMXSAMXXAAMAMXXAMXSMMXSAMAXAMSXMAAMAMSASMMMMMASAMAMAMMMMMMAMAMASMSXMXSASMMAMAAAXAAMXXAM -XAMXXAXSASXSAAXMASXMAMASMMAAAXSSMXXMMMXMSSMAAXAMAAAXXAAAMASASMMMMXXMSMAMAAAMMMXMXMXASMSMSMMAMXSAAXXMMMASXSXSXXMAMXMAMXAXSASMSAMAMSMMMXSXSMAM -MMSMMSAMASAMMMMMMMAMAMMMXMMSMMXMAMSXMAXXAMSMMSMSMMMSXSMSSXMAMAXMMSAAAMAXMMSXSASXMASAMAMXAAMXMASMSSSSXSXMAAAMAXSXMXMXSXMSMAXXXAMXMASAMXXAXMAM -MSAXAMXMAMAXSAXXASXSASXSXSMAXMAAAASXSASMXMAXXAXAAXSMMAAXXXXXSAMAASMSSSMSAAXAMAAMMXMMMAMAMAMXMASXAAAAAMMMSMMMMMMASAMSSMXAMXMMSMMSMAMXMAMAMSMX -MSAXXSXSXSAMSAMSAMASXSAMAMMAMMMMMSMAMMAAAXMMSSSMSMAASMMMMMXMAMSMMSXAXAASMMMXMXMASAAXMSMSAMXMMXSXMMMMXMAAAAXXMAMAMASAXAXMSMSMAAAMMAMAXAMXMAMS -XMSMAXASAMMMMAMMSMAMAMXMAMMSSXSASAMXMSMSSMSAXAAAXMSMMAAAAAXMMMSAMMMMMMMMXMXMAMXASMSXMMAMMMASMMMMXSAXAMMSSXMSSXMMMMMMSSXMAAASMMMXSASMSMXAXAXA -XAAMXMXMMMAAMXMAXMAMAMAMASXAAASXSAMXMXXXMAMMSSMMMAMMASMSSSMSAAXXMAXXAAAXMMAMAMSMMMMASMAMXSAMXAASASMSMSAXMAMXAASMMSAXAAASMSMSXXAXSAMXAASXSMSM -MSMSXMXXXSSSSMMSMSSSMSASASAMMMMMSAMSSSMMMMMMAMAXMAMAAXAMAMASMMMASXSSSSSMXSASAAAAAXSAMSXXXMSSXSSMASAAAAMASMMMMMMAASXMMSXMAXXSXSAAMAMSXMAMXMAX -MAXAXXMAXMAAAXAXXXAAASXMASAXMASASAMAAAXAASAMMSMMMAMMMMAMAMMMASMMMMAAAAXMAXMSMSXSMMMMMMMSAAMMMMAMAMMMSMSAMXAAASMMMMAXXXAMAMXMASXMSSMXMASXSSMS -MMMAXMSSSXMSMMAXMMXMMMXXXMXMSMMMSXMMXMMSSSMMXAXMMSSMMSSMSSMMXMASXMMMMMMMMSAMMMMMMAAXXAASMMMAMSAMXXSAMXMAXSMMMMAXXXSMMMAMXXAMXMAMAMXMXAXMMAAA -MXSAMXAAAMXAXMSASAXSASMSSMMXXAMXMMMSAMXMAMXASMMSAMAAXAXXAAASASMMAMAMAMAAXMAMAXAASMSSMMMSXXSAMMSMMMMMSASAMMASMSMMSAAASXSMSSSXASXMASAMXMXASAMX -AAAAMMMSMAAMXMMAMAXSASAAAAMMSSMAXAAMASMXAASAMAAMASXMMMXMMSMMXMMAMSAXAMMSSSXMMSMMMAAXMAMXMXMXMSAXAXAXMMMMSMAMAASASXMMXAASMAMSXMXSSXXXAMSMMMSM -MMMMMXMAXSAXAMMXMSMMAMMMSMSAAASXMMSXXMAXXAMAMMMSMMXAAAASXMXSAMXSXMMXXXAMXXAAAMASMMMMMAXAMSSMSAMMMSMSMAAAAMAMSMMMSAXAMSMMMAMXSMMMAMSSXMAMAAAX -SXXSXMXXXMXMMSMMMMAMXMSMMAMMSMMSMAXMMMSMSASAMXAMXMSSMSXSAMASMSMMMXSASMSMASMMMSAMAMAAXMSXSAAMXMXMMAMAXSSSMMMXXASASAMXMAAMSMSAMMASAMXAXMXSMSSS -MMMSAASXMSSMMAAAXSAMSXSAMSMXXXMAMASMAMAAAMXASMMSAMMMAMXMAMAMXSXMAXMAMAMAAAASAMASMMMSSMAXMXSMAXAMMAXAXXAAXSSXSAMASXMAMXXMAXMASAAMASMMMSAMXAAX -MAAMAMAAAAAMSSSMXMMMSASXMXMXMXMMMAXMAXMMMASMMXAMXXASMSMSSMSSMSAMSSMMMSMMMSMMSMXMASAAAMXMMAMMMXMSSSMXSASXMAMMMMMMMMXXSSMMSXSAMMSSMXMAXMAMMMXM -SMSXSXSSMMSXMAXXAAMAMMMXMAMASMMXMSSSSSSSMAMMAMMMSAASAAAAXAXMAMMMAAMSAAAXAAASASXSSMMSXMAMMASAXAAXAMAMXMMAMASAAAAAAXAAAAAAAMMXXXXAAASMSSMSSSMA -MAMXMAMMAAXAMXSSSSMASASAXXSAXASMXMAMAAAXMASMAMMAMMMMXMMMMSMMMMXMSSMMSMSMSXSMMAXXXMAAAXAMSXSASMSMXMXAAXXXMXSXXSSSSSXMSSMMSSSSXSSXMASXAAAAAXMS -MAMAMAMSMMSSSXAAAXXASXSASMMXMSMXAMAMMMMMMAXMXXMASXMXXXMXAMAMXSMMMXMAXXMXMXAAXMMMMMMSSMSMMAMXAXAMSSMSMSAXXMMXMAMMMAAXMXXAMXAXAXMMMAMMSMMMSMXM -SASMSMMXSXAAAMMMMMMXSAMXAASMMMASXSSSMXMMMASXMASASASMSSSMMSSMASXAASMSSSMAXSXMMXAAAMMAMXMAMXMAMMAMXAAAAMMMXXAAMXSAMMXMAMMMSMMMAMMXMXSAMAAMXMAM -AAXMAMAMAMMSMSXSAXSAMXMMMMMMMMAMAAAMXAXAAXSAAMMASAMAAAAXAAAMAXSSMSAAAAMSMMAAMSSSSXMASMSAMXSMXXASMMMMSAXSXMSXSASXSXSMSMAXSAMXAAMMMMMMSSMMAMAS -MMSSMMMSAXMAAMAMAMMASXSSXMASAMAMMSMSSSMSXMSMSSMAMAMMMXMMMMSMMMAMAMMMXSMMASMMMAXAXMSMSXSXMASXMSASXAAXMXXSAMAAMMSXMXMAMXSXSAXSASMAAAAXMASXXMAS -SAAAXXXSMSMMSMAMAAXMMMAMMSASAXXMAXAAAAXXAMXAMMMMSMMASASXSAXAXMAMXMSMXMAMMMSAMXSMMMAASASAXMSAAMXMMMMMMMASXMMSMMXMXAMAMMMAXAMXXMXSMSSXSAMMSMAS -MMSSMSMSMAXMXMASASMSAMAMAMASXMSSMMMMMMASXMMSMXAMAMMXSAMASAMMMSMMAMAXAMAMMXMSAXXXASMSMAMMMAMXMASXSXSAXMXSAMXAMAAMSAMAXAMXMSMSMMAMXAAXMASAAMAM -XAAAXAAMSAMMAMXSAAASMSSSSMAMXXXAAXAXSXMAAAAMMSMSMMXXMMMAMXMAAAASASMSXSSMSAMXXMSSXSXXMMMXMSASXAMXMASAXMAMMMMMMMMMMASXSMSAAXAAAMAXMMMMSSMXXMAS -MMSMSMSMMMXMASXMMMMMMSAMASASMMSAMMMMXAXSMMXSAAAAMMMXAAMAXASMXSMSXXXAMXAASMSAMAMMMMXMASAXXMASMMMAMMMMSMMMAAAAAAMAMAMAAMSMMMSMSMSMXSAAXAASMSAS -XMAXAMMAMASXSMXSXXAAXMAMASMSAAXAMXXSSSMMXMMMMMMMXASXMMSMSXSAAXAMASAMAXMMMXAXMSMSASASAMXASMAMAMMMXMAMXAASMSSSXSSSXMSMMXXAAXXAXAAXXAMXXMMMAMAS -MSMSSSSMMAMXAAXSXSXSMSXMAXAMMMSXMXSAXXAXMXXAAMSSMMSAAAAXSXMMMSAMAMAMSSXMXSMMMMASASAMASXAXMAMXSASMSMMSSMSAAMMAXAXAASXXXMSMSMSMMMXSASASMSMXMAM -MAMAXMASMXSSMMMSAMXXXSAMXMSMMMSAMXMMMSSMAMMXXMAAXASXMMSASXXAASAMXSXMAXAAAXXXAMMMXMXMAXMXXSXXASASAAAAXAXSMMSMSMAXMXMASMXMASAAAAAMXAMASMAMSMXS -SAMMXXAMXAAAMAAMMMMXAXAASXAAXAXAMMAXAXXMSASAMMSSMAXAXAMMXAMMMXXXXAMMXSXMAXMSXSXXXMSXMXSXMASMXMXMMMSMSMMSAAXMXMXMXAXXAMXMMMSSXMSMMXMAMXAMMAMA -SXSXMSSMMSMSMSAXXSXMMMMMMMSMMMSMMMAMSSSXXXMAMAAAAXSSMSXXXMASAXMAXMXMAMMAXAAXAAMAAAMAMAMAXAXXXXMSSMMAXMAMMSMSAMSAMXXASXSXAMAXASAMXMMASXMSMAMM -XAXXAAAXAAAAAXXMXAAXAAXAXAAMAAAMXMAXXAXMMMSSMMSSMXMMAXAAXXXXMSMSMAMSAMAAXMMMMSASMMSSMSSSMSSSSMMAAAMMMSSXAXMSAMXXMSAMMAAXXMASXMAXMASMSMAAMASX -SMMMMSSMXMXMSMMMSSSMMSSXSSSSSSMSASXSMMMMSAAAXAAMMMAMAMMMMMMAXSAMXAAMAXMSXSAAAAMAAAAAXMAAAAAAXAMSSMMSASAMXMAMMMSMMMAAMXMASMMMAXAMSAMASMSMSXSX -AAXMAXAMASAMAAAXAAAMAAXXMAMMMAASASMXAAXAAMSSXMMSASAMXMXMAAXSMMAMSSMSMMXAAMXMMMAMMMMXMMMMMMMMMSAMXMAMMMMXSMXMAASAAMXMXSXXMAMXSMAXSAMXMAMXSXMM -MXMMMSAMASASXMMAMMMMSXSMMAMASMMMAMXSXMXMMMMMXMMSASXMAXSSSMSAASAMXXAAAMMMSMMSSSSXSMMSMMAXAMMSXXXSAMXSSMSAMMAMMASXMSMSAMMMSMMAMXSMSMMAMAMXMASA -SMSMAMMMXSXMASXSSSSXXAMXAASXSSMMMMMSXSASXAAMSXAMMMAMXXMAAXAMXMAXAMMMMMXXXMAAXAMAMSAAASMSAMSAMXMMMSMAMAMMSSSSMMSMMAXMASAAAXMXXAMAXXMMSMXXSAMA -AAAMASXSASAMSMAMMASAMXMXSMSASAXXXAAXASASXSAMMMSSSSMMSSMXMMSXMSSMXSSXSMXMAMMSMMMAMMMXXMAAXSXMAXMAAAMAMXMAAAXXMXSASMSAMXMMMSMAMSMMMXXAAMAMMMSM -MSMSMSAMASMMAMAMMAMXMMMAMAMXMMMXSAMMXMXMXMAXXAXXMAXAASMXSXMAAAXMASXAAAXMAAAAAXMASXSSMSMMXAMXSMMMSMSMSMSMMSMXSASMMASMMAAAMXMSSMAAAAMSMMMMAXAM -AXMXMMXMAMASXSMSMXSSMAMAXAMXAXXXXASXSMXMASAMMSSMSSMMMSXAMASMMSSSXMMSMMXXMSSMMAMXXAAXAAAXSXSAXAXAMMSAAAMAMAMXMASXMXXASMXSAAXMAMSMMSXMAMXSMSSS -MSXMSSMMXXXMAMMMMAMMSASXSSXXMMMMSAMAAXXMASMMMAAAAXAXAXMMSAXSAMXAAXAMAMXSMMAAMSMSMMMMSSSMAAMASMMXSAMMMMSAMMSSMAMAXXMMMMAAMXMSMMMAAXMSMSXMAMAM -XAAMASAMSSSMASAAMASXSMXAAMMXMAAAXAMSMMAMASASXSXMSSMMSMAXAXXMXSSSSMSSSSXAXSSMMMAAXAXXAAMXMMMMMXAMMMMXSXSMSAAAMSSSMSXSAMMSXAMXSASMMSAAASXMAMAS -MASMASXMAAXSAMXXSASXMASMMMAAXXMSXMMXAXXMXSAMAXXMAAXAAXSASMXSXAAAMMMAXAMMMAMAAMSMSMSMMSMXSXXXMAMSAXSXMASAMMSSMAAAAAXSASAMMXSAMXSAMXMMSMASXSSS -XAMMAMXMMSMMXMAXMASAXAAXXMSMSAMXASMSXMMMAMAMAMAMSMMSSSMAXMASAMMMMAMXMMMXMASXMXAMXAXXMMMAMMSSXMASMSMAMAMSMMXMMMMMMMXSMMASAXMASAXAMAMXAXAMXXMM -MSSMMSXSAMXAAXMXMASAMSSXSXAAXMASXMASMAAMXSXMASAMAXAXMAMAMMAMMXMASXSXMXSXSXMAMXMMMMMMAAMMMAAMAXMMMAMAMAMMSMXXMXMSMMMXAMSMXXSAMXSSMSSMMSMMMMMM -MXAAAXXMSSXMMXMAMASXMXXAAMMMMXMMSMXMASXMAMASASASMSSXXAMAXMMXSASXSASAMAAMAMMSMMAASAAASXSMMMSSMMSMSSSSSMSAAMAXAAXXAAXAMMMAXXSAMXMXAMXMAAAASAMA -MXSMMSXMMMAAAAMMMASAMXMXMXAMSAMSAMXXXXAMMXAMASAMAAMMSXXMXXXMMAMAMAMXMAXMXSAMXMSMXMXXMXSAASAAXAAMAAAAAAAMAXAXSSSSSMSSXXMAMMXAMXXMXMAMSSMMXASX -XAXAXAXSASXMSXMAMXSASXSASMMXSASAMXSXSMSMSAXMXMAMMMXAAMSXXMAMMSMMMAMSXAMMAMAXXMMMSXSASASXMXXXMSXMMSMSMMMSSMMXMAMAAAAAMMSASXXSMSXMASXXAMMMSMMM -MASXMAXSAXXXAMMSMMSXMASASXMASMMASAMMSXMAAMXMXMXXXAMXSMAASMSMAMAXSSSSMSAMXXSMSXXAAAMAMXSAMSMSMMMMAAXMAXMAMAMSMAMXMMMXAASASAAMAMMSASXMAMSAAAAX -XMAMASXMMMSMMSAXAASXMXMAMMMAMAXAMASAMXMMMXSMASMMMSMSAMMSMAAMMXSMAXXXAXXAMXMASAMMMSMMMXSMMAAAAMAMSSMSAMMMSSMMSXMASMSMSMMAMMMMAMAMXMAMAMMSSSMS -MMXXXXAMSASAAMAMMMSASXMMMMMMSSMMSMMMSXMASMMMAMAAXAMXAMXXMSMMXAXMXMMMSMSSMXMAMXSAAXAASMXXSMSMXMAMXAAMXMXAAXAMXSSXSAAAXMMMMSASXMASAXSMSMXAMXXM -MSMSMSMMMAXMXMXMSMSAMXXAAXXMAAXMAMSMSMSAMAXMSSSMMMSSMMXXAXAXMMSAAAXAXXAASMMMMAMMSSSMSAXAXXMAXSASMMMMXXMMSSXMAXXAMAMSMSMSASXSXXSXMXXAAMMASXMS -SAXAAAXSMSMSMSMAXAMAMASXMMSMMSMMAMAAXASASMSXAAXMSXAAXSMMMSSMXMAMAXMASMSSMXAXMXXAMXAXMMMSMMMSMSASXMAXAMMMAMMMMXSAMXMXAXAMAMMMXXXAMAMMMXSAMAAA -SMSMSMSXAXAAAAMXMAMAMXMAAAXXAAASMMMSAMMAMXAMMMMMXMSSMMAAMAMSXMXSXMSAXAXXASMSAMXSMMSMXXMAAMMAMMXMAXAXXMAMMXMAXXAAMAXMSMSMXMAAXXMAMAXAXXMASMMM -SXMMAXXMAMXMSSSMASXXXAMSMMSMSXXAAXAXMMMMMSMXSAASAMMXMMSMMAMMXSAMAXAMMMMMXMXXAXAXAMAMXMSSSMSASXASXMSSSSSXXXSASXASMXSAMAXAXSMMSMSAMXSMSMSAMXAX -XAMSSSMSASXXAAAMSMASXSAXXMMMMSMMMMXSASAAAMXASXSMASXAMAXAMSMSASMSAMMXAMMMAMXSMMMSAMXXAAAAXAMAMMMMSAXAAAAXSXMASMXMASAMSAMMMMAMMMAMMXAAAXAMMSMS -SXMAAMASASMMMSMMAMXMAXMMMXAAMXXSXMMSAMSMSSMMSMMMAMXXMASXMAAMASASXMXSMSMSASMMMAXAXXMSSSMSMMMSMAMMMMMMMMMMMAMAMAMMMMAXMAMXMSAAASASMXMMMMMMAAMM -AAMMSMAMAMAAAMXSMSSMSMMAAXMSSMMSAAAMXMASAXMXSASMXMMXXASASMXMXMAMAXXMXAAMAMAAXSSMMSAAXMAXAMAAASAMASAXSAXASAMMMSAAMMSMMAMXXSASXSASASXMSSSMSSSM -SXMAXMASAAXMSMAMXAAAMAMMMAMXAXASMMMSAMXMXXSAMMMXXSAXMXSAMXAXAXAMSMAAMMSMXSSMMXAAASXMXSXSMMXMXMASAMXXXAMMXXMSAXSMSAAMSMSSMXAMXMAMASAXAAAAAAAX -MMXSXSMSXSXSAMSSMSSMMSMAASMMMMXSAMXSMXSAMXMAMSAASMSSMAMAMSSSMSMXXAMXAMXMAMAASMMMMSAXXMXAMSMSSSMMMSXSXSXMSSMMSMXMMMSXAAAXMMMMXMXMXMMMMXMMMSMM -XAAXXSXMAMXMASAMMMMMAMMXMMAAXMASAMXMAMXMAXSAMMMMAAXXMAXXMAAAAXXAXAXMSMAMASMMMAAXAXMMAMMSMAASAAXAXMAMAXAMAAAAMXMASXMXSSMMXAAAXSASAAMMXMAXXMAS -MMMSASXSSMXSSMASXSASASXAXMSMXAMXMASMAMMMSXMXSXSXMMMSSMSXMMSMMMMMSMMXAMAXMMMMSXMMMSXMAXAXMXSMMMMMSMSMXXAMSSMMSAAMXSAAXAXXSSSSXXAMSXMAASXMMSAS -MAAMMMAXAAASXSXMASAMASXSSMASXSMMMXXMMMMAMXMASAAXXAXMAXAMSXMMAAAMAMASMSSMSAMASAMAAAASASXSMSAMXSAXSAAMMXSMMAXASMSXAMXMMMMMAXAMXMSMXSMMMSXAXMAS -MMSSXMXMMMMSAMSAMXXMMMMAAMAMMXAXSAMXSMMASAMAMSMMSAMSMMMXMAASXSMSAMAMXXAASAMASASXMXMMAMMAMXAMAMXMMAMXSAMASMMASAMMXMAXMAAXMSSXSAAAXXSSSMMSMMSM -AXAXAAAMXMXMXMAMXMMMXAMSSMMMASMMXMMASAMSSXMAMMXMMMAAMASASXMMXMASAMSSSMMMSAMXSXMAMSAMXMSMMSAMSSMSMMMAMASAMXXASXMAASXSSSSSXMAAMSMSMAASAAAMMMAM -SMXSASASAMMMMSXSXMAMXXMAMASMMMXAMXMAXAMXXMXMSSMSAXSASXSASMXXAMMMAXAAMXXAMAMXMXSAMXMAMXXXASMMAMXAAAMXSAMASAMXSAMXASAXXMXMAMMMMAXXMSMSXMASASAS -AAASAMXMMSAAXAASXSAMXXMASAMAMSMSASMMSSMMMSSMAAMSAMMMMAMMMMMSXSXMXMMXMMMSSMMSAAMAMXMSMSMMMSAMASMSSMMXAMXMSASAXAMMSMXMXMMSAMXSXXSXAXXMAMXSASAS -MMMSXMMXASMSMMXMMMXSAASXMMSAMAAMXMAXAXAXAAMMMSMMMMAAMAMAAXXMAMAMSSXMMXAAAAMMMMXAMXXAAAAAXSAMXXMAAASAMXMASAMAMSXMAAMSSMAMAXAMXXXMXMXSAMXMAMMM -XAAMAXMMMSAMMMAAXAAMXMMASXSAMMMMASMMMSSMMSSXMMMMMSMMSASMMSAMASAMAAXAXMMXXMMXMASASXSMSMXSXSXMXXMMSMMAXMMMMMMAMMASMSMAAMASMMSMSAMXAMMMMSAAXMAX -SMXSAMXXXMAMAXXSMMSSSXSXMAMXMSXSASAAAAXXAMMXSAMXAAAMSXSMASXSASXMMSASMSMSMXMXXMAMMAMAAAMMASXASXMAXMSMMSAAAMMXMSAMAAMSSMXSXAXAMMASXAAXMXAMMSXS -MAMAMMMMSSMMSXSAMMMMMASMMMMAXXAMASMMMMMMXXSAXASMSMSMMAMMAMXAASXMXMAXAXAAMAMSMXMASAMXMSMMAMMAXAMAMAXSASXSSSMSAMXMASMMAMAMMXMAMMMAMXXSMMSAMXMA -MAMAMAAAMXAAAXAMXAAAMXMASXXSXMMMAMXXAAAMAXMMSXAAAXXXMSMMMSMMXMAXAMXMMMMMSAXAMAMXXAXMXXXMMMAMMSMXXAMMXSXMAAASMXSAMXMMXMAMMMSAMXSSMSXAAAXAMASX -SASASMSSMSMMSSMXSSSMSASXMMMMMAAMMSMSSSSSMSSXAMMXMASMXMASAAASXSMMSSMMXSAASMSMSASXSMMSAMMSSMSAAXAXMSMSMSAMSMMMSASASXSSMSXSAAMAMAAAASMMMMSASASA -SASASMAMMAAAAAXAXAAASASXAAAAASXMSAAXAAAMAAXXMAXAXMAAASMMSSSMAAXAAAAMASMMMAAASASAAXXMASAAAAAMSMXMAAAAASMMAAAAMMSAMXXAAAXMMMSAMXSMMMMSAMXXMASM -MXMXMMSMSSSMSSMXSMMMMSXMASMSXXAMSMMMMMMMMMSMXSSXSXXSASXXMXMMSMMMSSSMXSXXMSMMMSMMMMXSAMMSSMXXXXMASMSMMMMASMMSSXMXMASMMMSXMASASXMXMASXXSAAMMMX diff --git a/2024/05/input.txt b/2024/05/input.txt deleted file mode 100644 index 903b5e2..0000000 --- a/2024/05/input.txt +++ /dev/null @@ -1,1362 +0,0 @@ -32|75 -18|19 -18|82 -41|56 -41|28 -41|47 -85|67 -85|66 -85|35 -85|93 -87|31 -87|38 -87|44 -87|94 -87|55 -66|96 -66|39 -66|94 -66|95 -66|29 -66|36 -16|14 -16|74 -16|47 -16|17 -16|18 -16|28 -16|93 -31|77 -31|19 -31|34 -31|29 -31|52 -31|66 -31|39 -31|75 -62|89 -62|18 -62|63 -62|85 -62|76 -62|37 -62|93 -62|68 -62|14 -46|44 -46|66 -46|75 -46|67 -46|87 -46|31 -46|19 -46|18 -46|63 -46|15 -74|27 -74|67 -74|84 -74|66 -74|63 -74|29 -74|34 -74|18 -74|44 -74|28 -74|46 -56|67 -56|68 -56|47 -56|59 -56|18 -56|87 -56|46 -56|27 -56|32 -56|43 -56|28 -56|13 -68|89 -68|66 -68|52 -68|28 -68|98 -68|36 -68|84 -68|19 -68|34 -68|27 -68|44 -68|95 -68|13 -28|94 -28|63 -28|31 -28|66 -28|87 -28|29 -28|34 -28|15 -28|98 -28|13 -28|75 -28|95 -28|18 -28|44 -13|98 -13|21 -13|75 -13|77 -13|62 -13|38 -13|34 -13|83 -13|84 -13|29 -13|96 -13|86 -13|19 -13|44 -13|76 -55|38 -55|14 -55|35 -55|96 -55|74 -55|62 -55|76 -55|17 -55|82 -55|59 -55|56 -55|21 -55|46 -55|93 -55|43 -55|85 -96|56 -96|68 -96|35 -96|74 -96|16 -96|62 -96|59 -96|87 -96|47 -96|86 -96|85 -96|14 -96|37 -96|28 -96|46 -96|67 -96|93 -93|75 -93|29 -93|74 -93|32 -93|98 -93|67 -93|52 -93|66 -93|15 -93|46 -93|31 -93|87 -93|34 -93|18 -93|77 -93|68 -93|13 -93|89 -89|77 -89|82 -89|55 -89|38 -89|34 -89|75 -89|95 -89|19 -89|98 -89|52 -89|29 -89|94 -89|84 -89|13 -89|83 -89|41 -89|66 -89|27 -89|36 -98|59 -98|96 -98|56 -98|85 -98|77 -98|34 -98|62 -98|38 -98|21 -98|84 -98|39 -98|17 -98|94 -98|86 -98|95 -98|83 -98|36 -98|44 -98|82 -98|19 -37|28 -37|87 -37|14 -37|74 -37|75 -37|29 -37|63 -37|31 -37|32 -37|93 -37|46 -37|15 -37|27 -37|95 -37|18 -37|68 -37|67 -37|13 -37|43 -37|98 -37|52 -34|35 -34|41 -34|43 -34|85 -34|94 -34|84 -34|59 -34|56 -34|37 -34|96 -34|86 -34|14 -34|38 -34|17 -34|82 -34|21 -34|76 -34|47 -34|39 -34|55 -34|83 -34|16 -38|47 -38|96 -38|17 -38|46 -38|32 -38|16 -38|39 -38|37 -38|56 -38|18 -38|86 -38|76 -38|43 -38|68 -38|21 -38|93 -38|59 -38|67 -38|74 -38|85 -38|35 -38|14 -38|28 -35|18 -35|28 -35|29 -35|89 -35|63 -35|74 -35|43 -35|93 -35|98 -35|52 -35|37 -35|87 -35|14 -35|68 -35|46 -35|27 -35|13 -35|67 -35|95 -35|66 -35|15 -35|31 -35|75 -35|32 -44|94 -44|17 -44|76 -44|41 -44|16 -44|85 -44|36 -44|38 -44|47 -44|59 -44|37 -44|39 -44|77 -44|35 -44|86 -44|55 -44|83 -44|84 -44|96 -44|21 -44|34 -44|82 -44|62 -44|56 -67|77 -67|75 -67|94 -67|19 -67|32 -67|15 -67|66 -67|36 -67|18 -67|31 -67|52 -67|44 -67|27 -67|84 -67|89 -67|28 -67|13 -67|29 -67|63 -67|34 -67|98 -67|87 -67|68 -67|95 -29|34 -29|21 -29|16 -29|56 -29|41 -29|84 -29|38 -29|76 -29|17 -29|62 -29|82 -29|19 -29|96 -29|36 -29|83 -29|55 -29|98 -29|85 -29|94 -29|95 -29|86 -29|77 -29|39 -29|44 -14|13 -14|29 -14|74 -14|31 -14|75 -14|18 -14|89 -14|15 -14|52 -14|67 -14|98 -14|66 -14|95 -14|93 -14|87 -14|28 -14|27 -14|32 -14|44 -14|68 -14|19 -14|63 -14|43 -14|46 -59|28 -59|29 -59|46 -59|52 -59|68 -59|15 -59|32 -59|18 -59|87 -59|37 -59|67 -59|13 -59|47 -59|63 -59|93 -59|75 -59|66 -59|35 -59|43 -59|31 -59|89 -59|74 -59|27 -59|14 -82|85 -82|14 -82|93 -82|56 -82|37 -82|59 -82|62 -82|35 -82|28 -82|43 -82|41 -82|76 -82|47 -82|96 -82|68 -82|46 -82|74 -82|16 -82|17 -82|67 -82|86 -82|21 -82|38 -82|39 -17|89 -17|15 -17|13 -17|59 -17|68 -17|43 -17|63 -17|52 -17|28 -17|74 -17|32 -17|27 -17|14 -17|18 -17|67 -17|37 -17|31 -17|93 -17|87 -17|47 -17|85 -17|56 -17|46 -17|35 -19|41 -19|38 -19|84 -19|39 -19|44 -19|76 -19|83 -19|94 -19|96 -19|16 -19|17 -19|82 -19|34 -19|21 -19|36 -19|55 -19|62 -19|47 -19|35 -19|59 -19|56 -19|77 -19|86 -19|85 -77|34 -77|96 -77|94 -77|62 -77|16 -77|47 -77|84 -77|85 -77|35 -77|86 -77|17 -77|36 -77|56 -77|83 -77|14 -77|76 -77|37 -77|38 -77|55 -77|21 -77|41 -77|82 -77|59 -77|39 -43|87 -43|46 -43|27 -43|93 -43|18 -43|66 -43|52 -43|77 -43|44 -43|19 -43|13 -43|29 -43|15 -43|89 -43|31 -43|67 -43|74 -43|63 -43|75 -43|95 -43|32 -43|28 -43|98 -43|68 -15|95 -15|31 -15|84 -15|19 -15|82 -15|27 -15|21 -15|38 -15|98 -15|75 -15|52 -15|55 -15|66 -15|13 -15|34 -15|29 -15|39 -15|94 -15|77 -15|36 -15|89 -15|41 -15|83 -15|44 -76|46 -76|17 -76|27 -76|43 -76|89 -76|74 -76|35 -76|28 -76|68 -76|67 -76|56 -76|52 -76|15 -76|87 -76|85 -76|59 -76|37 -76|31 -76|18 -76|47 -76|32 -76|93 -76|63 -76|14 -95|59 -95|82 -95|47 -95|17 -95|34 -95|94 -95|77 -95|55 -95|86 -95|84 -95|21 -95|96 -95|39 -95|83 -95|44 -95|56 -95|41 -95|36 -95|19 -95|38 -95|76 -95|62 -95|16 -95|85 -83|76 -83|96 -83|14 -83|56 -83|68 -83|16 -83|93 -83|46 -83|17 -83|37 -83|59 -83|86 -83|62 -83|82 -83|74 -83|85 -83|21 -83|35 -83|47 -83|38 -83|43 -83|67 -83|39 -83|41 -75|34 -75|84 -75|82 -75|36 -75|98 -75|19 -75|83 -75|17 -75|44 -75|55 -75|76 -75|39 -75|77 -75|66 -75|62 -75|21 -75|94 -75|86 -75|41 -75|96 -75|29 -75|16 -75|95 -75|38 -52|29 -52|66 -52|83 -52|19 -52|84 -52|95 -52|13 -52|98 -52|16 -52|77 -52|75 -52|41 -52|96 -52|39 -52|21 -52|82 -52|36 -52|86 -52|94 -52|38 -52|62 -52|44 -52|55 -52|34 -21|59 -21|76 -21|18 -21|86 -21|39 -21|46 -21|37 -21|16 -21|62 -21|96 -21|14 -21|35 -21|56 -21|68 -21|43 -21|67 -21|32 -21|47 -21|17 -21|85 -21|74 -21|93 -21|87 -21|28 -84|83 -84|85 -84|41 -84|14 -84|62 -84|59 -84|16 -84|93 -84|39 -84|38 -84|36 -84|55 -84|43 -84|86 -84|17 -84|47 -84|82 -84|21 -84|56 -84|94 -84|96 -84|76 -84|35 -84|37 -47|68 -47|35 -47|74 -47|67 -47|89 -47|31 -47|63 -47|27 -47|52 -47|87 -47|15 -47|28 -47|14 -47|66 -47|46 -47|32 -47|29 -47|37 -47|98 -47|43 -47|13 -47|75 -47|93 -47|18 -39|43 -39|56 -39|32 -39|14 -39|96 -39|85 -39|93 -39|74 -39|28 -39|18 -39|17 -39|86 -39|47 -39|16 -39|46 -39|59 -39|62 -39|35 -39|63 -39|67 -39|68 -39|87 -39|76 -39|37 -27|29 -27|21 -27|77 -27|94 -27|66 -27|39 -27|82 -27|86 -27|13 -27|31 -27|75 -27|41 -27|19 -27|98 -27|34 -27|36 -27|84 -27|44 -27|55 -27|83 -27|96 -27|52 -27|95 -27|38 -36|74 -36|59 -36|55 -36|86 -36|43 -36|93 -36|38 -36|16 -36|85 -36|37 -36|96 -36|39 -36|56 -36|14 -36|17 -36|46 -36|83 -36|82 -36|21 -36|35 -36|47 -36|41 -36|62 -36|76 -94|56 -94|86 -94|85 -94|17 -94|37 -94|36 -94|59 -94|74 -94|93 -94|39 -94|38 -94|76 -94|55 -94|82 -94|62 -94|21 -94|83 -94|47 -94|43 -94|41 -94|16 -94|35 -94|96 -94|14 -86|85 -86|74 -86|47 -86|32 -86|16 -86|28 -86|35 -86|46 -86|14 -86|56 -86|15 -86|76 -86|63 -86|93 -86|59 -86|89 -86|87 -86|17 -86|37 -86|43 -86|67 -86|18 -86|68 -86|62 -63|15 -63|77 -63|38 -63|44 -63|19 -63|27 -63|83 -63|41 -63|21 -63|82 -63|34 -63|94 -63|95 -63|36 -63|89 -63|31 -63|52 -63|84 -63|13 -63|75 -63|98 -63|29 -63|55 -63|66 -32|98 -32|29 -32|41 -32|34 -32|36 -32|82 -32|44 -32|63 -32|27 -32|55 -32|83 -32|95 -32|19 -32|77 -32|52 -32|66 -32|15 -32|94 -32|89 -32|84 -32|13 -32|87 -32|31 -18|55 -18|29 -18|77 -18|34 -18|27 -18|52 -18|94 -18|89 -18|95 -18|13 -18|15 -18|63 -18|66 -18|36 -18|98 -18|87 -18|84 -18|75 -18|44 -18|31 -18|32 -18|83 -41|86 -41|59 -41|38 -41|85 -41|18 -41|74 -41|46 -41|17 -41|96 -41|62 -41|93 -41|67 -41|76 -41|14 -41|43 -41|37 -41|39 -41|35 -41|21 -41|68 -41|16 -85|68 -85|37 -85|43 -85|27 -85|13 -85|89 -85|75 -85|46 -85|52 -85|59 -85|31 -85|87 -85|32 -85|15 -85|18 -85|14 -85|28 -85|74 -85|63 -85|47 -87|15 -87|41 -87|13 -87|52 -87|36 -87|29 -87|95 -87|34 -87|27 -87|63 -87|77 -87|89 -87|19 -87|83 -87|84 -87|75 -87|98 -87|82 -87|66 -66|62 -66|38 -66|98 -66|82 -66|16 -66|84 -66|44 -66|41 -66|76 -66|77 -66|86 -66|83 -66|21 -66|55 -66|56 -66|19 -66|34 -66|17 -16|63 -16|76 -16|59 -16|56 -16|15 -16|85 -16|89 -16|35 -16|27 -16|67 -16|32 -16|43 -16|62 -16|87 -16|68 -16|46 -16|37 -31|98 -31|96 -31|95 -31|41 -31|16 -31|82 -31|84 -31|21 -31|83 -31|44 -31|13 -31|38 -31|36 -31|55 -31|86 -31|94 -62|43 -62|56 -62|17 -62|67 -62|32 -62|87 -62|46 -62|59 -62|27 -62|74 -62|31 -62|47 -62|35 -62|15 -62|28 -46|28 -46|95 -46|32 -46|77 -46|29 -46|13 -46|89 -46|34 -46|27 -46|52 -46|94 -46|68 -46|84 -46|98 -74|31 -74|95 -74|89 -74|68 -74|98 -74|19 -74|32 -74|15 -74|77 -74|75 -74|13 -74|87 -74|52 -56|93 -56|85 -56|75 -56|63 -56|35 -56|37 -56|89 -56|52 -56|15 -56|14 -56|31 -56|74 -68|75 -68|31 -68|94 -68|29 -68|18 -68|77 -68|15 -68|63 -68|55 -68|87 -68|32 -28|36 -28|83 -28|52 -28|27 -28|19 -28|55 -28|32 -28|84 -28|89 -28|77 -13|95 -13|55 -13|66 -13|94 -13|39 -13|36 -13|16 -13|82 -13|41 -55|37 -55|83 -55|47 -55|39 -55|16 -55|67 -55|86 -55|41 -96|18 -96|76 -96|32 -96|17 -96|15 -96|63 -96|43 -93|27 -93|28 -93|95 -93|63 -93|19 -93|44 -89|21 -89|96 -89|44 -89|31 -89|39 -98|16 -98|55 -98|76 -98|41 -37|19 -37|66 -37|89 -34|36 -34|62 -38|62 - -52,77,83,31,94,75,34,95,29,38,82,19,41,39,27,98,84,13,55,21,66 -76,17,43,93,46,67,68,28,18,32,87,15,89,27,31 -28,63,89,27,13,66,98,95,19,36,55 -38,21,39,86,16,62,76,85,47,35,93,67,68,28,18 -46,67,68,28,18,87,15,89,27,31,52,13,75,66,29,98,95,19,44,77,84 -41,34,98,29,95,96,55,86,52,13,16,38,82 -55,83,21,16,62,76,56,43,46 -37,14,56,17,18,16,35,67,21,38,59,85,93 -63,18,55,27,98,32,84,19,89,87,52,44,31,95,77,36,66,13,28,29,15,94,75 -55,76,39,16,82,19,34,66,29,96,75 -77,34,84,94,36,55,83,82,41,38,21,39,96,86,16,62,76,56,85,59,47,35,37 -62,17,47,39,37,86,85,74,38,14,93,16,67 -37,67,56,46,85,62,43,68,96,17,86,39,14,76,41,82,16 -89,44,67,98,28,13,75,31,63,87,52,84,34,68,77,32,46 -41,38,39,96,62,17,56,47,35,37,93 -44,84,94,36,21,16,62,76,85,47,35 -34,13,32,83,18,89,94,31,84,27,29,95,19,75,55,63,44,52,66,98,77 -75,68,67,89,74,15,28,63,44,98,29,93,52,18,95,43,13 -84,83,41,16,62,17,85,47,35,14,43 -66,75,29,39,36,82,19,13,95,44,84,96,38,16,34,52,55,86,98,83,21 -38,39,37,93,17,59,68,82,85,46,47,16,67,86,62,14,35 -75,34,27,98,89,28,84,63,36,32,87,55,31 -43,93,74,46,67,68,28,87,63,15,89,31,52,13,75,66,29,98,95,19,44 -28,87,63,15,31,52,13,29,95,19,34,84,94 -32,87,63,15,89,31,13,75,66,95,19,77,34,94,36,83,82 -55,21,17,56,83,98,76,62,39,38,19,29,44,41,84,34,95,86,16 -17,56,59,35,14,93,74,46,67,27,52 -89,27,52,19,77,34,94,21,39 -85,14,74,46,68,28,18,32,87,63,15,27,52,13,75 -83,82,41,38,21,39,96,86,16,62,76,17,56,85,59,47,35,37,14,43,93,74,67 -85,14,74,46,68,32,87,15,31,52,75 -95,27,19,77,98,31,84,94,15,63,34,75,55,83,52,87,13 -13,66,19,77,34,84,55,86,62 -34,84,87,19,13,83,31,29,44,95,15,77,55,36,52,27,66,98,75,89,41 -16,62,76,56,47,37,43,93,87,63,89 -15,13,75,66,34,84,36,83,82,38,21 -14,27,46,18,75,59,63,47,85,67,68,37,43 -63,15,89,27,31,13,66,98,95,19,38 -18,32,63,15,27,31,52,13,75,98,95,19,44,77,34,84,36,55,83 -44,75,27,63,98,18,34,66,68,31,19,95,52,32,28,87,29 -19,44,77,34,84,94,36,55,83,82,41,38,21,96,86,16,62,76,17,56,85,59,47 -67,63,18,93,37,46,17,87,89,43,52,56,35 -98,18,29,89,31 -52,13,66,98,95,19,34,84,94,55,82,41,39,86,16 -67,28,87,75,66,29,19,77,34,84,94 -31,13,55,41,98,38,15,83,27,95,29,89,84,77,21,34,75 -18,31,13,75,95 -27,14,87,63,18,32,29,67,31,89,15,37,13,43,74,47,68,28,35 -93,96,82,41,94,16,17 -17,56,85,37,43,93,74,67,68,28,18,32,63,15,89,31,52 -96,16,76,17,85,59,47,37,46,68,18,87,63 -17,16,77,59,95,44,34 -77,44,75,68,32,29,67,74,15,52,46,87,13,31,34,63,28,66,95,98,27 -68,63,15,13,66,19,84,94,36 -13,75,66,29,98,95,19,44,77,34,84,94,36,55,83,41,38,21,39,96,86,16,62 -15,27,52,13,29,19,44,77,94,36,55,83,41 -43,93,67,68,28,18,32,87,63,15,89,27,52,13,75,66,98,19,44 -55,83,38,39,86,16,76,14,93 -29,84,87,27,34,94,18,55,13,63,77,98,89,66,95 -41,21,96,59,35,46,28 -83,82,41,38,21,39,96,86,62,76,17,56,85,59,47,35,14,43,67 -82,94,39,76,98,75,86 -14,43,74,46,68,18,32,63,15,89,13,75,66,98,95 -94,39,82,41,75,55,98,89,27,66,19,34,21,84,95,77,29 -85,59,35,37,43,93,74,46,67,68,28,18,32,87,15,89,27,31,52,13,75 -59,47,35,37,14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,31,52,13,66 -16,76,17,56,47,35,14,93,74,46,68,18,63,15,89 -39,96,16,62,76,56,85,59,47,35,14,93,67,28,18,32,87 -56,85,59,47,35,37,14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,52,13 -36,82,38,39,62,37,74 -66,59,75,63,15,35,74,28,67,93,37,27,18 -66,84,41,36,87,44,31 -15,77,34,44,67,32,66,29,18,68,13,28,31,27,19,63,89,95,84,94,98 -68,35,86,46,14,93,85,37,96 -27,31,52,75,66,29,98,95,19,77,84,36,55,82,41,38,96 -98,38,85,55,76,84,44,83,95,36,96,82,86,34,17 -55,89,66,29,63,77,87,75,84,31,94,19,34,36,52,32,95,98,27,18,44 -66,29,98,95,19,44,77,94,36,38,96,86,16,76,17 -16,46,85,17,59,74,18,39,47,37,67,93,76,56,32,96,14,28,62 -34,86,59,83,56,94,76,84,17,55,36,77,35,39,38,96,16 -34,84,36,98,95,39,44,66,75,76,55 -41,56,21,82,86,16,47,59,19 -59,47,35,37,14,93,74,46,67,68,28,18,32,87,63,15,89,27,31,52,13,75,66 -41,39,38,13,82,34,83,98,31,95,55,19,86 -29,52,84,31,98,95,77,63,94,83,15,66,38,19,41,55,89 -86,16,62,56,85,47,35,37,14,46,68,87,15 -35,93,37,89,15,46,29,13,18,75,68,14,66,87,52,27,67,74,31,43,32,28,47 -13,82,94,75,55,19,63,66,77,34,98,41,31,95,89,44,87 -41,38,21,39,96,86,16,62,76,17,56,85,59,47,35,37,14,43,74,46,67,68,28 -14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,52,13,75,66,29,98,95,19 -21,39,86,76,17,56,59,37,43,46,28 -67,32,63,93,37,31,29,18,74,15,66,47,52,43,13,75,89 -56,85,59,47,35,37,14,43,93,74,46,68,18,32,87,63,15,89,27,31,52 -87,18,75,27,63,28,19,67,29,43,74,95,31,98,52 -85,38,56,84,98,86,95,34,62,36,16,44,77 -37,67,87,63,27,52,75,98,95 -37,62,21,86,84,83,82,14,47,55,59,34,96,35,36 -96,86,16,62,76,56,85,59,47,35,37,14,43,74,46,67,28,18,32,87,63 -75,66,29,19,94,55,83,82,38,21,16,62,76 -35,43,74,75,66,29,98 -85,47,35,17,28,87,32,59,76,37,39,56,93 -18,14,68,67,63,62,27,32,89,43,46,28,15,93,87 -77,34,94,55,83,82,41,38,21,39,86,16,76,17,59,35,37 -74,21,18,43,14,96,32,62,67,56,59,76,85,39,46 -34,94,36,82,41,38,76,17,85,35,14 -66,86,21,36,84,82,44,34,55,83,52,13,94,75,29,98,16,19,39,77,96,38,41 -16,34,86,76,59,41,39,94,21,47,83,84,62,38,82,36,96,17,56,55,35,77,85 -86,62,76,56,85,59,47,35,37,43,93,74,67,32,15 -35,14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,31,52,13,75,66,29,98 -85,27,59,47,67,35,37,15,62,56,46,89,76 -37,14,43,93,74,46,67,68,28,32,63,31,52,13,75,66,29,98,95 -77,27,83,98,32,31,18,63,19,66,94,55,29,36,34 -77,84,94,55,83,38,76,17,56,59,47,35,37 -44,87,32,13,98,28,94,66,52,89,77,67,75,95,34 -59,35,37,14,93,46,18,32,87,15,89,27,31,52,13,75,66 -41,47,28,74,17,68,43 -93,74,46,67,68,28,18,32,87,15,89,27,31,52,13,75,66,29,98,95,19,44,77 -85,59,35,68,28,18,89,31,75 -32,87,15,89,44,84,94,36,83 -84,34,29,41,94,66,75,27,38,63,52 -98,19,77,34,84,36,55,41,21,39,96,86,16,62,76,56,85 -27,52,75,66,19,44,77,34,94,55,82,38,39 -62,76,17,85,59,47,35,37,14,43,93,74,67,68,28,63,27 -82,39,16,62,17,59,47,14,46 -89,27,52,13,75,66,98,95,19,44,77,34,84,94,36,55,41,38,21 -17,74,46,15,56,43,37,32,14,68,76,31,47 -63,38,27,31,44,98,55 -21,41,39,59,86,82,36,94,55,38,47,93,17,14,85,43,16,76,37 -75,98,95,44,77,55,38,16,76 -39,96,16,62,76,56,59,37,43,93,74,67,28,18,87 -86,77,59,94,76,83,44,96,39,35,85 -55,83,96,59,93,74,46 -86,17,93,67,28 -29,98,19,44,77,34,84,94,36,55,83,39,86,16,62,76,56 -31,52,75,66,95,77,34,84,36,83,21,39,86 -46,67,68,85,15,18,17,59,63,28,56,87,31 -89,27,31,52,75,29,19,44,34,36,82,38,21 -31,52,67,19,87,29,44,77,63,28,94 -62,16,41,14,17,86,35,59,21 -44,86,21,34,59,94,85,96,76,35,41 -21,95,75,15,19,77,66,94,36,13,52,82,98,44,29,31,84,38,83,27,41 -38,39,96,16,62,56,85,59,35,37,14,74,46,67,68,28,18 -55,21,96,86,37,14,46 -98,63,27,44,15 -39,96,86,62,76,56,85,35,37,74,46,67,68,18,87 -83,59,37,38,82 -98,19,34,83,82 -39,19,59,84,47,77,16,34,56,44,83 -56,47,83,62,55,44,21,59,35,76,39,16,86,17,82,77,41,36,38,96,34 -14,28,18,32,27,31,29 -83,21,89,52,39,34,41,77,31,44,29,55,84,38,98 -68,31,13,98,44,84,36 -34,84,82,86,76 -29,32,19,63,66,44,89,52,46,98,77,18,75,67,84,13,95,27,68,15,28 -63,89,27,31,75,29,98,19,84,94,36,55,83,82,41 -35,86,67,28,37,76,93,63,68,59,18,47,32,96,17,43,16,14,85,62,56 -29,52,55,19,13,15,89,83,31,77,75,63,82 -77,34,36,55,83,82,41,96,16,62,56,85,37 -35,59,86,37,74,47,62,46,38,76,14,83,39,43,82,41,55,16,17,93,96 -56,59,47,37,74,18,32,89,27,52,13 -31,93,89,63,35,15,52,87,74,68,32,98,67,37,28,18,46,14,75 -74,47,15,43,63,35,86,62,67,56,93,68,46,16,32,87,17,37,18,59,14,28,76 -93,74,63,89,31 -47,35,37,14,43,93,74,46,67,68,28,32,87,63,15,89,27,31,52,13,75,66,29 -68,63,15,31,98,95,19,44,77 -93,46,68,28,18,87,63,15,89,31,52,13,66,29,95 -77,85,95,21,94,39,41,86,98,17,34,56,83,84,82 -63,87,14,46,43,47,56,13,67 -62,76,17,43,93,74,68,63,27 -85,47,43,93,74,68,63,15,89,27,52,13,75 -17,35,37,14,93,46,68,87,15,27,52 -27,34,77,98,19,32,75,89,13,18,28,74,68,46,95,52,44,67,29 -95,13,66,27,84,44,36,89,63,55,28 -41,38,21,39,96,86,16,62,76,56,85,59,47,35,37,14,43,93,46,67,28 -52,13,75,66,29,98,95,19,44,77,34,84,94,55,83,82,41,38,21,39,96,86,16 -86,56,35,59,83,37,82,55,96 -89,47,63,18,74,62,28,43,59,27,14,76,67,15,93,68,85 -86,87,67,43,47,39,14 -18,55,89,77,19,13,66,29,28,32,52,27,94,95,44,15,36,87,34,31,84 -35,37,14,43,93,74,46,67,68,28,18,32,63,15,89,27,31,52,13,75,66,29,98 -77,34,84,36,41,38,39,96,86,76,56,85,59 -31,66,84,94,82,21,86 -93,32,87,52,75,66,29,19,77 -74,46,27,18,37,28,14,87,93,66,35,67,52,15,29,75,98 -98,66,29,75,15,68,27,67,31,13,63,93,89,46,52,87,95,18,32,19,44,74,43 diff --git a/2024/06/input.txt b/2024/06/input.txt deleted file mode 100644 index 1f20b72..0000000 --- a/2024/06/input.txt +++ /dev/null @@ -1,130 +0,0 @@ -..........#.............................#...............#...........#....................#...........#............................ -..............................#.......#...#.....#.....#...............#.#..#.......................#............#................. -.............#...........#.#........#............#..........................#.........#.......#......#............................ -......................................................#....#..#.............#................................#...#............##.. -...............#.....#....................................#......................................................#................ -..................##............#......#...............................................................#...................#...... -.#......#...........................................................#............................#................................ -#..#.............#...............................#.....#....#.............................#....#..............................#... -#...##..........#.........................#.................................................#............#...............#........ -............#...............#..............................................#.................................#..........##........ -..............#...................#......##...#.....#....................#.......................................................# -.#.....#....#......................#...#........................................#.#.............#.........#....................... -#..#...............#........##.........#.....#..........#.....##.........................#.....#.#................................ -...............#...............................#.....#.................................................#..##...................... -......#...................#..........#...........................................#....#........................................... -...............................................#...#....##.................................................#.....#................ -.................#.........#..............................#........#...#...#...................................#.................. -...........#..#.....#...#.........................#..........#.#.............#....#...................##.......................... -.........................................#.........................#.#............#...#...##............................#......... -.....#......................................#....................................................#..............#................. -..................................................#..................#................#.............#.#..#..................#..... -............................................#.....#......................#........#..........................................#.... -.......#..........................#...#...................................#.........................#...#..........#......#....... -............#...........##........................................................................#......................#........ -#.#...............................................#........#..........#.#..#...#................................#................. -..#.........................#.#........................#....##..................................................#............#.... -.....................................................................................#...............#...........#..........#..... -....................#..........#................................#...............................................#................. -#..............#.#...........#.........#..........#..........................#......................##........#.........#......... -....#....#...............................................................................#...#...........#............#...#...#... -.......................................................##......................#...#................................#............. -.......#...........##...........................#..............#..............................#...................#......#........ -......#.........#..............................................................#........#..#..........#.......#..#...#.....#....#. -....#.............................................#........#....#..................................#.............................. -..........#......#...........#....................................#..............#.......#...#............#....................... -...........................................................................................#.......#.............................. -.#..................................................#.............................#..................#...................#........ -......#..#.#................#.....................#..................................#.............#...............#.............. -...............................#..................#........#...................................................................... -......................#..................................................................................#.........#.............. -...............................................................................................................................#.. -.......#..............#...........................................................#......................#.......................# -#...............................#..............................#.......#..............................#...#...#........#.......... -............................#....#...#.........#....#................................................................#............ -.....................#.................................................................#..#....#..................#............... -......................#.............#.............................#...................................................#........... -....#.................#.#.........##................#.....#....................................................#.............#.... -...............................#...#...................#.......................................#......#........................... -....#............................................................................................................................. -...#.......................................................................................................#............#.......#. -..#.............##.............................................................#...#............................#............#.... -......................#.......#............#........................................................#..................#......#... -...................#.............#..................#..............................#............#........#...................#.... -....................#...........#.........................................................#......#.......#...........#.....##..... -...........#.........................................#.............................#..............#..................#............ -......................#.........#...................#......#...........................................#.......................... -..#....#...#.............................#..............#.....................#............#...................................#.. -.....#.............................#....#..................................#...................#...#.............#................ -...................#...#...........#........................#.............#........................#...#.............#..........#. -...#...........#......#.......#..............#......#..........#.....#............................................................ -..#......................................................#......#...........................#...........#......#..#............... -........#............................#.#....................#...#...#......#.....#...............................................# -.............#....#........#.........................................................................................#.........#.. -....................................................................................................#............................. -..#........................#....#............................................................................#.................... -.......................................#.....#.#.......................................#......#........#.#...................#.... -.................#........#....................................#...#..#................................#.......................... -...........#.................................................................................................#.................... -......................#..................#...#.............#................##................#.......#...........#.........#..... -............#..#................#.............................................#............##..................##..........#...... -......#.#.......................#............#...........................................................#........................ -#......................................#.#......^...............................................#................................. -........#...........................................................#...............#............................................. -...#.............................................#.................#...............#.............................#...#.#.......... -....................#........#...........##.......................#.................#..................#................#......... -#................................................................................................................................. -............#.......................................................................................#.#.........#..............#.. -...............#....#............#..................................................#......##.................................#... -.............................#.........#...............#......#.......#.................#........................#........#....... -......................................................#........................................................#.................# -.................#.#...............#......................................................................................#....#.. -........#.............#......................#...........#...........#......................................#..............#...... -......................#......................#...........#.....#.....##............................................#....#......... -.............#................................................................................#..........#.....#.................. -............##...........................#.................................#..#.#....................................#............ -..............................................................................................#............................#...... -...#.............................#..#..#....................................#..............#....#................................. -.....#..........................................................#.....#......#.........#.......................................... -....##......#.....................#..........#..............#..................#.#..............#........#...........#....#....... -.....#...#.........#............#............#.............................................................#...................... -.........#...................................#...........#.....................................##.....#............#.............. -.....##.#............##.....................#..........................#.................................#........#............... -.......................#..............##...#...................................................#.........#........................ -..#........#.......#...#..##............#....................................................................#...........#.....#.. -..#.....................................................................#..............#.............#...................#........ -...........#..........#..........#.....#.................................................................#..#..................... -..........#................#........................................................##.#...............................#.#......#. -#............................................#...........................##...#.......................#.............#............. -..#............#........................................................................................................#......... -....................................................#....................#............#...............#..........................# -........................................................................#.......#.....................................#.#......... -................#..#......................#...........................................#........................................... -........................##............................................#.............##..........................#.......#....#.... -.........#.......#..............................#......#....#............#..................#...#................................. -#.........#............................#....#.#..#.........................................................##..................... -.#..##...............#....#.............................#...............#........#.......................................#......#. -...#............................................................#.....................#.................#.....#................... -...#...........#..#.............................#.....#.............................................................#............. -...#.........................#..............................................................................................##.... -.........................#...........................#.......................#...........#........................................ -.#..................................#............................................................................................. -....................................................................#...........##.....#.#.........#.....#........................ -................#...............................#........#........................................................................ -......#....#.................................#...................................#.#.........#.....#....................#......... -................#..............................#.......................#...#.....#.......#................#....................... -....................#......................................#..#...........#.#.................#...#.......................#....... -.............#..#...#............................#.#...........................................#.......................#.......... -.........#..........#.................#....................................#.#..........................................#......... -....#.............#......................................................#...........#...........................#................ -........#.#............................#...........................................#.................#..............#..........#.. -..............#..........................#............#.........#....#...#.....#.........................#....#...............##.. -...................#.........................................................#.......#........#..............#..........#......... -.#........#....#..................................#..#.#...............#............#...........#................................. -...............................................................................................#.....#....#.............#......... -...........#..........#...........................................#.........#..............#................#..........#.......... -............#.................................###..............#.#...............................................................# -......#...................................................................................#............#...#..........#.....#..... -.............#..................#...................#......#.........#..#.......................#....#................#..........# -..#....##................................#.................#...........................#.......#....#...#..........#.............. -...............................#......................................#.........#.............#......................#..........#. diff --git a/2024/07/input.txt b/2024/07/input.txt deleted file mode 100644 index 4647750..0000000 --- a/2024/07/input.txt +++ /dev/null @@ -1,850 +0,0 @@ -1233: 1 18 5 3 -109101993: 3 8 2 471 2 5 5 2 1 1 517 -344748: 66 4 518 3 790 -5354640: 3 1 490 890 9 37 -663936: 8 920 25 272 855 78 -14099635: 268 6 4 2 6 5 3 214 2 31 -640057: 183 8 4 436 9 -2854: 9 3 13 59 82 -1773145: 805 8 78 73 6 9 1 4 -30614712991: 964 201 790 3 2 93 3 -368648: 4 6 192 1 8 -207308636: 6 30 7 7 9 3 5 94 5 90 4 1 -9329401237: 7 2 855 628 453 8 238 -111833872456: 42 97 792 33 9 7 8 2 5 8 -2942544984: 947 1 31 68 449 84 -19831717202: 346 87 646 918 885 5 -3798404: 3 6 9 38 4 50 945 38 82 -141719146: 46 333 428 57 90 2 6 8 -1628213600: 4 93 3 9 8 22 4 6 3 7 3 5 -1300751: 4 82 7 811 751 -136155101: 24 8 795 892 155 66 -104057566: 80 2 9 6 8 9 4 6 -35614965: 6 886 3 5 1 1 9 9 743 1 2 -971077: 495 37 53 330 51 1 -14453: 3 8 4 897 72 232 3 -9565163893557: 21 935 51 63 89 355 7 -2561: 8 17 62 -7286: 6 90 3 764 5 -282273493355: 3 5 3 4 8 8 548 7 8 57 5 -80890325640: 25 86 34 26 7 920 -416850: 14 3 7 397 7 -1825919359292: 55 89 64 323 359 292 -289725437473152: 772 7 63 9 23 851 152 -85457839140: 984 37 6 954 3 2 7 820 -93106926: 3 344 6 46 8 9 4 3 974 9 -99605551: 4 249 10 555 4 -56952: 569 49 57 3 7 4 3 -17135089: 85 652 2 46 24 65 -484740: 3 8 2 4 3 115 52 7 1 2 1 9 -834609: 83 4 431 176 2 -17658858: 79 33 6 7 53 -48992111574: 4 8 992 111 57 4 -21035: 7 63 9 1 16 26 52 -3892138: 9 6 1 429 4 4 7 7 4 3 8 2 -1288934: 4 350 31 9 29 8 5 992 -167846003069: 808 31 230 20 30 72 -5574: 5 952 5 7 799 -199273356: 701 2 7 9 4 16 6 47 5 5 3 -721984233: 7 2 19 842 30 -77061440: 290 1 272 857 160 -595697: 7 77 7 9 7 240 7 5 505 7 -27740629913: 8 68 365 629 910 -5809: 3 5 623 6 819 -32358137220: 64 9 7 7 557 1 3 63 9 23 -22372: 913 4 34 43 6 -11178860: 23 48 5 28 17 -64682084678: 66 70 2 2 978 10 7 8 -37332412653: 9 154 18 3 369 614 -57132: 3 8 9 602 2 9 727 5 9 -1130753406060: 8 99 689 5 9 6 35 605 9 -1816563600: 90 6 94 4 5 202 3 5 5 24 -569882610: 4 1 2 236 761 1 6 33 93 -830228: 401 9 5 23 43 -210262: 1 1 44 42 8 7 206 744 4 -165128576: 16 4 43 6 856 5 9 -11738564439: 233 234 67 189 251 -659845643: 6 26 8 1 9 6 1 4 1 4 1 -711578010: 4 954 474 187 887 -1592: 8 2 6 1 525 3 1 7 143 87 -7567457: 631 56 950 11 7 -89724: 64 6 203 105 185 394 -10565637356: 5 56 377 96 3 1 73 5 4 2 -4792246: 1 4 77 3 8 9 8 9 4 5 9 6 -4951: 9 6 7 2 9 5 3 -220884971223514: 474 466 9 712 23 514 -1910495: 210 9 9 6 1 43 9 6 3 7 4 5 -1711476: 4 8 9 6 2 8 1 18 9 383 6 9 -56819123: 5 520 240 956 2 5 -22701435: 1 12 72 407 664 603 -943269: 6 1 2 75 8 131 62 1 4 3 1 -684976150728: 90 174 1 76 7 5 81 54 -36040: 67 388 382 43 49 -18116058240: 1 43 63 3 1 864 215 3 4 -9574204: 7 75 647 9 789 6 81 1 -32200: 1 9 30 35 23 -9831: 3 90 5 2 5 6 -4368: 44 9 34 6 8 -51632093208: 7 1 287 655 4 89 9 7 -378088896: 62 4 2 914 834 -4819853: 25 82 55 819 38 -14655314: 6 9 52 828 4 84 93 2 -3593362626: 6 24 50 225 91 1 117 9 -266235417: 7 7 9 74 67 3 50 3 3 7 9 -4615721289: 71 797 427 9 4 4 7 639 -5108492031133: 90 7 7 968 646 81 9 2 -327638: 3 52 6 1 35 -2534: 426 4 94 602 56 78 -75442: 2 12 4 4 50 516 115 4 6 -314880394762: 320 164 6 394 764 -21219287189: 70 535 1 869 652 1 -9168: 84 6 7 516 8 -279388285046: 8 465 3 1 3 7 6 7 550 43 -13450525: 65 8 781 175 3 9 -179797698432: 2 968 946 303 54 6 -479001668: 308 8 1 27 300 3 8 65 3 -366921: 58 2 50 419 59 -308689423: 1 29 868 9 424 2 -48444576404: 48 44 4 57 6 404 -568888103559: 6 95 69 8 3 4 99 5 56 73 -343877037304: 985 886 436 63 8 -4386277350: 13 987 53 86 75 -2378904521: 5 19 581 431 24 -7758: 843 3 8 984 6 -413120526: 67 26 491 69 7 -425332: 4 421 26 7 66 -516566: 3 4 23 53 1 5 653 7 9 6 -1023358353: 7 538 5 426 82 637 17 -2470025504: 7 9 7 7 8 2 77 148 504 -308762622: 8 910 738 83 4 8 6 1 -154407150848: 5 9 7 8 8 2 9 7 562 60 8 -17634: 8 9 634 -450592: 2 3 445 59 2 -387052428: 6 6 6 5 933 4 7 88 2 426 -34926021250: 91 4 24 9 602 1 1 8 7 66 -1616641: 4 36 79 14 37 -58333671: 79 5 7 570 6 664 703 2 -122527: 720 217 39 249 30 -4765512: 2 5 4 7 98 6 4 6 4 378 2 3 -1432: 4 343 9 1 4 8 -23112862: 83 36 2 914 2 592 -1090765: 39 79 79 9 7 13 -72509: 72 50 9 -201027: 40 9 3 7 6 473 -39123912115: 3 8 899 411 8 112 -6136325: 939 81 8 94 8 5 -45621014: 83 8 241 73 30 5 -4724738307476: 7 7 216 8 3 576 8 4 2 9 4 -26290: 3 2 1 6 5 90 727 1 363 -3031608: 6 148 561 8 53 8 -1377: 95 3 7 550 29 7 499 -19834: 7 4 268 -783511509: 95 43 38 821 14 -3288842180462: 82 2 210 54 4 4 4 45 7 4 -484: 4 460 9 5 6 -2519409274: 3 85 2 6 13 1 185 5 1 2 4 -760388283731: 3 90 79 2 7 6 5 8 9 26 1 1 -198119: 6 5 9 99 121 -452284: 5 632 710 13 1 -37436854690509: 671 988 367 6 70 253 -227160009081: 327 9 507 80 75 908 1 -87988735: 877 1 6 272 735 -14121187: 1 419 3 79 334 -6877248522: 19 3 2 6 9 5 1 8 8 7 513 7 -1026117: 9 95 6 57 1 2 -5827398923: 298 1 65 54 663 3 23 -495795976: 3 682 3 3 2 9 5 4 496 8 6 -1829: 3 55 1 8 497 4 -94865: 5 935 260 32 77 1 -537: 17 9 3 -214232862: 471 96 9 3 74 53 5 20 9 -161032340: 3 7 3 8 7 69 8 41 88 12 7 -1320891: 5 8 11 9 891 -16202584: 8 48 9 333 248 -52556323: 3 2 7 4 52 1 2 6 314 7 2 -3458493705: 9 929 76 221 341 1 8 6 -1429440: 300 76 59 965 60 -51719895: 6 8 3 80 1 7 2 3 437 894 -3637900448: 327 561 61 7 7 8 731 -4803971810: 632 101 5 760 410 -8523057: 4 8 7 9 9 864 1 4 5 1 669 -1506471912: 10 22 9 17 83 8 99 -187923899: 6 9 6 6 994 5 7 820 7 3 6 -204934: 16 9 8 601 34 -10378874447: 3 3 59 3 3 642 34 814 8 -34485753: 43 1 8 1 4 642 111 -288644076000: 48 25 635 622 609 -630886: 6 8 7 5 9 1 638 9 5 40 3 3 -110160: 37 7 4 90 958 90 -24186155: 1 3 4 85 8 6 774 29 7 -402954366: 6 3 9 56 2 3 2 35 1 9 3 54 -6755973358: 66 1 5 25 34 1 7 3 358 -67363154: 126 685 8 45 780 3 6 5 -285964221: 952 598 1 616 1 3 23 -264232: 7 4 12 1 2 33 -71286: 1 99 4 7 1 648 6 1 -734329140: 688 46 32 9 1 40 -51943: 3 787 22 1 -476596: 6 5 880 64 8 6 5 3 85 -1380: 46 6 5 -28011827935397: 9 5 1 2 925 1 7 955 3 9 7 -294720: 163 2 3 8 558 3 1 96 -67: 8 8 3 -9984210999: 1 38 870 3 302 3 7 2 9 -3998862: 447 892 2 7 2 213 -4142481: 23 8 9 5 3 1 8 5 7 9 -11784606857757: 8 2 36 7 5 1 8 761 973 9 -1329: 2 9 19 4 9 -271929206545: 33 103 8 920 64 60 85 -9949987386: 479 261 239 301 333 -588095365: 188 465 38 87 69 85 -1693813434: 470 5 204 6 69 2 5 4 34 -592803534: 988 75 441 8 8 -22449547836: 747 1 2 9 8 3 3 2 47 836 -1186939560: 471 6 2 7 65 3 1 2 1 3 5 2 -64276258: 172 8 39 7 974 292 50 -22212455826: 43 84 7 7 883 993 99 -1215695: 9 707 13 856 767 -38097: 824 23 9 53 2 6 63 -24728256: 6 1 848 5 9 4 19 2 3 9 1 8 -70704: 1 740 7 269 4 -963: 3 8 3 86 5 4 6 1 817 3 7 2 -3588456480: 42 71 972 140 6 -298882200: 877 8 71 98 2 6 -839197668: 8 3 4 6 3 447 8 3 9 5 668 -613568: 1 96 1 3 2 48 2 6 75 8 8 -2008: 28 5 82 9 8 -6077386: 57 2 26 1 6 957 78 11 -1408: 602 6 6 4 790 -2684664: 9 73 86 6 54 -2416491814: 9 33 54 38 7 568 -95367: 6 6 84 33 5 36 2 2 9 3 72 -2952934851480: 628 284 47 51 480 -496516537: 58 4 1 371 85 -20002192714: 36 3 996 8 5 98 94 716 -12557514: 67 99 7 73 1 4 45 7 4 3 6 -42204: 76 71 47 3 2 603 63 84 -5540549: 551 20 285 1 13 35 -14458: 65 27 8 182 219 17 -222257560552066: 39 77 4 80 54 8 740 66 -49621070: 9 6 2 75 2 7 5 8 5 914 7 3 -286985509: 49 748 5 87 2 9 3 342 4 -217459: 3 6 151 4 4 -10880465149926: 1 34 3 267 30 246 81 -115569756542: 9 7 7 3 56 97 565 34 8 -19540053: 47 664 6 626 89 -1100135: 13 65 1 563 17 14 15 -14116534: 59 4 7 40 9 72 7 -13978309529631: 774 25 885 4 54 4 1 51 -5120326: 1 510 9 1 326 -886738104: 78 29 27 84 58 63 -192490: 4 92 2 395 95 -12856134373: 9 50 5 2 7 7 60 2 2 4 713 -28761847: 6 98 1 3 91 43 6 3 4 5 7 -212784: 15 92 22 886 93 -1064532685: 4 1 9 211 6 6 1 805 6 85 -459693111: 3 9 57 39 548 29 4 8 4 -655199: 3 3 2 2 60 60 -67369104: 5 279 981 7 3 1 7 5 2 3 9 -38174772: 190 87 386 2 3 -1109: 1 99 622 19 369 -1200192: 6 8 23 135 5 25 4 48 -3870126: 2 43 36 6 319 9 1 962 -357278904016: 2 6 4 7 2 2 3 3 105 48 1 5 -8833713: 2 702 392 81 32 145 -4717442: 51 2 7 5 9 3 94 967 81 -7429: 73 3 9 7 3 -22441693: 85 738 7 923 51 6 4 -1460217600: 9 99 9 8 113 9 303 5 3 4 -80049209453: 85 8 4 66 615 8 9 4 52 -1096445328: 42 181 6 2 73 92 282 -20315988: 4 521 2 8 18 1 539 -4727090370: 1 5 999 6 5 91 913 56 -11976662: 1 1 8 5 8 2 6 70 1 98 6 64 -7787171057: 77 85 1 1 8 1 126 105 5 -320686096980: 7 7 3 8 3 8 78 8 4 4 980 -3211: 7 205 8 27 1 13 -20117: 6 2 42 8 3 8 469 5 4 277 -47766: 1 8 4 8 544 7 6 4 6 65 7 3 -20333: 216 31 82 2 77 -1408512: 896 4 393 -335067840: 6 1 4 40 9 2 7 6 5 864 90 -245970960: 6 85 75 501 646 -64525323: 595 2 9 9 6 183 9 5 3 4 3 -1515151: 16 2 5 1 1 9 91 1 -107014412422: 6 818 918 218 21 -6050: 458 697 1 53 5 5 -10888863804: 493 6 1 2 91 27 886 -14863629: 89 8 258 508 8 1 2 6 31 -4956: 4 603 7 340 6 -272910: 5 1 28 8 174 88 648 -48097: 7 1 2 1 43 6 86 1 9 98 4 -152711714183: 90 4 62 4 54 181 20 9 7 -3935475: 80 7 2 211 1 7 -27681695038: 2 1 9 6 67 329 64 351 8 -124189056: 643 6 67 96 3 -34955586: 695 4 11 17 1 5 -576720450: 2 8 1 190 5 1 36 5 9 4 5 3 -106531141: 93 44 928 311 39 -45391948: 3 601 8 9 54 8 3 7 8 2 8 -1902304964: 3 97 35 5 8 37 37 57 5 -1245: 816 339 8 6 2 4 9 2 5 54 -91641578: 29 8 395 837 741 -86158666362: 2 6 70 8 220 848 76 2 -75426432: 3 121 2 9 3 3 6 2 89 8 8 -45203862847: 8 753 54 39 3 11 8 4 1 9 -1503: 7 742 688 63 6 -1910635650: 1 9 5 5 5 64 6 5 6 3 737 5 -545187456: 5 6 4 471 87 8 2 8 384 9 -857376: 5 99 916 9 1 -44770397: 63 95 7 7 4 94 -28047: 7 46 4 86 9 2 -18585855: 6 9 5 343 5 5 8 96 -38352707369: 77 1 2 9 4 113 5 867 2 1 -6310322137: 62 184 918 75 47 1 35 -109342: 467 3 78 63 1 -19118473: 8 47 2 5 4 94 12 4 -82914917: 3 853 324 5 8 1 4 16 16 -57748841: 577 4 586 298 2 -3251746104: 5 50 60 17 72 82 9 13 -178494: 1 62 67 9 728 64 -50056: 641 9 2 3 483 8 -47350: 26 3 759 159 50 -67593: 4 2 1 84 21 372 -83376911: 36 386 6 91 2 -335413587: 9 2 77 55 36 44 -70364: 92 6 718 -132846367118: 632 6 7 3 367 119 -547675: 1 9 537 586 89 -31931928: 1 73 682 862 49 -35304: 27 94 5 6 1 27 755 8 -531051: 1 434 8 4 9 19 2 2 8 78 5 -461616611: 6 833 5 9 549 5 670 8 6 -343363: 6 6 8 37 16 29 4 -25480: 3 1 11 26 70 -1653303: 14 9 574 17 586 13 -678732: 2 9 5 3 6 7 1 89 8 4 155 5 -6796293: 190 48 8 4 54 43 69 -12842869456864: 6 4 214 3 47 27 5 7 1 6 4 -14397007437: 568 267 12 879 5 9 1 -880304454: 2 4 104 7 6 16 3 76 8 6 8 -18072257552: 8 61 5 668 41 930 59 -31216833: 6 24 33 27 26 5 70 -33643649656: 8 4 7 8 945 491 49 653 -365450360: 804 99 22 1 54 9 35 85 -5946173: 76 46 869 6 173 -213978: 2 17 79 167 75 -5037020668: 2 25 37 50 6 5 8 4 54 6 5 -653934708: 5 3 5 33 3 1 703 8 162 -3896904: 7 793 43 5 104 82 -3226: 437 222 341 613 2 -81942324826: 7 6 657 6 8 6 8 7 53 2 1 4 -2160750: 837 5 43 2 3 -198732: 31 659 96 4 3 -170898663: 18 9 88 6 50 57 9 300 -28120999: 4 1 1 59 40 5 15 5 997 -11379563100: 81 6 4 228 113 9 2 5 2 6 -342732047: 52 589 1 51 6 31 3 1 1 7 -9161: 868 44 99 7 9 -44467433: 3 947 499 7 430 -3435401: 356 965 2 -258803: 2 7 5 3 308 4 3 8 50 7 8 7 -31256107765586: 18 5 818 488 65 87 86 -209945274: 60 30 99 6 2 7 561 -9014976: 37 36 47 6 24 -12718835413: 61 28 50 6 14 911 11 -8687463: 24 6 791 6 3 -22272: 2 1 2 232 24 1 -15225570: 16 9 20 2 9 9 4 456 44 5 -1193094: 8 731 4 2 51 -16046: 90 70 51 1 24 8 66 8 -4403024730: 4 7 76 7 7 729 90 18 30 -28336268: 3 68 77 2 67 -301438993: 557 2 256 77 7 9 -161487419: 702 1 169 23 532 -194081938: 4 6 6 6 50 2 16 6 643 2 -1746520: 3 9 5 3 7 5 651 3 6 7 6 41 -67383: 673 8 3 -50297: 6 1 10 6 303 -497381797: 69 6 4 5 9 6 9 518 79 7 -45: 8 8 2 7 6 -490: 7 6 1 5 7 -4363239498: 5 6 6 2 5 5 6 7 8 680 6 76 -530469: 3 6 858 41 7 45 85 3 27 -7214986: 9 88 1 8 73 410 54 809 -967324: 161 6 1 31 8 4 -3905608: 185 95 21 56 1 97 -3315232373: 7 1 8 8 74 323 71 2 -1952584313: 6 1 5 4 14 2 84 2 7 7 24 3 -697: 623 5 5 66 -213749: 31 86 8 46 9 -4587919: 12 41 288 3 919 -462318: 77 6 182 58 79 -13958: 55 4 752 89 5 -684975: 743 1 61 281 15 -276312: 50 44 5 9 69 29 -759155: 8 4 5 9 1 355 2 2 436 6 1 -2140786: 201 834 47 44 406 -82350: 79 30 1 7 6 675 -292818: 39 82 1 49 9 1 48 9 75 -20825303: 59 40 7 8 7 180 20 -60780774: 50 6 97 8 202 3 5 3 5 9 7 -20537398770: 600 224 6 9 2 3 2 764 -259627: 63 7 3 220 67 476 3 -436821: 1 50 5 5 780 7 4 5 4 3 6 3 -1664391: 35 432 2 2 891 3 -330191: 714 5 92 90 611 -2525156: 7 865 4 6 3 3 4 8 167 5 1 -1653324: 3 8 3 66 495 23 -97856: 26 46 195 217 32 -612: 62 481 63 3 -44581500402: 56 3 434 1 795 219 -32075707507: 606 6 7 7 1 7 6 3 8 5 50 6 -1136: 6 8 1 99 5 -9122831: 19 16 784 93 27 93 40 -1279500544: 97 2 8 35 471 4 1 3 98 1 -901382145: 90 13 819 2 47 -45227: 864 4 1 2 3 67 25 7 1 20 -10812221: 2 54 114 8 21 -93159765: 1 930 5 976 5 -1404522241: 4 3 3 7 994 90 1 5 8 9 4 -78765: 9 99 1 71 8 73 -10764570360287: 8 7 4 6 91 40 587 5 7 4 7 -285978: 27 45 110 4 75 -15955199920: 87 5 24 79 81 8 55 4 2 -112128: 365 8 42 3 27 -3009824160: 511 4 2 8 8 76 29 632 5 -16434357: 9 74 3 66 35 8 -39529: 1 6 6 29 41 4 3 9 -156026125: 9 9 57 72 2 8 1 32 33 4 9 -73428768: 213 4 57 21 1 9 8 -11712035: 42 818 91 340 55 -1272102: 9 5 96 3 7 50 6 94 -13573956: 31 4 9 391 789 -242324: 757 5 8 8 84 -3130: 330 3 2 3 693 757 675 -31358486736526: 3 919 8 8 867 365 1 1 4 -23163457: 10 3 5 3 2 9 4 8 4 1 59 57 -3367569: 1 7 29 6 409 8 7 532 8 1 -44432361044: 54 85 135 64 3 5 6 44 -29581531374898: 295 815 31 3 743 5 9 5 -2481264485: 2 479 34 192 4 415 67 -36332832695: 1 5 4 2 476 5 1 230 99 5 -10150657: 4 2 8 53 570 7 9 17 6 65 -83620425: 2 4 9 475 707 -38795: 920 7 6 143 12 -54222210: 9 92 89 5 81 146 -324091: 4 3 385 2 1 9 7 70 5 8 18 -10533762: 59 1 26 5 15 8 5 3 9 -4884809762: 2 3 3 3 8 860 91 2 4 6 3 -2642160: 2 3 4 3 8 63 8 286 5 8 3 3 -197589: 6 8 5 736 9 158 59 -12024: 110 6 8 2 9 -75189063: 888 2 672 3 8 4 3 2 8 7 5 -7551584667: 304 92 83 21 27 -5368844: 49 791 581 36 11 8 -7590272: 5 2 5 5 1 2 6 9 683 582 9 -25835640: 5 33 3 956 9 276 6 4 1 -18285992: 3 58 967 310 20 2 -9099208719996: 8 940 121 871 9 9 94 -1013436: 66 415 37 6 -8452: 3 9 7 5 4 -902510: 5 722 25 7 3 -69876: 7 55 32 14 647 -2744: 20 6 63 49 34 -7489418400: 2 551 1 217 3 78 8 49 2 -2151596379: 30 4 9 3 9 3 9 98 8 882 7 -234735729: 234 73 5 726 1 -78987524814: 76 167 9 691 9 5 8 14 -113571754565: 81 2 57 48 956 792 3 5 -3052805: 525 37 96 58 91 -304167: 87 93 124 161 3 -1051155: 558 5 308 89 7 3 53 47 -5066612: 6 261 811 2 470 1 5 6 6 -628014: 51 5 92 5 43 2 3 1 5 8 6 6 -1770831233: 76 233 3 1 231 -4235592666: 423 5 5 92 665 4 -6784: 4 77 21 4 8 8 -13258948651: 929 8 713 2 654 -14466762: 3 15 18 17 27 -958180: 7 4 28 8 7 188 180 -693430: 7 33 3 421 11 -35127451: 89 7 310 291 37 51 -14920080: 3 5 71 69 5 415 56 1 -6161459348: 3 7 8 584 41 628 -74584001436: 5 98 5 88 9 8 8 137 6 6 -680498063439: 921 51 7 980 634 33 6 -1010100: 6 3 7 9 424 54 2 78 4 4 6 -27480817504: 916 30 8 17 45 7 44 3 -33052: 7 988 6 33 19 -3297: 289 99 8 146 43 4 -13673373568: 5 2 6 4 8 81 5 2 5 3 568 3 -91986147503: 415 8 4 3 1 4 299 7 4 79 -887695534: 7 7 634 8 80 37 38 36 -108702: 5 49 303 2 96 -10115040: 71 4 3 6 6 5 2 624 -29945841: 148 2 9 56 573 2 20 -1294927056: 4 2 5 119 9 9 4 6 93 74 7 -2970: 87 797 54 26 26 3 -2818449110: 7 8 368 982 2 5 -504694019: 38 8 2 891 15 3 3 40 19 -3314292: 33 133 9 92 -521850: 71 96 1 8 71 7 6 -1337171983: 329 9 4 8 4 7 2 84 7 6 6 1 -64964: 228 1 420 6 3 -8151404809: 97 3 35 32 748 9 -2309014488: 11 9 2 6 329 7 78 1 9 3 5 -1001843: 997 3 8 4 5 93 50 -10989423299: 131 4 2 882 9 78 32 99 -540384177: 6 928 78 13 4 7 -293878: 79 7 3 83 8 308 48 -251376048: 45 226 822 363 63 -16601364: 4 40 5 960 53 64 -2350952: 4 27 43 5 946 5 -847053286: 4 98 434 90 9 918 -2709: 2 9 8 1 17 4 7 495 4 6 4 3 -2263207: 36 984 736 6 9 -10796424750: 8 6 395 23 3 75 1 -248133271: 7 9 38 3 7 1 654 7 4 9 8 -28882553: 38 95 4 5 2 8 1 30 623 -33817833704: 403 17 57 878 91 954 -1531428: 6 96 664 393 4 -3373286: 290 2 6 7 83 -72660260: 4 8 1 59 9 3 6 583 19 6 1 -5143084626: 8 984 164 64 4 4 623 -42799: 4 18 92 49 860 -280854: 655 77 11 21 18 -64059: 54 73 4 489 -1976: 95 72 34 8 9 95 -43345725708: 91 62 3 9 247 192 2 6 -1697645278: 305 9 475 186 7 6 9 9 4 -27892: 77 5 7 2 46 892 -33528: 2 8 76 2 6 -26498810: 441 59 5 61 7 6 -458616828: 979 950 52 25 9 -6009386: 48 92 9 5 853 -666688: 5 8 71 6 61 8 42 27 -644785225: 81 487 8 495 68 6 77 5 -657279163352: 9 927 7 5 58 276 703 8 -1066: 198 5 2 72 2 -81578: 79 93 9 11 662 -281: 8 85 3 1 2 -7288: 7 4 44 77 9 -3873096: 3 641 579 2 774 -227429: 2 217 8 8 5 8 1 3 8 8 1 36 -11260555295: 918 538 6 38 93 2 -56797885950887: 873 81 363 650 887 -1700538: 5 9 583 451 106 6 534 -2143: 2 986 547 545 63 -117304: 2 9 62 2 86 -19233: 21 9 3 2 1 3 -858728: 8 5 83 3 88 2 39 -174642220249: 6 3 7 33 60 8 8 860 7 4 9 -33150846: 65 250 30 68 846 -1043570077: 9 1 325 493 227 -1003068: 618 2 5 9 7 6 86 7 2 9 -1118262560: 2 994 747 7 12 5 -24451135158: 73 587 745 858 446 -1690468099494: 8 555 52 38 9 9 492 -122849868: 6 16 4 354 4 8 67 9 417 -65292: 2 63 29 4 -364874424: 265 3 73 7 5 1 1 4 6 1 7 7 -92920996540: 891 421 4 983 9 6 2 7 8 -983596468: 6 2 773 98 77 8 -15348995: 377 6 7 4 994 -11322109: 555 204 4 9 62 -21008913: 2 8 2 4 777 23 3 5 26 -5511608387: 646 878 7 6 8 5 5 5 9 5 3 -38885805634: 617 3 6 5 5 41 9 2 1 3 7 4 -774117: 8 462 27 61 27 -1154452731: 2 74 78 5 2 731 -15866020576: 3 32 276 629 4 952 -2828343: 880 6 76 4 42 63 -2191427: 14 3 513 368 30 1 -13067: 9 71 2 1 9 8 2 932 183 -4962424884: 6 2 271 2 4 21 3 591 6 6 -358305: 39 81 3 5 3 -65118348247: 911 460 674 106 7 -5801335: 3 5 2 7 19 80 21 5 335 -1738801: 68 1 36 70 2 -21307: 4 760 2 7 4 9 -92236167: 96 155 523 6 3 998 9 -8770607861: 8 7 70 607 8 61 -16293412126: 7 9 898 8 3 8 27 7 2 6 4 6 -325741871: 3 7 9 4 340 70 1 7 643 -27855783: 5 97 72 693 646 60 -101072: 146 690 48 5 279 -419051520997: 89 35 536 24 875 -305418037: 16 5 65 7 6 770 3 132 -755099: 744 44 8 65 877 -3188444: 5 5 2 16 5 24 383 6 9 5 -2054: 232 6 8 59 91 -481995: 94 2 39 9 5 -64736: 7 3 1 9 9 1 43 3 44 6 1 56 -1121759: 70 381 9 7 8 6 8 6 1 7 7 9 -163260849: 90 907 2 670 86 7 9 78 -1266721: 8 1 8 3 65 4 414 7 3 5 4 4 -48397230: 7 6 8 6 8 5 6 57 6 7 3 126 -26216: 12 64 23 11 7 3 92 -453475: 1 5 17 52 31 85 -27363: 79 1 341 19 64 -191920: 9 2 4 420 47 402 464 8 -3973459430: 1 17 201 7 33 21 7 430 -33778428: 190 584 4 613 76 -163842074: 6 7 9 3 9 9 893 3 785 5 9 -182: 2 165 8 7 -39786132: 26 51 5 6 6 130 -470868123239: 8 82 4 541 3 2 54 482 2 -5820: 332 632 6 30 6 -8729763849: 5 91 995 51 448 4 9 -25984365: 884 1 59 33 835 -56955254: 5 564 54 916 337 -1710: 4 46 545 2 317 782 7 7 -97677863003: 50 179 817 786 300 2 -306965793: 71 288 36 1 417 -563200: 7 3 628 120 88 -519115509: 4 44 8 7 5 98 71 3 -2013797035813: 67 506 307 9 660 1 1 -103324: 8 1 27 478 73 -198216: 83 28 85 669 7 -94090: 54 53 9 7 97 -440928: 9 76 57 91 33 -586: 1 74 8 504 -1239389: 233 2 2 3 879 -3524032016: 3 8 2 11 307 8 7 8 8 5 2 8 -12327037: 35 22 5 7 37 -171779832: 4 89 17 5 652 697 -580729169176: 7 10 2 591 146 147 8 -7738083: 229 6 84 392 5 -6428270: 686 764 95 1 231 18 2 -213249: 809 1 883 126 44 1 13 -317722752: 3 4 5 3 646 6 778 4 2 2 6 -20592132: 68 83 4 299 2 -1883551824: 4 5 9 1 8 9 3 5 890 6 8 24 -6464916: 9 922 8 868 6 46 -58421376: 663 2 46 3 38 3 332 78 -9543117: 24 7 3 1 44 70 11 64 7 9 -12870: 9 8 7 9 390 -485867969623: 8 603 994 9 6 195 8 8 -105315: 36 8 99 31 72 9 413 -8284: 4 5 17 5 91 19 -883213593: 7 8 2 7 7 1 2 167 1 7 9 8 -41864454: 54 88 60 87 54 -39433286146: 1 3 144 3 5 2 76 7 3 46 -78733223: 9 5 828 3 8 1 621 1 9 4 -25970: 41 1 5 52 265 -4308565248: 6 871 4 57 113 8 4 -763796508: 60 2 5 318 61 9 35 7 9 4 -21358: 2 6 3 99 59 -3507309037: 16 951 93 1 390 2 7 5 6 -88911062622: 56 70 85 3 74 62 620 -13623775: 5 3 3 641 6 4 885 84 1 -414677448: 414 6 770 1 4 50 -108162: 1 4 21 88 17 1 1 6 486 9 -18345600678: 65 98 960 3 677 -211524321121: 9 3 6 2 41 62 8 96 70 73 -20589489: 935 2 59 627 22 -198069200: 2 58 12 5 889 16 -23229919: 5 790 7 4 2 4 7 3 386 3 -39436947: 3 925 9 7 7 3 20 4 7 1 2 2 -143712905: 920 292 155 765 5 -930461: 860 68 5 2 9 9 3 8 2 1 2 -63976109863: 887 9 2 7 131 137 33 8 -17117103548: 2 85 66 91 354 2 4 -81246444492: 3 809 4 641 7 26 1 492 -307812: 8 5 84 8 732 7 1 2 3 4 3 -6787: 4 3 8 76 6 47 442 89 6 -98648197: 72 9 54 46 152 2 198 -168209: 90 55 580 2 9 -1793: 9 91 61 4 899 8 2 -362178006: 36 38 75 353 8 -100825683: 80 30 95 396 414 41 3 -27088: 61 33 35 96 8 -347904: 4 53 768 -91426378: 52 51 13 67 345 97 -24541687675: 2 45 527 2 6 29 19 82 7 -993266: 4 2 103 16 44 66 -2555574: 56 455 5 574 1 -3810459059: 4 5 4 2 96 2 5 82 6 4 5 9 -36468: 91 4 68 -57715681: 31 4 365 816 2 -993036: 357 276 769 2 3 -23381016912: 953 70 757 3 629 16 -9369: 84 9 6 9 -8440459776: 2 1 4 80 2 32 8 92 72 62 -4881608697731: 4 9 1 9 46 3 4 6 7 1 7 728 -117610: 64 47 25 6 56 38 -241726884: 9 37 8 72 426 6 769 81 -14946245: 3 5 5 8 73 803 1 3 6 96 2 -3026319: 4 9 689 9 479 -104261: 467 81 223 15 19 9 5 -24114775173: 6 693 357 8 755 267 2 -55835511406: 83 738 68 7 511 406 -202914: 86 1 582 94 4 2 -220344: 7 5 751 564 4 23 3 1 -975114559: 3 7 88 7 4 3 981 5 4 1 8 8 -5190749142: 52 1 41 9 9 1 3 4 68 3 4 3 -3121654437: 9 35 991 44 36 -259710723718: 5 347 11 15 162 3 840 -267304573: 8 3 2 41 12 148 9 5 73 -46092: 35 47 775 140 9 6 2 1 -459838722: 1 5 133 84 6 6 3 4 92 1 -422154208: 4 1 491 2 47 209 -28957825142: 7 3 448 6 945 1 228 5 2 -69550: 58 59 8 2 773 488 3 50 -423881584: 86 8 2 7 9 71 8 954 7 6 4 -435262699: 8 5 2 8 187 8 9 32 3 3 3 2 -536481853: 958 56 18 25 29 -163018: 815 2 18 -151801017: 8 9 68 807 31 -317445283: 8 53 6 7 7 6 52 9 8 1 801 -6693248: 660 9 32 4 8 -3037037133: 72 187 7 37 703 713 2 -406681618: 38 21 245 81 619 -1182198: 841 1 234 5 6 -1639: 15 1 59 75 3 1 -21496: 141 68 2 99 607 -4014: 59 387 9 -30336922: 94 5 3 8 4 8 854 7 9 33 2 -7833789: 87 9 374 4 3 5 -39981905: 25 832 6 3 466 376 1 1 -523774: 9 3 1 45 3 7 3 2 8 240 5 -278262534: 9 2 45 9 1 7 3 1 6 83 9 6 -594309628: 594 30 953 5 93 -1401025277578: 39 8 44 8 15 3 6 697 4 2 -11871: 11 9 9 10 58 9 6 -11059783: 763 42 475 3 2 72 4 6 -15116568192: 234 52 29 864 528 -4434: 71 1 1 27 6 -4188969400770: 50 7 51 835 8 9 4 2 5 18 -170: 1 18 55 -3279: 3 2 7 9 -50575: 7 3 6 7 2 4 844 431 9 5 5 -6049688: 9 80 2 84 8 -656467638703: 6 564 67 638 705 -24565893: 7 87 8 1 8 8 7 5 4 6 287 3 -23820995: 50 8 2 638 63 872 73 -80039400005: 26 5 44 750 8 646 1 5 -611696: 275 278 8 86 10 -179: 3 8 9 26 54 -187939: 18 1 6 9 7 7 8 5 58 332 9 -12840981: 1 8 7 8 535 1 1 2 4 853 2 -54341: 52 6 6 87 51 9 2 8 7 301 -967: 112 4 512 7 -38049: 3 804 8 -795: 6 52 30 9 3 -11859: 3 1 32 86 852 -4435056: 5 635 67 8 171 -37365640: 3 292 38 555 397 8 -78655270: 9 1 2 7 27 9 917 4 6 5 5 -941684: 2 35 42 4 4 -302874592: 6 5 287 459 2 -9264: 86 2 7 3 2 447 170 2 8 -95: 6 52 37 -268834786: 4 88 753 352 603 902 -6909118: 2 2 1 2 8 389 4 9 57 372 -7509504: 8 7 2 8 757 4 5 1 6 8 4 8 -361004: 8 64 87 570 8 95 -8574202529: 2 15 4 997 25 28 -787: 2 741 2 6 36 -37666754917: 1 98 74 734 3 53 97 -3808280279: 7 15 7 8 4 5 67 7 2 77 -6055948524: 4 4 6 9 7 4 75 4 8 519 1 7 -338755517830: 5 2 837 5 568 4 5 404 7 -109122588638: 3 400 46 909 774 638 -71930: 7 428 8 8 3 -788647: 2 5 886 4 9 -35762875199: 1 61 2 2 75 1 5 2 2 730 2 -18124: 374 1 402 58 330 4 -3456278: 72 48 199 77 -2685: 20 9 4 591 -99036: 9 8 335 697 4 -15675050267: 114 275 5 50 267 -108600995: 229 6 988 4 8 -122274: 9 392 5 20 624 9 46 6 -730044702: 814 782 8 7 4 3 4 3 1 3 9 -13241870: 6 757 65 267 2 3 -471077320199: 4 1 7 3 8 701 8 8 670 6 2 -31725865643: 64 6 5 45 8 52 1 5 7 643 -9428926: 49 41 4 289 26 -99689: 987 71 916 -167296160741: 5 4 7 96 3 462 9 5 22 3 9 -1340053: 3 2 3 85 9 8 3 70 95 1 4 8 -4903668: 272 6 195 4 671 -1180351: 8 58 239 387 1 -4955137: 830 1 153 4 3 2 7 9 7 -11990: 8 5 9 7 4 18 3 9 69 7 6 5 -13446985: 91 72 18 716 74 -724110: 94 2 2 1 5 59 4 3 31 942 -56109: 148 961 5 66 2 -8028913: 200 7 152 63 4 53 -2641584: 73 906 3 7 4 8 1 8 8 8 2 3 -143505: 1 96 7 58 7 20 5 -1127015: 53 3 350 7 2 -401603: 2 131 318 889 96 568 -234: 2 154 34 43 1 -9590766: 48 5 1 3 846 6 6 -3452: 306 2 11 66 -1430529: 2 110 44 917 9 -94873923: 7 64 47 6 51 92 8 15 -460484427: 3 9 6 6 8 59 5 9 6 2 1 383 -625: 9 4 3 420 164 -128758913: 75 958 684 24 5 70 6 -1088990308917: 7 7 5 398 432 7 8 2 1 3 9 -34976: 7 38 8 400 77 95 -8983256: 58 27 717 11 1 72 2 8 -40900: 4 1 508 3 3 6 39 42 4 5 5 -6686266236: 2 329 786 257 33 -58787: 4 1 2 5 863 8 4 4 8 76 8 3 -128914226745: 1 2 9 78 836 3 6 8 395 3 -419: 8 280 4 42 85 -129098342441: 8 587 28 245 98 2 4 43 -997478: 8 659 8 3 5 83 59 8 142 -201341: 4 82 21 35 4 -1347: 1 281 90 918 57 -30404749: 6 62 6 1 8 8 92 7 41 3 6 -4983: 4 78 6 14 3 1 -833843: 5 6 758 39 4 -16286077: 811 1 7 2 626 77 -622577340: 2 3 651 42 5 759 -702: 2 14 35 7 2 -257108549: 119 935 3 84 968 5 -10656373: 562 23 9 769 91 1 -13293389391: 850 9 2 2 862 785 947 -198606000: 246 1 2 7 5 8 6 4 6 948 2 -7772652: 4 9 3 911 79 1 -21590408051: 2 921 614 51 747 7 7 3 -37153326656: 95 311 8 8 16 6 614 16 -229700: 45 638 8 6 7 7 -50009844: 5 7 1 1 1 301 1 395 852 -152: 5 1 3 -3597311785879: 35 973 11 785 87 9 -122227110: 154 95 52 37 246 5 51 -18124713: 66 4 5 48 658 994 9 4 9 -90902: 11 92 860 94 86 -2652432899: 92 6 59 48 891 2 3 1 -1676: 9 8 61 3 2 4 418 71 98 1 -39951147: 44 385 5 9 61 89 -209614080: 1 6 8 9 6 8 4 5 7 95 2 544 -606458715: 8 5 666 9 1 2 467 52 7 7 -9558776: 34 878 16 3 1 5 8 8 56 -3424: 4 25 4 78 48 -149: 8 4 60 1 57 -12700428: 3 9 3 2 51 6 7 3 36 77 6 2 -7665133: 991 31 75 47 86 -21986: 1 223 96 7 570 1 -46931769062: 7 17 713 7 3 9 8 7 3 7 7 -40929106510: 6 5 50 1 827 61 9 9 3 7 3 -31086928: 6 6 471 688 8 48 183 -7116070: 3 4 947 57 76 10 13 -54096: 33 6 7 23 -1430826: 85 362 64 7 1 5 8 5 6 5 2 -442152: 4 44 2 276 9 -29440969: 89 875 9 8 78 6 7 607 -75669678: 7 5 7 41 1 53 6 239 414 -939849096: 6 736 9 8 7 49 6 9 79 8 -27390016949: 1 6 92 6 62 2 443 4 4 7 -3110383666: 1 2 13 954 73 28 313 -6636272641: 53 2 2 6 1 6 2 1 6 56 639 -453812261177: 31 509 2 7 823 175 -28605822: 8 57 99 41 324 69 9 9 diff --git a/2024/08/input b/2024/08/input deleted file mode 100644 index ad91e12..0000000 --- a/2024/08/input +++ /dev/null @@ -1,50 +0,0 @@ -....h.....Q..............Y........................ -...............................Y........C......... -...............m..........x................B...... -........................Y..............qB......... -......g4.........................h..Y.....q...c... -................n.....R........................... -.......................................w........5. -........g...m...........................w5........ -..n...........R.1................W.......q.5...... -.........h...n.................e.................. -...............................R..........B....C.. -.........4................................5.e..... -.......0..4......n.......x..w..................... -.......g.....m........x..b.....W.....B.......w.... -..............m........................3......C... -........q...0.......h....................C.3...... -..................3.....................D......... -...............R..........3.............X......... -..............................W............k2..... -..........7............................2.......... -...............A.............................X...2 -.......................c...x...................... -....................................d............. -.....1......................d..................... -...........1...........................e.......... -.........0.7K.........................2.........W. -...b......0.....A................................. -......................1....ic..................... -......b......................i.................... -..Q.....b..........................A..E........... -...7.........................V.................... -........A.....................v......d............ -........v............c...................8E....... -..............................V........8.....E..N. -......................6........................... -.......I....M....................V................ -...G......................a.......8............... -.........r.9........a...i..................X...... -...............r..i...............e............N.. -.....H...........k....9.....6...............8..... -.v.....................6................V......... -.........v.......a........k..........D............ -Ha..........k.........K........E.......d.......... -...............y.MG..............6....D........... -.........H..G...M......9.K..............N......... -.......G.........................K................ -...............M.........I.......D................ -.................................................. -....r....y................9....................... -....y................................N............ diff --git a/2024/09/input.txt b/2024/09/input.txt deleted file mode 100644 index f882588..0000000 --- a/2024/09/input.txt +++ /dev/null @@ -1 +0,0 @@ -6622774926702567136274121691173983817579825713877722862664878496717554229415989741866544951866797768927645626425928376831961652538912573819520456961332784837114847896582553155167127048213862892166519176836541944049522192105720907435255547169280774197159518657784958641754881409029177352731592571628175564846486629636828363882572277123293449233798304459227930467053736431636065727651181788911772922153975817411193902344466924941561955686133597207650581098161899389645152543264237253658176696534176638026734445286221735922236210762999805069475547437760815525512761386270585676695531643025579033995670361219334692204277879744587185253769147965704615609069277537711136587011753461323229327374186063125189473967103781322886647261986456293981264068454474864619902097826014578169816037613698327511274044695611125232924122624356537091919818906571366078676811587246132164129426137383521117156282565852454055545531308067784639432127214929109017213070308317747735908517145193373534936774823625245347738325796547283485283060283737339078815219198118762571852535481045593432141190398990724377959630943538249920854295337085591698555166553317231761457839171956775121967718733393325127822350196131762488873489915275997345316828565961235825665040848563458397917575909724752993754537679770797328234786731920593230396096757275621097472835754475891383175372899152326465902058527878848799607494463257133313268362864252138745303252546673984711491528561825557223266270449377393396816964768947224980583132125842149494633192739113433619672712483713547070369831608831269714952265983083499128894413176341996788681925873496591764608168367071961375708780966740478282427411199428882157342060705335991246661524805972223965219619692025952959412462255248437042532419661981918999841375202729757219332810175961554756441850978316788974368258545837349019325753377593269243162735663242962237417093615854366039541352234168559427954094339688552018472352232924193525139189122989984545489111893690486998242750174076422849866757849891143025596726871344967952484226992548906767167693826340888146338536217415995353943682317136369893925742883975909235771565549695163344399634456595114593484173717611229098946253412924309651618541278323408737227288924472874317736229133371287515839414191715799894555158771224223570528511816997511845725235302825909016486820207566961869765788694933869349105260248237273338123611843054469137384884835773855898992122742424949874631797479148406312968473183353795521742710346112778130186287669659535759419734137981169725324226105624789526756721389456349349436049887720955720329769421896262928541131326559427522152653209719207989334377659227502030825089622418565734103114528587909247163256557248341037313888987597725596824280172683807264526090414997345099192672879668861257173615556941195729969534162242575222463889445556897141848751638750439263877729318493762892158740671974783096975081905142654153301613232775708425816111252075647474143556416766887814997990377293833323875843494926824912292376625081285083885143336935973076624015104586174134827395773613379055834493502220337783179718747375877525645084571738597615739129475985368111572022886179413363752162939536115199468438173322181030899039141330448311878557985133845439186530653484265247415320734947825591195766219373879071786955379073441915373255786583612698321827518547585039535151274845427689986175177917277261189943959654573970183771754064402072446851784289371964659866592611478619443657259517781473902334491267793566423565696094561610908458363316986474838783889924504273422239525869165264479532596246636572105850613130752112945627483727619335503918739812685334957850701837456810308331917996163490507148999480675465133139604430996829798155219148504347637430106258305384873547909832637746791927652833802293625220127585445824117540231659212381878934783955501658777131561387706379155072111362909755331629396347156784242013761074418899851147442769771955559982825115115990519610546670713129147396731760278161427240204796978597787139849351104348239626687616677273574325229226502741644647754646256347598040313092104234347475405222915974853224671677669581971139936730773894752331828392601040552019503077305334553441709816346942176889243479837716526344103923283069473617539521158118325463947780611456249657461239612111197673455728776156867093111386298142955394145937689592871052695531194372337136476369243144106794612911219784937483904396958641745251341955666676467294731693678628167152716348301661949597566155835889933591886053229976905491217347895981852151307910438194577539142069798675488665979137736642266042985581327179655460132883174662684533776952467196342213678497151756761797229765613260347963301645439436403186863996599944426267332475448071393425256497665310132636299954804139628575425486117633799794418474671916327762327315936521896660434445267974827431221126664241522345528648974141484591867382945460884126708389797447699732865941683659769336264826995234193584482482373584184420973116652977868537815171593450422535381950312894526134657355343566142937314581254624898016584577993994607873643659179447186847791356644075551336216090641150637869979094407642672275391696116221383062525621947716324972694560783963547574722324324824823653982018252391856893976393438678798119602868182219736489946190276632819339311291535911639872664277577025464196164825885150224777529227467124826395356421923264464678321152976320354261897556247182939896423498276634299445942829477731965781804893448117162153746485199475467251915318767636131662681731956523158643834634759328636175546653329349725297868633327158929459612338618414287333123611257215104051159249726312173227576578395666914812747570356142271342863510945427195420797630717124964229413517111556635150695453339976588412805053599479592113513026459090603835575936177813273163529745139939589638307998854559483275986353387460916814759948741094951430274523807075741937777856615263915081314734634317217675423610471428477113479627193392411135397417908426645195951523789972658016636260755251369744296695546110431528316220837180996548489038246137833154304473669280964783716767439745842186557351995737856071261041501941955084621714844651529743595817782229692854594023142241908589635070977829285073864616777721548915697017705784128344413862468288246765121786114634173482622824716345885955471756183990942590316772515022925540275032565828772323821198869628518351865151906460232455846936967778852038747134966428921138892659852991918050827821891566635084872542809876598517693477694575417095464318605890573330919290987265675545364341249796893738938940398966884878456378871457162747336376931080648754321678903435186985349467308948664715593347159866192499502128409439487933268076439856999927287250659419726836796876978651773535993070949817142395433757597179653240975850719190188454586762586314595211985677795948474157582957398784536457301350338944834649425474256589135717748794913352394915614367964650512323467734141018367819301880996223131912433271483552915725569034496481894237985813776591141698393283186554201757924862108365619192639032536575968917229516197336234686597629441071582219601345327199689528287296141090772612499768977467239068266771172185146838759725193131742760568475532136527987333213635366893164295390543359825334803723357779832742275822853242552048397593845616235827912117712111225550647113886933571955182613277610737728426338195453543053562672802322702012513285711788645031308451832224837250462014845637911953551974645610102497183785435499134098438847817126168620382128391860566594168512262191172787839397687151693826764423392760267891752130575980747181496698275342446937401883532912678864999176889119609678412093874869412422458246111247517987235917861819314391258122119348344662185284969665863021197414971210648865148537119962971541264250557377593033351861989263347775395996401672655195501237662862981270669344389942381334506119961048864289793337869265187096903645371818206989652589348423597678383737704576635161629917328478237545307953111170459855928678669569669758231195383062967575975028831320911140628420665513425695931443961567926921166162442973774244486022691569247123101567684643436161742291561828728285834093928616385919141829795947393415373647897562257543941039285768807493171216127385247465159041509793638296344714362217711224844932992698251337491191795198553348596742786450327264835312659633621519841555826616299388809214368139926073888846978868673782311347243142739182807398408157634467359474347938955788391284706114467354525263261377163897637742563866917711463957333187704717568299898026474858179198133126403620263624673145762135977221902842759095699849583998291098553480861731619599405239405869775571694770315762497963123716586895642387515326374958264292429972423331989689629492594595153977238210378984759942673613592039116713781573131269199113906449732546895122949599142864794727189558481087305750946086735632112493529939365095908249404723738553563483944715804339556825417283842427134977372874763984622382773933489882137789198147825422241288509442335358375718658595544719425514235947757459904315768340317434937526878795223115701281772256343548857099584889243220246233338099812067438474123636722424447238605743534893312452908596637396596476285128258491494180849863208147579185676660894394382663306589963842552699166510942192137146287594535832649756697964625062458426167283465481292535652318809112233052529812193750772410901896876362309250985929196852159993316416479911957911557566923668579569288913371486349566344952737852716650359923817011938193891318702072445282981446497355773838753257983634591024122469698074345419408328229757638033158450137178869572299925896139373654376381736613738314744629285839187352705728792794248110479427811745725661382698509152934788572526617719236635177429317619433782398417778085694160639871209532643264217099961649416057851792448490484859271264352340158820837058302085855590254579611234336372543375172715441741705337344729355812365835804943835897865688224513755860642932987125998370774433109968254297856379789872479579906465781460819414947088403680196173426338497828291749629359611370228498622580178227644650731534221330965423231228505394538543757453343612469531847842929422786521793475802893818764232060138947146133859366883619112929803795212245807725737366894166226365265812237410765349265431451830701727976471377087885528645299773217672080992637459131152696486188157175626245388970918010332736341417515516352099958627797710604368867785301213228623964433733796689318547833741619728412712146377882933378262826135772819381433141674833829565812283534628127626715313904788761850588540621221304143146961559614976299146969879394921189426690168979272327234810122246899789997598486355439128184922296595532553279239265252455170958987261829956883756621223712152224951717691990438939431571964084254963956728446433198853518410771356652959264765791245745747621530529136944056212316136364432821407620906547125068302678977743291228274989881225838267353273719475411768917714679989265880392220385486811271271439421326511955669452625257585888813186404258149440463133326055303415691871194942255965115999982956168628633493648796787257553569646790978384601122656952914131668027542437948776951020107964741657938984667153731647626693163979405073583327851457275069363170804767607418471756731271722046121178659251754826635327479954903328312892297133512991467469576480289450403871213136387068896453293129116649164858117883177870926245153450922224617190591461179094771036731863187918946857962686682781212076422345862454796828492830154944153032806250935663653746958367126382547041857716251416156669225643161276613597532428722978968466598012585443347232866215804629809920384467707191595585683463778619359479809643134770749545871430786890645149681017422210321634882089693137202159571328959563306093435873309512913068253983157431865826718339129598836130123872359010223467341239316525807636219175978198676282999084312866409980611132778538451527944274182556163678674169827532355641414546687391547748717718298118273775319554763816168781439425842899173785951266909576198594753120848491602681333226361976899760641062563557281020198126128374815616899627763534979151537225219364542619437969814250769552537839799841746320258080636991948685994139421792443046958949622233252977346853683463311258789570639658687518969381506829169943553580354544692271815850211531509444396751493178577515702357426442735521594688142621445860781726215248289655731882524962222019211685491354262453788133901789434344861317709720146745722616544488856232618781341865668964808683582194695332702615637735826516818717486239507351274140931761762521614280411842463687797826928684447474809042109860173932768338438412108249965828539546527031835152738981532315454844556196532733765436887360151270304757498937475584858160496974906368666445588715858012415667879433206184676576331169878184545999544461839121255012487641146760718258161175995663378392959277818920212796391972563873573487946759315169329046451763735779618524238821317581238742182725734686131334135160783938908633134591631380185122983520765073226830119230659865886252425053503859653584216713943715997245585392202586748818814494136539217225757791107066985973599756885526778439462178647283986199761394634080158472658425313380524799941374493999116523325673842014792780915529534653748071945115271677968926972948889749817475863887133872264097811752986199829991741076686865319345207214171934921328241969897738565530777950525483576818739488484161468721461446542739121562968025691180588961433540645682336652389448904922355215938848349155261083682221145695323796724725795371109844157769776376409640272740725753918658496743314973942344338392641246274321214187675143506735371799866170334542457225917537762466441831542582999250668283181621602657616444348198455641452194774446124419359177369040184789105343466396618081767229355671622114118825868783179383604779455755669924819319222490419334561195457422954174217634489011617547457895909561153747213830457479853216581627264463566794646193875898798020131413536288611674193360762362379944854542196844196666828920622936276914124414635487772219132560207812881862803090997019476572408170943044661630952313164028479216533577215822746426209046953038856354963322495333976177192034308047397661545422447226471097633292262438532473248228233922985893206343174759859921956327584494337326119936429329409787462588628337455162915965733120829665315895439657164010501493936416269311473650168343803294195665767952876760222454186216566663588257408941344568336241177771388848556435781716503936482875238177467744151416143260512959664020745823252876724795914636767986873534206995914374578271988086875875302594455930501712862525638399879475801615193240372080814911198448145516757567606744289756675256432896791271261861165550185114579582348288668857922780789839636719853849619873895649642867657359548942999149874116411456705022735461373563726261738590296310729772984323757223451099456038424067228736911529985131598178287748968433683435359147359382755420264936875915885627687612558636938997626011331653112495564659691210677856587819953539214626923442609358767747251217941350739890975924498213165994513184198817893386342587615838474522163564681254607396639574917128456339791585652055281883839079561386106139562369662661477619197046929576653173828768751280176427665367808132438668427566993430261768686741553325875383862910818395794710508448672153471654566832519657317347955610454389464365928916194773614777488565363285616013977221618735899062958071614698952263159539567675641249764012375648516957262940885426929025329250506122809426664349921468767470768161659486285286342345158910609087765228177574425377889664936395708263172436228491966279495283717478416530251356133568931493433089194898127535975759588939894093845216756981269618333587616095338472297779954743242729198533464759711889437181299794271996729363844644207220482214582754413085343664317154651491736067714084391014642513937434174624429020971275655773789736546121849651554576978271559583904173593954388151495548186346117416425231912885724952339187583445954997959271756831492027717480448596537233384673794821991079249218718066869696907665501172807663102128342410238423658444294771761044257745975787718568919548222632555746306441752877953396144351274621459251334863325555276428535735809446552379816280166961522066257312386993438475362380765454389131623028621664984663832842903843453181516855843644787744464367898593163570469551126098463368469068727548187744446995269496504018746571347381562150184254511349354848282782877996749054183458121088567780161694659529568566742644671478629768563594868046816742528127303382319183145652387530565698132352876985105239974677334229507832628830527110385342569423369536716736233283332420833026984139428418674119723482527626722826353141736089184851835395592136648581319226629143678353745885734935107279569550535331541523626613553395945559767727936488871089224450278073202541704182413664745146824856644569518454975736172774435327404822333181622910508979427193214669161591215222993245909888399358892690915573574727401245193733173137592249795371318571787876628552965486496649391835309289341033752111821045237572898438639750679185339348509141954083641482941636183837822123676951835018118446522716874065109971868130795243148135229878967916559277607538927089906780958534841531417164962068242819288736329788482172295918465692395557143187525651883549949274276391586930705138613671159536704746432481324422942282387463613943384156133349346652909452987756736885554529636025853119137721918047936811213353819651125675501018324053845511356660743322769544501291509262314325958375517554913160446262704437616848396035706014639234181690736797547881157171988435681281155318754314229663492366714779822437934736917090191784839172174491563297811852471176238026999721441924911988634666897788856948546943382246721157738096231217532976897771374650267819866530173495643081874061881479516148302270973575722315236939355043585942133653177927269138251542812774218081654619537982574978799236474494259639536726835453227976965814953395563449247060491071973072508681551993777027124797622097354354556633642562148635681552557433254991785034688665762547268883663079939065275657503744759770728977206847449633568398443475717448527567603371494325188890608935221073556276819999258446819263979037468032648466808065413129462968323814971923321950204599297456314028516564608056741880569247808030422790319419536384783340807391981493336461426952653229629173535896302997204463246897397467601693473796417151319527117570532470694047684816743091358030166922515549649710855325486434315781753150934434287379297819263994548312206079142330545093192946819986787362313678937554676795127285783063825332244572147999257676492189957850677862257597218183335181103810162468991910379056237468926482505521552531526958749052501244926551736928471749251832663577839836324253573830462891328863544428291451202451788667671338746385473293318244793887542464552879788741914636305820927189975435904575375254369389177530386087586146404985327983252399181392132166765458587015662377271355765553244145301857787287176283192473277668949221593024309784697375409473732937493626413167628926155839646829213054402933861037595619804429598767118667208398564123585917388262896177278666202981344878723011777121265298916049358487917991258194414620686992362264217697726791569886525587374456857898239050182853603685476893387658873332341354229846757580531322518338612995608463217896163878729966443743727710401012646180482127452927682497405751214381404389571973757159198962123672478439272631767850264195552247304249684488158889463963858532691993414811738860853999385052956788336470328733627277688546959428333728567419208669333817266641423873953384162794767188813636212489422659209845262351317251353396867679526083766133107970275730347447727426891788478994447418326663746432775296337970498194854523864654658610925861891072279128602261316911747476104412598432365975831499308067325652777561925085878323414097889589418456967282424089162122435425972619122231326051399335883283373035717614518465118568949066919487958547605584337789875656321549567796966231968622383415359562536527611728535939122 diff --git a/2024/09/solution.js b/2024/09/solution.js index a1696fd..d6de988 100644 --- a/2024/09/solution.js +++ b/2024/09/solution.js @@ -1,5 +1,5 @@ -const input = (await Bun.file("input.txt").text()).trim() +const input = (await Bun.file(Bun.argv[2]).text()).trim() // const input = "12345"; diff --git a/2024/09/solution.nix b/2024/09/solution.nix deleted file mode 100644 index 75e6720..0000000 --- a/2024/09/solution.nix +++ /dev/null @@ -1,5 +0,0 @@ -{lib, ...}: input: let - -in { - -} diff --git a/2024/09/solution.test.nix b/2024/09/solution.test.nix deleted file mode 100644 index 286b63a..0000000 --- a/2024/09/solution.test.nix +++ /dev/null @@ -1,12 +0,0 @@ -{describe, it, ...}: -let - pkgs = import {}; - lib = pkgs.lib; - solution = import ./solution.nix pkgs; - sample1 = "2333133121414131402"; - sample2 = "12345"; - -in [ - (describe "part 1" [ - ]) -] diff --git a/2024/09/solution2.js b/2024/09/solution2.js index 2712435..823b277 100644 --- a/2024/09/solution2.js +++ b/2024/09/solution2.js @@ -1,14 +1,5 @@ -const input = (await Bun.file("input.txt").text()).trim() - -// const input = "2933133121414131402"; -/* - * 0123456789 - * 0..1.....2 - * 02.1 - * 021 - */ - +const input = (await Bun.file(Bun.argv[2]).text()).trim() const files = []; diff --git a/2024/10/input.txt b/2024/10/input.txt deleted file mode 100644 index 452a4bc..0000000 --- a/2024/10/input.txt +++ /dev/null @@ -1,58 +0,0 @@ -5678970120787667809876787651450321789810165432234561012345 -4301787431296556912765698540341410786728765501103676545434 -3212896594365443213454501231232545695439154610898387656946 -4307885785872337801653215432545694321089043781763296047877 -5456934576901236998740126721694787899676112891054102137898 -4327825676210365485035432830780146788765208982567873223703 -1012010789301345304126701910567235623654367643432984012612 -9887652105401253213239878323458945514545106543221265698543 -6798943766798760560145569850179876408763215456100896787432 -5212237854899621056776457763287654309854580367018701656501 -4302108983014552345889308954390101218345691278929632540987 -8921321212123467496973217654321010101210782987834541231236 -7010450908765658787210106563898110567623458906543210340145 -6524567849434349872323293478967223408988967217890107459054 -5433008956721238721494782566554310510177654394345498768765 -8942112349810101430585691057431214321287656783216321659056 -9853523658901233549674541008120109450392345654307010123141 -6765434567890312678234432219078218765431874309458927034230 -1034323450765403510165498348569341016210967218567898985541 -4125614321877654523276327653414452547893458967898769876632 -3210701234988347678987014512103963458982105450745601896781 -4678890215679298689898101105432878967821123301234312765890 -5469810309100198776543239416001263456710054210126543454323 -6954323458210789743987678327122452349821269329237632670110 -7856542167345679812310565498214301265430178778748911789224 -3067630018901256701423457012303210178923476565652100654343 -2188921078872345690501298989452121089012383418983434334534 -3298934569863418987632367898763011298234592307894521025676 -0387650101678507876753456501014980347105681016765601210787 -1456343212589216909865401432325671256501789823454782309898 -2341067823410365419872316543234560787432328987123495434321 -8932058934321474321891027652101765698543212656016596521030 -7634149965430589890765438984989854321692303443067787676543 -4543232876787672763210567823870143430781054512198971980612 -4687601045298101454569498014561034231278766503456890121701 -3894523432101212343278307601432120140389107652107765439890 -2183410589043239852101212587347899655473298940998987610141 -1012398679650126760120103496256978796554567831876898543234 -0310487778743245679833210145107878987143278722365687650125 -1223456899012632988744103230123217610012189013451232105676 -8346543456598701279655654389874306526323076567600345694789 -9857812347405654210346969210165435435414105458912256783238 -6768901098312343981237878301456521056905912345863109890104 -0345650101232107834369765412347678167876801056874223454323 -1278761321943456125078098943678999101210760767985214567910 -2109874430854534076165107834567783212323458898876307698876 -3436543561763325689234256623478654323212789954343298714565 -4567612675610118763240345510569823434101652765210134503443 -5698203984323709454121245432234712345612501897898325612652 -6782100112345890365039876101165601016780432101107210726761 -6783078201076761276321276543036523239891569232216874835890 -5894569345987457889430389236543210145652678740125965934701 -6784578896590356996321298107012301276743245656734014821012 -5693678787101243987654301058905434985890130543876523498763 -4542109843262012276019012765676125673981021982923434549854 -3432101257876540145328943894387089012832123671019323676345 -4309210369901234239457654703298976326721034501208710789234 -3218765478710123378765645612107845435434345212345621678101 diff --git a/2024/10/solution.js b/2024/10/solution.js index afaca02..e1db6b9 100644 --- a/2024/10/solution.js +++ b/2024/10/solution.js @@ -1,5 +1,5 @@ -const input = (await Bun.file("input.txt").text()).trim() +const input = (await Bun.file(Bun.argv[2]).text()).trim() const rows = [[]]; diff --git a/2024/10/solution2.js b/2024/10/solution2.js index 9f526ec..9fa7c42 100644 --- a/2024/10/solution2.js +++ b/2024/10/solution2.js @@ -1,5 +1,5 @@ -const input = (await Bun.file("input.txt").text()).trim() +const input = (await Bun.file(Bun.argv[2]).text()).trim() const rows = [[]]; diff --git a/2024/flake.lock b/2024/flake.lock index dc94ab4..04962c8 100644 --- a/2024/flake.lock +++ b/2024/flake.lock @@ -1,5 +1,18 @@ { "nodes": { + "aoc-inputs": { + "flake": false, + "locked": { + "lastModified": 1733814937, + "narHash": "sha256-hF+/daBl8ud8FYSvkhOn1QnpmXEYVfoXDpPM7RKW8Zg=", + "path": "/tmp/aoc-inputs", + "type": "path" + }, + "original": { + "path": "/tmp/aoc-inputs", + "type": "path" + } + }, "nixpkgs": { "locked": { "lastModified": 1732837521, @@ -31,6 +44,7 @@ }, "root": { "inputs": { + "aoc-inputs": "aoc-inputs", "nixpkgs": "nixpkgs", "tix": "tix" } diff --git a/2024/flake.nix b/2024/flake.nix index a009059..9f99456 100644 --- a/2024/flake.nix +++ b/2024/flake.nix @@ -4,51 +4,60 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; tix.url = "git+https://git.tristans.cloud/tristan/tix"; + /* + * sharing your puzzle inputs is discouraged: + * https://adventofcode.com/about#faq_copying + * + * so on a new day, paste the input into + * /tmp/aoc-inputs/${day number} + * + * and run + * nix flake update aoc-inputs + */ + aoc-inputs = { + url = "path:/tmp/aoc-inputs"; + flake = false; + }; }; - outputs = { self, nixpkgs, tix }: let + outputs = { aoc-inputs, nixpkgs, tix, ... }: let pkgs = import nixpkgs {system = "x86_64-linux";}; - in { + inherit (pkgs) lib; - day06 = let - solution = import ./06/solution.nix pkgs; - example = (pkgs.lib.readFile ./06/example.txt); - input = (pkgs.lib.readFile ./06/input.txt); - in { - example = (solution example); - real = (solution input); - }; - day07 = let - solution = import ./07/solution.nix pkgs; - example = (pkgs.lib.readFile ./07/example.txt); - input = (pkgs.lib.readFile ./07/input.txt); - in { - example = (solution example); - real = (solution input); - test = tix.run [ - ./07/solution.test.nix - ]; - }; - - day08 = let - solution = import ./08/solution.nix pkgs; - example = (pkgs.lib.readFile ./08/example); - input = (pkgs.lib.readFile ./08/input); + in (lib.range 1 8 + |> map (i: let id = lib.fixedWidthNumber 2 i; in { + name = "day-${id}"; + value = let + solution = import ./${id}/solution.nix pkgs; + example = (pkgs.lib.readFile ./${id}/example.txt); + input = (pkgs.lib.readFile "${aoc-inputs}/${id}"); in { example = solution example; real = solution input; test = tix.run [ - ./08/solution.test.nix + "./${id}/solution.test.nix" ]; }; + }) + |> builtins.listToAttrs + ) // { - day09 = let + day-09 = let solution = import ./09/bad.solution.nix pkgs; example = (pkgs.lib.readFile ./09/example.txt); + input = "${aoc-inputs}/09"; in { example = solution example; real.part1result = "My solution doesn't work on the real input :("; + javascript = { + part1result = pkgs.runCommand "2024day9part1" {} '' + ${lib.getExe pkgs.bun} ${./09/solution.js} ${input} > $out + '' |> builtins.readFile; + part2result = pkgs.runCommand "2024day9part1" {} '' + ${lib.getExe pkgs.bun} ${./09/solution2.js} ${input} > $out + '' |> builtins.readFile; + }; test = tix.run [ ./09/solution.test.nix ];