From 2807186474128e9d0fb52149630dc675b169cbfa Mon Sep 17 00:00:00 2001 From: Aleteoryx Date: Mon, 9 Dec 2024 20:42:52 -0500 Subject: grid mode in tcl helper --- 2024/input.01.txt | 1000 +++++++++++++++++++++++++++++++++++ 2024/input.02.txt | 1000 +++++++++++++++++++++++++++++++++++ 2024/input.03.txt | 6 + 2024/input.04.txt | 140 +++++ 2024/input.05.txt | 1394 +++++++++++++++++++++++++++++++++++++++++++++++++ 2024/input.06.txt | 130 +++++ 2024/input.07.txt | 850 ++++++++++++++++++++++++++++++ 2024/tcl/06.tcl | 49 +- 2024/tcl/input.01.txt | 1000 ----------------------------------- 2024/tcl/input.02.txt | 1000 ----------------------------------- 2024/tcl/input.03.txt | 6 - 2024/tcl/input.04.txt | 140 ----- 2024/tcl/input.05.txt | 1394 ------------------------------------------------- 2024/tcl/input.06.txt | 130 ----- 2024/tcl/input.07.txt | 850 ------------------------------ 2024/tcl/lib.tcl | 13 +- 16 files changed, 4553 insertions(+), 4549 deletions(-) create mode 100644 2024/input.01.txt create mode 100644 2024/input.02.txt create mode 100644 2024/input.03.txt create mode 100644 2024/input.04.txt create mode 100644 2024/input.05.txt create mode 100644 2024/input.06.txt create mode 100644 2024/input.07.txt delete mode 100644 2024/tcl/input.01.txt delete mode 100644 2024/tcl/input.02.txt delete mode 100644 2024/tcl/input.03.txt delete mode 100644 2024/tcl/input.04.txt delete mode 100644 2024/tcl/input.05.txt delete mode 100644 2024/tcl/input.06.txt delete mode 100644 2024/tcl/input.07.txt diff --git a/2024/input.01.txt b/2024/input.01.txt new file mode 100644 index 0000000..cf109b6 --- /dev/null +++ b/2024/input.01.txt @@ -0,0 +1,1000 @@ +80421 40193 +69841 31045 +47850 64065 +63141 52072 +32908 83033 +33395 25559 +78513 59127 +91270 76329 +65508 34159 +27139 15788 +13228 50396 +43186 29116 +55392 52441 +19309 68909 +72798 54258 +31590 11220 +32125 81946 +58099 50396 +16614 76682 +60604 12184 +21251 26105 +56053 96112 +47903 13396 +72956 11681 +66315 11220 +54499 96112 +38390 83884 +69211 52732 +69235 52441 +83831 49092 +25782 75523 +35417 15162 +45889 82918 +76191 97182 +95942 49643 +30121 83884 +86470 16217 +23572 11220 +69703 80739 +45792 21543 +76682 70230 +79585 83884 +64501 69361 +55546 92076 +43632 87826 +93309 17223 +73996 69071 +83466 42385 +73963 19398 +36643 98070 +43789 15788 +54302 70897 +83362 50227 +60881 66983 +61881 17864 +81520 52171 +99147 41180 +63427 16217 +50290 40193 +19315 20520 +84997 27666 +45495 40509 +81512 76682 +93459 11220 +28126 72353 +38227 11681 +49613 27677 +26858 40193 +16759 51946 +42145 90200 +64421 88733 +97361 16019 +32616 75596 +30875 90149 +82019 50759 +90554 83033 +42030 75763 +64459 32394 +45152 83884 +51375 48768 +71487 93793 +69694 84439 +97213 70998 +65471 90900 +69237 48307 +50672 58376 +61500 58064 +22831 76682 +63626 90356 +43195 87826 +67468 11770 +59753 97698 +34386 97698 +84851 23296 +96001 69910 +41418 13027 +82815 27666 +37012 17864 +45122 57830 +81552 44943 +18717 33011 +28726 87826 +29453 52441 +82398 24963 +47384 87826 +24205 50966 +80001 43568 +17033 21145 +74890 54233 +59065 58047 +33505 96112 +96403 34213 +35992 94345 +74353 27666 +59539 37101 +90355 71860 +86007 11220 +50733 76682 +75113 94664 +56735 87038 +27654 16492 +39478 47633 +70998 95331 +19885 38941 +47463 26105 +74771 28343 +56762 87773 +89980 35218 +35434 71473 +97275 53382 +97389 28343 +55060 11220 +83189 74164 +65464 75140 +15091 58376 +49752 94345 +55978 50227 +13991 40193 +58778 69071 +99285 16217 +37693 40193 +61282 71473 +34624 87374 +53881 13912 +67666 58376 +51235 52441 +80739 99593 +40193 97698 +94214 83205 +13145 72473 +88888 40193 +46957 96567 +92406 59738 +85389 13942 +55969 52441 +91426 46497 +92608 63775 +71473 24823 +51744 50396 +77645 42696 +34121 96112 +99775 96112 +89480 98660 +42647 95861 +35131 98522 +22031 76805 +10282 43806 +82323 65743 +79408 89179 +50692 85420 +89878 70998 +46431 17223 +99643 52441 +61276 68075 +14058 83884 +94292 17411 +92506 40193 +91012 17223 +51557 55254 +50846 96567 +20336 84821 +71617 81946 +40314 84439 +42990 89703 +62455 27446 +65790 94345 +57568 65105 +13052 79090 +30028 96128 +42028 58852 +47372 87826 +44459 90200 +67988 66776 +28313 84439 +52545 94345 +17108 37412 +16113 11681 +56064 54165 +60025 37314 +85545 11681 +68437 25575 +46677 20626 +53308 28343 +79483 70998 +54308 55727 +26755 69337 +73791 50227 +33565 83884 +35359 17223 +47840 26266 +50109 75074 +88842 39316 +84439 97698 +86029 96112 +39964 79122 +37828 69071 +73120 96567 +67688 50227 +61996 70230 +62643 82883 +99604 28343 +18054 76682 +52441 97698 +45131 58376 +32102 53380 +60963 53418 +73803 41652 +56361 70998 +74041 77517 +14940 84439 +80439 26105 +79199 83033 +41700 83033 +35229 65677 +64958 84439 +51246 78550 +23506 31244 +26237 40038 +49105 27712 +62117 37779 +76884 94345 +56414 62009 +88424 80739 +97192 15788 +70374 59226 +53515 76682 +85931 28343 +50925 38390 +51959 96567 +98082 28525 +37588 29342 +52624 37871 +28331 16217 +73762 94345 +73815 38390 +38573 25210 +88916 97698 +66917 28343 +47055 73500 +97902 34391 +16580 82128 +18015 91780 +77218 14792 +22251 37702 +62344 94345 +49811 73150 +43220 58572 +93889 76682 +70259 90173 +16985 26105 +93371 50227 +93434 49229 +97412 55737 +69071 39598 +70682 90271 +31536 30421 +81650 96112 +66094 70998 +94447 83052 +70230 87681 +69613 93387 +50227 85660 +32751 83903 +12441 41367 +64171 79090 +88431 75578 +33033 96567 +96305 79090 +17193 52441 +42766 27666 +30798 50396 +18160 14792 +86048 69517 +26894 10883 +72243 38390 +48910 96875 +80507 90612 +77344 83033 +11713 96112 +36810 50227 +91347 11220 +20755 76682 +50353 95421 +63754 63013 +22119 25388 +35010 38390 +39083 90678 +16379 13640 +47651 67154 +50798 71473 +64108 83884 +62368 85420 +87732 54461 +44496 74078 +50396 16217 +32142 94345 +12969 50227 +63851 24208 +59124 89844 +24929 21174 +55229 84439 +78807 15788 +58298 50396 +16926 96567 +83884 50396 +63542 49739 +76625 41626 +97382 32976 +40464 38390 +14575 10840 +63334 71473 +25579 40921 +71524 96567 +50616 93389 +81504 17864 +10618 32838 +65653 11681 +74217 76682 +17739 45245 +12975 56728 +92629 12987 +13610 68591 +24487 83033 +12475 81946 +31651 39134 +32359 81946 +41174 79359 +63548 65603 +55031 50396 +59183 58376 +74036 69252 +33977 71473 +39977 40407 +32033 40193 +90147 83033 +23940 30137 +67597 33156 +64295 99755 +72689 96112 +92379 83884 +59904 17864 +59250 54829 +31693 34134 +88853 97698 +46754 31254 +58208 11220 +98626 11220 +46741 70998 +36408 63013 +18581 87826 +63114 28343 +97394 81946 +93270 97698 +80744 59372 +97689 57651 +87482 58376 +11896 75807 +65025 96196 +15892 54686 +68939 24270 +16022 53606 +36023 85420 +95998 43637 +61265 38390 +79090 11220 +81946 99814 +63895 78782 +83527 90200 +51915 62980 +22548 20223 +58376 26608 +81705 24971 +99116 26106 +92178 77949 +98976 38390 +81016 28343 +52646 79090 +29911 88246 +23834 92181 +46484 89669 +68488 44503 +74484 29808 +89780 86262 +96112 75203 +51392 42994 +19800 23307 +49890 41317 +98098 94345 +57894 69730 +59120 93793 +86825 83884 +41981 84710 +69860 70998 +25576 35489 +42850 23083 +34439 85430 +91153 35450 +59806 16217 +87651 74318 +15466 76682 +94237 22001 +45392 47159 +35295 95111 +86122 88173 +28631 50396 +34798 26613 +61839 13468 +61723 96112 +14034 96112 +30006 16217 +14649 26145 +86294 80739 +32258 11681 +92857 50396 +86334 58376 +10895 84439 +63194 85936 +76887 96027 +68733 26105 +41207 63013 +28365 88512 +24732 38390 +67548 49710 +81155 48747 +41815 96112 +51642 69071 +62718 81572 +59606 98715 +74964 13588 +64466 17223 +96982 46340 +84527 94623 +69698 11220 +11144 23375 +57947 97698 +41007 80545 +11681 32334 +94807 43967 +54555 94345 +16363 93419 +65623 45980 +42388 45727 +48482 79090 +85324 81581 +59768 37611 +62042 11681 +90240 19425 +66983 24278 +98892 42679 +35839 35139 +17825 39236 +74183 28343 +94347 48434 +82766 84797 +12488 62200 +11529 58265 +82862 27666 +63390 87826 +87638 60767 +69964 71473 +94668 76682 +58958 52441 +75722 97743 +68139 11220 +58242 75810 +92586 40193 +29680 94345 +33347 73583 +74149 73747 +88092 94345 +82865 45901 +88894 38390 +40872 97309 +85420 93793 +80641 69071 +57680 79788 +50575 63583 +45838 28855 +77834 63196 +36094 58852 +93487 19648 +98316 79122 +89283 97494 +81283 78824 +78086 84439 +70708 27959 +64643 44369 +39933 56445 +68663 28343 +97698 10803 +79122 51608 +35053 96112 +88445 87826 +59362 81946 +58091 67264 +48218 93793 +64495 16994 +38395 71473 +61884 50396 +84809 84439 +90363 78607 +39707 76682 +66866 83033 +76807 80277 +98492 83033 +65436 84059 +69199 68798 +62230 83884 +51938 18013 +99036 22915 +20508 84439 +41393 50396 +47979 58852 +74140 70998 +42029 88646 +43056 14163 +96145 39532 +80632 64382 +56985 85420 +63903 41993 +11220 93712 +94345 15788 +43760 56901 +93453 58852 +35914 74746 +73054 44762 +45629 40193 +77231 55896 +77041 38390 +96658 74157 +46466 17606 +88020 77476 +51115 61806 +24234 81946 +17382 79090 +38939 78416 +55399 95124 +74933 97972 +17223 11832 +20126 25792 +84054 91443 +84057 96112 +88765 83033 +27933 54577 +48695 78824 +90200 51999 +74599 38503 +61441 90200 +66742 38390 +23353 26105 +37362 82425 +38602 44514 +41407 71473 +51001 62633 +98321 40630 +75078 11681 +68245 24288 +49051 14363 +36869 25312 +17659 47253 +74211 69071 +41285 22997 +89913 71473 +35951 34861 +67158 50396 +43938 15553 +72373 24972 +40926 97698 +63013 85420 +19477 71473 +79722 19841 +28842 83920 +14541 55730 +31500 75763 +51488 32218 +18889 96567 +57241 17864 +51819 47021 +21973 30568 +13743 10104 +87695 43875 +90862 27666 +16780 65150 +24792 58376 +28715 69071 +40287 78011 +59897 84439 +16124 83884 +34237 44208 +80709 83186 +12989 55204 +96071 63816 +78189 63337 +37586 98216 +19413 51370 +64986 70521 +93855 48927 +57998 25233 +42676 58360 +93905 29575 +18012 58243 +28846 54313 +97083 50396 +59982 20815 +95409 88260 +57482 70230 +69515 83884 +78295 69071 +72645 71473 +71966 28343 +98274 84439 +34068 28343 +96135 40193 +65836 15788 +23264 84439 +19621 51691 +75945 40091 +29573 47799 +14879 79090 +28207 38390 +11483 15774 +32877 80739 +36254 96567 +65116 27258 +14250 93650 +23902 96112 +89984 35958 +82242 33004 +12762 62900 +81194 99347 +72193 37712 +71644 74162 +46588 52441 +27739 70311 +35648 70998 +44410 87233 +46656 27666 +31914 71473 +90034 78824 +61968 83033 +36567 29131 +78387 67697 +33453 57266 +24915 40540 +70857 52975 +28343 81423 +92106 87378 +56025 82509 +32851 98692 +51436 97147 +70601 71473 +70452 33153 +39288 15788 +17976 11220 +15788 58376 +40113 53779 +25192 88120 +31980 98924 +80317 91384 +67936 10228 +14839 75691 +55689 75265 +28107 90207 +49283 17864 +27666 52539 +26105 26025 +71897 10363 +65171 58095 +87061 76361 +58586 84439 +90319 17223 +12401 11681 +60665 21206 +66454 77367 +58801 69471 +12007 11220 +59620 71043 +14269 33941 +84020 34182 +21849 61119 +19934 93793 +49226 64719 +59477 58376 +67180 38390 +69143 84212 +29611 69071 +74186 73216 +44892 47027 +88341 63662 +93425 27666 +58009 40217 +61426 88678 +14176 17223 +19374 19815 +15924 63644 +31338 90200 +20061 96567 +77739 17223 +39213 79090 +86112 44465 +59347 96112 +52900 88643 +49030 41964 +79160 96112 +60822 33345 +87682 46340 +92223 67780 +75763 68868 +58470 38390 +22344 11681 +60094 70230 +53703 65992 +60348 41120 +14792 81993 +53271 21427 +67055 17864 +64402 49401 +46340 71473 +67425 80739 +33676 91364 +20261 93934 +33464 45079 +47333 87047 +99552 33828 +46700 29241 +34066 38390 +63635 81946 +64943 90200 +93222 70855 +39852 27666 +54215 27846 +91837 81435 +13206 92486 +34097 89083 +67571 63013 +65552 28794 +93206 16217 +57258 46746 +12355 95783 +45193 39825 +78824 41374 +79640 28343 +33304 46968 +52405 53684 +80165 79090 +63764 98552 +50867 62235 +55169 67322 +17385 63412 +93847 84439 +86220 96567 +56922 26105 +93793 70998 +46061 15119 +60608 50227 +53721 82034 +37048 97113 +78634 17392 +16149 11220 +96567 17864 +67761 15242 +43531 45273 +28649 81808 +16807 11681 +35016 38390 +36328 15788 +47350 87826 +83703 76682 +96035 68596 +89445 40193 +39175 22115 +46972 69071 +86512 64757 +70145 30941 +92472 94345 +28607 84439 +97839 80739 +46293 22854 +39471 56487 +40895 81224 +79054 15540 +19112 99099 +87456 97698 +64947 93293 +46868 17223 +61194 51103 +94011 51317 +93446 67760 +51603 79090 +98462 32618 +87627 14792 +50434 28343 +80823 87826 +85968 11220 +70582 94611 +69082 69071 +82872 75587 +66992 93001 +16652 81390 +45397 67124 +48288 12534 +16683 60958 +28845 17300 +73108 85770 +10887 14000 +86564 58432 +73753 15788 +58200 60971 +14724 10521 +22429 86503 +15636 73714 +42007 50396 +83033 28343 +11018 17864 +84668 59520 +34407 50227 +21979 66729 +20788 97698 +88249 71473 +29698 76682 +18861 90200 +33097 18831 +84374 38460 +42337 49469 +96184 11220 +93246 50708 +59059 17223 +94799 11681 +94592 90061 +16217 87826 +15119 39287 +98585 71473 +96536 42853 +70453 24363 +98772 69071 +86608 28722 +96532 50396 +29434 83821 +45190 18432 +39085 52441 +14544 27666 +98167 83884 +40247 35796 +58852 95208 +63594 94345 +37166 70696 +37060 97185 +78269 17223 +31684 50764 +17864 52599 +24791 33385 +88009 94208 +44960 66939 +94307 25038 +97941 92450 +84015 83884 +18910 52086 +65496 17223 +40031 34551 +85606 91632 +61769 76682 +16593 90387 +18746 84938 +37661 78508 +74488 71473 +10696 57789 +73457 33795 +36702 93793 +50523 40193 +54560 97491 +31840 38390 +76940 40193 +16870 11681 +59273 30259 +87826 11069 +42351 47872 +46704 17864 +60979 83884 +13487 66385 +89414 94345 +95781 78824 +81388 50396 +76147 16961 +47912 27666 +38794 15498 +42095 60345 +50754 85082 +47680 11681 +74650 63013 +79979 27666 +93963 91067 +12526 51125 +15421 50227 +14489 17864 +19890 71473 +39148 69071 +35061 43580 +13873 78824 +65002 84439 +44196 70230 +91160 27666 +66243 17864 +68520 52987 +57313 11001 +97451 71232 +45491 88748 +72806 28343 +10935 96112 +26571 50227 +36588 11220 +97082 47405 +74083 76682 +13709 28343 +71565 60347 +67060 89690 +89812 68984 +64357 18200 +13576 86923 +17785 52441 +90523 87826 +48169 84439 +49404 96112 +38548 93793 +10365 50396 +85079 97698 +87583 95586 +63995 97698 +37765 62288 +96507 26105 +74440 19405 +96601 94432 +37066 38390 +42143 11552 +33431 27666 +77502 63356 +33810 52441 +14847 36105 +21823 66983 +57868 71473 +84231 27666 +87717 52441 +53162 97698 +35374 65715 +34570 26105 +20224 36282 +71791 40193 +18833 48330 +12194 83762 +92449 38390 +18772 71473 +59035 57762 +60408 76682 +62373 63013 +79934 40193 +82312 59106 +22944 72620 +15001 50192 +42041 93793 +27226 80739 +68012 30136 +22148 34448 +15624 94345 +79255 39850 +80907 18558 +92896 15318 +25411 94345 +33580 81946 +71575 70650 +47700 79090 +75865 16217 +48756 81946 +98547 75763 +23220 38390 +15241 79090 +18586 33917 +22280 40494 +35998 69327 +60853 95280 +38251 50396 +52525 87826 diff --git a/2024/input.02.txt b/2024/input.02.txt new file mode 100644 index 0000000..4eeead7 --- /dev/null +++ b/2024/input.02.txt @@ -0,0 +1,1000 @@ +69 72 75 78 80 79 +40 42 43 46 47 48 49 49 +57 58 59 60 64 +29 32 35 37 43 +16 17 18 19 20 17 19 20 +42 45 43 45 48 49 46 +58 59 62 65 63 66 66 +28 31 34 31 35 +37 39 41 38 40 43 45 50 +64 66 68 68 71 +50 51 53 53 55 53 +44 45 48 48 51 54 55 55 +20 22 22 23 25 29 +38 40 41 41 43 46 49 54 +24 27 28 30 33 37 38 40 +82 83 86 88 92 89 +68 69 71 74 76 80 80 +3 6 9 13 16 20 +62 65 67 71 74 81 +68 69 72 78 81 +74 77 79 85 82 +61 64 67 69 70 77 80 80 +46 48 53 56 58 61 65 +65 67 70 77 82 +61 60 62 64 65 66 69 +13 11 14 15 18 15 +57 56 59 62 65 66 69 69 +45 44 46 47 48 49 52 56 +38 36 39 42 45 52 +69 67 69 66 69 +89 86 84 87 84 +10 8 7 9 11 12 12 +97 94 91 92 94 98 +2 1 4 3 5 6 9 16 +63 62 65 68 68 71 73 +54 51 51 54 55 52 +21 20 21 21 23 26 26 +33 32 35 35 39 +70 69 69 72 73 74 76 82 +4 1 4 7 8 12 15 +8 5 8 9 13 14 16 15 +16 15 18 20 24 25 27 27 +54 53 56 60 62 66 +62 60 64 65 70 +26 23 28 30 31 +53 51 53 54 57 62 64 61 +9 6 13 16 18 19 20 20 +75 72 78 80 82 85 87 91 +8 7 10 11 16 18 25 +84 84 86 89 92 95 96 +36 36 39 41 42 41 +21 21 22 24 25 26 26 +72 72 74 77 81 +3 3 6 8 15 +9 9 12 11 14 +75 75 76 75 77 75 +7 7 8 10 12 10 10 +52 52 51 54 58 +76 76 77 80 79 84 +41 41 42 42 44 45 +85 85 87 87 90 89 +4 4 7 9 9 9 +23 23 24 27 30 31 31 35 +48 48 51 51 56 +1 1 3 7 10 13 16 19 +19 19 21 25 26 28 29 26 +73 73 75 76 80 80 +40 40 44 47 51 +74 74 78 81 84 87 93 +9 9 11 12 15 22 25 +1 1 3 10 11 14 16 15 +50 50 52 58 60 60 +59 59 60 65 69 +34 34 40 42 47 +30 34 36 39 42 +2 6 7 9 12 13 10 +15 19 21 23 24 24 +30 34 35 38 41 44 46 50 +47 51 52 55 60 +90 94 92 94 97 +68 72 70 72 75 77 80 79 +53 57 59 60 57 59 60 60 +88 92 95 96 93 97 +26 30 31 29 36 +82 86 87 88 88 90 92 94 +71 75 76 79 79 80 82 79 +42 46 46 49 50 51 54 54 +14 18 18 19 20 24 +75 79 80 80 81 87 +61 65 69 71 74 76 +69 73 75 78 80 84 85 83 +34 38 42 43 46 47 47 +35 39 41 43 47 51 +2 6 7 10 14 20 +17 21 24 30 31 34 36 38 +12 16 21 23 24 23 +87 91 93 99 99 +22 26 32 35 36 37 39 43 +46 50 57 59 62 65 67 73 +46 52 54 55 56 +27 33 35 38 40 43 46 45 +17 24 25 27 27 +19 24 25 28 30 32 36 +36 42 45 47 54 +35 42 43 44 42 45 47 +50 56 58 55 52 +32 37 38 35 38 38 +49 54 57 54 56 58 60 64 +53 58 57 58 61 64 71 +74 80 80 83 86 87 90 92 +36 42 43 45 45 48 49 48 +82 87 87 89 89 +31 38 41 41 43 45 46 50 +40 47 49 50 50 51 58 +59 64 68 69 71 73 74 76 +59 66 69 73 71 +75 81 84 88 90 92 92 +13 19 21 24 27 31 32 36 +23 30 32 35 39 45 +16 22 25 27 29 31 36 38 +3 10 12 13 19 21 23 22 +4 10 11 14 16 22 22 +4 11 14 16 23 25 29 +3 8 9 10 16 21 +64 63 60 57 55 57 +81 80 77 75 74 74 +34 33 31 30 28 24 +23 21 20 19 16 13 10 4 +56 54 51 52 49 +44 43 41 38 35 37 35 37 +82 81 84 81 79 79 +77 75 74 77 74 70 +12 11 13 10 7 2 +32 31 28 28 25 23 20 +6 3 2 2 1 3 +77 76 73 71 68 68 68 +25 22 19 17 15 15 13 9 +87 85 84 84 83 78 +42 39 37 33 32 30 +88 87 86 83 81 77 75 76 +15 12 8 6 4 4 +96 94 92 88 86 84 80 +84 81 78 76 72 69 67 62 +51 50 49 46 44 38 37 +54 53 52 49 43 42 41 43 +99 97 92 90 89 86 86 +97 95 88 85 81 +35 32 30 25 22 19 14 +73 76 75 74 73 71 68 65 +79 81 80 79 78 77 76 78 +5 8 6 4 1 1 +84 87 86 83 82 81 77 +21 23 20 18 16 15 8 +13 14 16 15 14 12 11 9 +29 30 29 31 34 +58 60 63 62 59 58 57 57 +30 32 33 32 28 +86 87 85 88 85 84 77 +36 37 37 36 35 32 31 30 +4 6 6 3 6 +27 29 29 26 26 +65 67 66 66 64 60 +90 91 89 89 83 +74 76 72 71 68 66 +74 76 74 73 69 68 70 +23 25 24 22 18 18 +59 61 57 55 53 51 47 +87 88 87 83 82 81 80 74 +55 58 57 54 51 50 44 42 +92 95 92 91 90 87 80 83 +69 70 64 63 61 58 58 +34 37 36 33 32 26 24 20 +36 37 35 34 31 24 21 16 +27 27 26 25 24 +41 41 38 35 34 35 +31 31 28 27 27 +37 37 36 34 31 28 24 +49 49 47 46 43 41 38 33 +63 63 62 59 62 59 58 +9 9 11 10 13 +23 23 21 19 22 21 21 +37 37 40 39 35 +13 13 10 11 5 +78 78 78 75 72 71 70 +73 73 73 70 71 +10 10 8 5 5 4 4 +22 22 21 21 20 16 +96 96 96 95 89 +41 41 40 36 33 32 29 28 +57 57 53 51 54 +58 58 57 56 55 51 51 +46 46 42 39 35 +21 21 18 14 12 11 5 +40 40 38 36 29 27 25 +97 97 94 89 91 +36 36 34 29 27 25 22 22 +87 87 84 79 75 +35 35 32 26 24 21 16 +52 48 45 42 40 37 +49 45 42 40 42 +95 91 88 86 86 +88 84 82 81 80 78 75 71 +83 79 78 76 70 +17 13 11 10 9 10 7 +45 41 43 41 42 +97 93 90 89 92 89 89 +17 13 15 14 12 8 +36 32 29 27 29 27 22 +50 46 45 44 41 41 40 39 +93 89 87 84 84 87 +23 19 17 16 16 16 +29 25 24 22 22 20 18 14 +14 10 9 9 8 3 +20 16 13 9 6 +22 18 16 13 9 11 +73 69 66 62 62 +16 12 8 5 1 +58 54 50 47 45 40 +46 42 40 33 30 +65 61 54 51 54 +25 21 20 19 17 15 9 9 +38 34 31 25 24 20 +71 67 66 64 58 56 51 +78 73 70 69 68 65 +32 26 24 22 21 19 22 +92 86 84 83 81 78 78 +67 62 59 56 53 49 +64 58 56 55 54 52 51 46 +82 76 74 72 74 71 69 66 +37 32 30 32 29 32 +65 58 57 59 56 55 52 52 +94 87 84 87 83 +54 47 49 48 45 39 +74 68 65 62 62 60 59 +53 47 44 43 43 46 +96 89 86 86 85 85 +62 55 53 52 52 51 47 +34 28 28 25 20 +25 20 16 13 11 9 +58 52 49 45 42 39 40 +56 49 45 43 40 37 37 +32 26 22 20 16 +94 88 84 82 75 +65 59 58 52 50 49 47 +68 61 55 53 55 +53 47 45 40 40 +73 66 61 59 57 53 +66 60 57 56 51 46 +32 34 37 38 40 43 44 42 +9 11 14 17 19 20 20 +18 19 21 24 26 27 30 34 +68 71 73 75 77 79 80 85 +75 76 79 81 80 81 84 +40 43 44 41 40 +17 20 23 25 22 23 23 +89 91 94 93 97 +20 23 26 25 28 30 37 +28 30 30 31 32 33 +23 25 25 26 25 +70 73 75 76 78 78 81 81 +18 19 19 21 22 23 27 +78 80 82 83 86 86 91 +7 10 11 12 14 18 19 +92 93 97 98 95 +33 36 40 41 41 +77 78 79 83 87 +49 50 54 57 60 63 65 72 +75 78 79 80 83 90 92 +82 84 85 92 94 91 +47 50 53 55 61 63 63 +47 48 49 50 56 59 63 +23 24 26 28 31 36 41 +28 26 27 28 31 +5 2 5 6 3 +82 81 83 85 87 88 91 91 +30 28 29 31 32 36 +39 37 38 40 42 45 51 +16 14 13 16 19 +40 37 38 40 39 41 39 +62 59 62 64 62 62 +72 70 71 68 71 74 76 80 +27 26 25 28 29 31 37 +30 28 31 34 34 35 +50 47 47 48 50 52 51 +41 40 41 44 44 46 47 47 +48 47 48 51 52 52 56 +6 3 5 7 10 10 15 +3 2 4 5 6 8 12 15 +88 85 86 87 91 94 91 +59 56 59 63 65 65 +44 43 45 49 53 +47 46 49 53 55 56 62 +32 30 36 38 39 41 +27 24 27 30 31 38 39 38 +64 61 68 70 70 +54 52 55 60 61 63 67 +23 20 27 30 37 +21 21 23 26 27 28 30 33 +22 22 23 24 23 +36 36 39 42 44 44 +48 48 51 53 57 +19 19 21 24 27 29 30 35 +35 35 33 34 35 38 39 +74 74 73 75 72 +75 75 77 74 75 76 76 +24 24 27 28 25 28 30 34 +67 67 65 67 70 72 79 +44 44 45 46 49 49 51 52 +69 69 72 72 69 +28 28 28 31 34 36 36 +53 53 53 55 56 60 +51 51 51 52 54 59 +82 82 84 88 89 +66 66 67 70 71 75 73 +82 82 85 89 91 91 +32 32 35 37 40 44 48 +27 27 30 33 37 42 +77 77 80 86 89 92 95 +65 65 68 70 77 79 77 +86 86 87 89 91 97 99 99 +31 31 36 39 41 45 +6 6 9 14 17 18 25 +27 31 32 34 36 +55 59 62 65 67 70 71 69 +4 8 11 14 15 16 16 +3 7 8 11 13 17 +73 77 80 82 85 87 89 96 +85 89 91 94 93 94 96 97 +8 12 13 12 15 18 17 +51 55 52 53 53 +21 25 28 30 29 31 34 38 +48 52 55 52 57 +1 5 6 6 8 9 +37 41 44 45 47 47 45 +44 48 50 50 50 +72 76 76 77 78 79 83 +54 58 59 60 63 64 64 70 +18 22 24 27 31 32 +33 37 40 44 45 43 +13 17 21 22 24 26 26 +24 28 31 33 37 39 42 46 +19 23 24 28 30 35 +39 43 45 52 53 +57 61 62 68 70 68 +40 44 51 54 54 +60 64 69 70 71 75 +40 44 46 53 56 59 66 +25 32 35 37 40 43 +63 68 70 72 73 74 73 +34 41 42 43 43 +1 6 7 10 11 15 +23 28 31 34 39 +91 96 95 96 98 +81 88 85 88 86 +54 60 62 59 60 60 +30 37 36 39 43 +44 51 53 51 57 +25 30 31 33 33 36 37 39 +85 92 94 94 93 +2 8 9 11 11 11 +41 46 49 49 51 54 58 +58 63 65 67 67 68 69 74 +45 50 52 56 57 60 63 +29 34 38 40 37 +67 74 76 80 80 +57 64 68 70 71 75 +6 13 16 19 23 26 29 36 +26 31 32 37 39 41 44 47 +67 72 77 80 78 +76 81 86 88 90 90 +65 72 75 78 80 85 86 90 +32 38 43 44 45 47 52 +61 60 58 57 56 54 51 53 +92 90 89 86 86 +70 68 67 65 61 +87 84 81 80 79 78 75 68 +41 38 37 40 38 35 34 +99 96 95 96 98 +53 51 50 52 50 50 +17 15 14 13 14 10 +16 15 17 14 13 6 +31 30 30 27 24 23 +43 42 39 39 38 41 +58 55 52 49 47 46 46 46 +61 59 58 58 55 51 +58 55 55 54 52 49 46 39 +43 42 38 37 35 +96 93 89 88 87 90 +80 79 76 75 74 70 70 +53 50 49 47 46 42 38 +38 35 31 29 28 22 +87 84 81 79 74 73 71 +23 22 20 19 12 11 8 10 +20 17 16 9 9 +20 18 16 10 7 3 +21 19 17 11 8 7 2 +64 65 62 61 60 59 57 +17 18 17 14 12 15 +61 64 63 60 59 57 57 +88 91 88 86 83 79 +97 99 97 94 88 +69 70 72 69 66 +23 24 23 24 25 +43 46 44 42 44 43 41 41 +19 20 19 21 19 15 +62 63 64 63 61 59 57 51 +90 91 89 86 86 83 81 78 +73 74 72 71 71 68 66 69 +37 40 38 36 36 33 31 31 +35 38 38 35 31 +76 77 77 74 68 +76 78 75 73 69 66 +67 68 64 61 58 55 53 55 +53 55 51 49 46 44 44 +47 48 44 43 39 +89 92 89 86 82 76 +26 29 27 21 20 +78 80 74 73 70 69 70 +75 78 72 70 70 +16 18 15 9 5 +73 76 70 67 65 63 58 +37 37 35 32 29 26 23 +41 41 39 36 33 32 30 33 +75 75 72 70 67 66 65 65 +26 26 24 23 22 21 17 +98 98 97 94 93 91 88 82 +14 14 15 13 10 8 5 3 +33 33 31 29 26 28 29 +31 31 29 26 28 28 +91 91 88 86 87 85 81 +72 72 70 73 70 67 64 57 +22 22 22 20 19 17 +74 74 74 71 69 66 63 64 +25 25 22 22 22 +33 33 32 30 28 28 24 +84 84 81 78 78 76 71 +19 19 15 12 9 8 7 +74 74 71 70 66 63 65 +46 46 45 41 41 +38 38 34 33 29 +44 44 43 39 32 +17 17 10 8 5 +89 89 87 85 84 79 78 80 +21 21 18 17 12 12 +66 66 65 62 60 54 50 +81 81 78 76 69 66 63 57 +40 36 34 33 30 29 +30 26 25 23 22 20 21 +24 20 17 14 13 11 10 10 +84 80 77 75 72 71 67 +64 60 58 55 53 48 +88 84 83 85 82 +33 29 32 30 31 +73 69 67 70 70 +95 91 88 87 85 84 85 81 +34 30 29 26 27 22 +61 57 57 55 52 49 47 +48 44 43 43 46 +75 71 70 68 68 65 64 64 +46 42 42 40 36 +79 75 72 72 69 64 +96 92 91 87 85 83 82 80 +80 76 75 71 69 67 70 +61 57 53 51 51 +21 17 15 13 11 7 3 +26 22 19 15 12 6 +73 69 67 60 58 57 56 +57 53 47 46 48 +65 61 59 56 51 48 48 +35 31 28 22 21 17 +49 45 43 36 34 33 30 24 +46 41 40 37 34 32 +79 73 70 67 65 63 60 63 +37 32 31 30 30 +66 59 58 56 55 54 50 +42 36 34 32 26 +74 67 66 68 65 64 62 +34 27 24 22 25 23 21 23 +24 19 16 17 15 15 +40 33 32 30 33 31 30 26 +73 66 65 66 60 +23 16 14 14 12 9 6 +74 69 67 64 64 65 +47 40 37 35 32 29 29 29 +37 31 28 25 22 20 20 16 +60 53 51 49 48 48 46 39 +76 70 66 63 60 +59 52 48 47 50 +49 43 42 38 38 +84 79 75 73 72 71 67 +75 69 68 64 62 60 55 +71 66 60 57 56 +70 64 57 54 53 51 48 51 +89 83 77 75 72 69 69 +50 45 44 42 40 38 31 27 +40 33 27 26 23 20 13 +12 13 16 19 22 24 23 +45 48 51 52 53 54 56 56 +30 31 33 35 38 42 +81 82 84 87 93 +10 13 14 15 13 16 +46 49 51 52 53 54 51 49 +13 14 17 16 16 +36 39 42 39 42 45 47 51 +11 13 15 12 19 +54 55 55 57 60 +30 33 33 36 39 37 +42 44 45 45 46 48 48 +34 35 35 36 39 43 +32 34 37 37 40 43 48 +22 25 29 32 33 +6 9 10 11 15 14 +77 78 82 84 87 87 +24 26 30 33 34 35 37 41 +45 48 51 52 56 63 +18 21 22 23 28 29 31 33 +9 10 13 16 22 21 +31 32 38 41 43 43 +72 74 77 84 85 88 89 93 +37 39 42 49 51 52 59 +73 72 73 76 77 79 +6 3 6 7 10 11 9 +67 66 69 72 74 76 78 78 +8 5 6 9 10 11 12 16 +60 57 59 60 63 64 70 +35 32 30 33 36 39 41 42 +29 28 26 28 31 32 29 +94 92 90 91 92 92 +23 20 18 20 22 23 27 +10 9 11 8 14 +38 35 38 38 41 42 +23 20 23 23 26 29 26 +61 58 58 61 63 63 +64 61 62 65 65 68 72 +7 5 6 6 13 +12 9 13 15 18 19 22 23 +16 14 17 21 24 23 +71 68 72 73 75 75 +12 11 14 16 20 22 23 27 +10 8 11 15 16 22 +54 53 55 58 63 64 +89 87 90 95 92 +17 15 17 19 21 22 29 29 +46 43 50 51 55 +48 45 48 49 54 59 +82 82 85 88 89 91 +11 11 12 13 14 17 14 +77 77 78 79 80 81 84 84 +74 74 77 79 80 81 85 +22 22 23 24 31 +82 82 81 83 85 88 89 92 +26 26 29 30 27 30 29 +56 56 57 60 63 65 62 62 +72 72 71 74 78 +5 5 8 6 11 +74 74 77 78 78 80 83 +27 27 30 30 33 31 +16 16 16 19 20 22 22 +77 77 79 81 81 85 +37 37 39 40 41 41 43 48 +67 67 68 69 73 74 76 79 +3 3 6 8 12 15 14 +83 83 87 88 89 92 92 +22 22 26 29 30 31 34 38 +2 2 5 8 10 13 17 23 +68 68 71 78 81 +15 15 17 22 24 21 +10 10 13 16 23 23 +16 16 17 18 24 27 31 +25 25 27 29 32 39 46 +23 27 28 31 33 36 37 +83 87 89 91 88 +44 48 49 50 53 53 +46 50 52 54 57 61 +9 13 16 17 19 22 29 +31 35 36 33 35 +81 85 84 86 85 +3 7 9 12 15 18 15 15 +50 54 53 55 59 +46 50 51 54 52 58 +58 62 63 66 66 67 70 +35 39 39 41 43 41 +29 33 36 37 37 37 +13 17 17 20 24 +71 75 75 76 79 81 84 89 +21 25 29 31 32 33 35 +33 37 40 44 46 48 47 +5 9 12 13 15 19 19 +23 27 30 34 37 38 42 +51 55 56 60 63 64 70 +50 54 57 60 62 63 68 69 +24 28 31 32 33 36 43 40 +24 28 29 30 36 37 38 38 +52 56 61 63 66 70 +15 19 25 27 29 34 +26 33 36 38 41 +23 30 33 34 32 +65 70 72 74 75 75 +13 18 20 22 26 +43 50 53 55 58 59 66 +12 17 19 18 21 24 +27 33 36 37 38 37 40 38 +74 81 82 84 85 84 86 86 +19 26 23 25 26 28 32 +77 83 84 81 88 +48 55 58 61 64 64 65 +40 45 47 47 48 49 47 +58 63 65 67 70 71 71 71 +30 35 36 39 39 42 46 +74 81 83 86 86 92 +67 72 74 76 79 83 84 85 +49 54 56 60 61 62 61 +62 67 71 73 74 74 +38 43 47 48 51 54 57 61 +19 26 27 30 34 40 +41 46 52 54 55 56 +36 42 44 50 51 50 +11 17 20 21 26 29 30 30 +24 30 33 39 41 42 46 +3 8 11 17 19 25 +85 84 81 80 79 76 79 +17 14 12 10 10 +30 27 25 23 19 +23 20 18 15 14 7 +38 36 35 33 34 32 +59 58 56 57 56 54 56 +45 44 46 44 41 41 +24 21 19 16 18 16 13 9 +79 77 75 73 72 74 72 66 +43 42 39 39 37 +33 30 28 28 25 24 22 24 +15 13 11 10 10 9 6 6 +94 93 91 91 88 84 +52 50 50 47 42 +59 57 54 50 47 46 44 42 +16 14 12 8 6 8 +91 88 84 82 82 +34 31 30 26 24 23 19 +85 84 81 79 78 74 68 +94 93 91 90 87 82 79 78 +28 25 18 16 17 +78 75 69 68 67 64 61 61 +37 34 28 26 22 +98 96 95 90 83 +48 51 50 47 46 +38 39 37 36 38 +49 51 49 47 45 44 44 +61 64 63 60 58 54 +18 19 18 16 11 +88 89 88 90 87 85 84 82 +6 8 11 10 11 +91 93 90 87 84 87 85 85 +77 80 78 81 80 78 74 +21 24 25 22 17 +86 88 85 82 82 80 +51 53 51 51 50 48 49 +53 55 55 52 50 49 49 +27 30 29 29 25 +54 55 52 50 50 47 41 +59 61 60 56 53 50 48 +82 85 81 79 78 75 77 +59 61 59 55 53 53 +27 29 26 22 20 19 18 14 +51 52 49 45 38 +39 40 38 37 36 35 29 26 +65 66 65 59 57 56 54 56 +93 94 92 87 86 86 +39 41 40 37 31 28 24 +43 46 39 36 30 +46 46 44 43 40 +42 42 41 38 36 34 37 +45 45 44 42 39 37 34 34 +81 81 80 78 75 71 +29 29 28 26 25 22 16 +83 83 82 85 84 +70 70 67 66 69 67 70 +31 31 29 32 32 +47 47 44 46 42 +11 11 12 11 10 3 +81 81 79 77 77 76 +79 79 79 76 78 +28 28 25 25 25 +66 66 63 60 60 58 55 51 +18 18 18 15 14 12 5 +35 35 33 31 30 26 24 +7 7 3 2 5 +76 76 74 73 69 67 66 66 +30 30 28 24 23 22 18 +92 92 89 85 84 82 75 +42 42 41 38 36 30 29 26 +74 74 73 70 68 61 58 60 +74 74 72 67 67 +76 76 69 66 63 59 +66 66 63 62 61 55 54 49 +97 93 91 88 85 82 79 76 +58 54 52 49 46 43 46 +92 88 85 82 80 79 79 +86 82 80 79 76 74 70 +32 28 25 22 20 13 +68 64 61 59 57 54 55 53 +72 68 70 67 64 67 +96 92 95 94 92 92 +58 54 52 54 51 47 +39 35 33 32 34 32 26 +87 83 81 79 76 76 73 70 +54 50 49 49 50 +78 74 74 73 73 +53 49 49 47 45 41 +64 60 60 59 57 55 52 46 +64 60 59 55 54 +13 9 5 4 7 +23 19 17 15 11 11 +86 82 80 79 75 72 69 65 +88 84 80 77 76 70 +89 85 83 82 75 73 70 +86 82 77 76 74 72 69 70 +32 28 25 23 22 21 14 14 +77 73 70 68 61 59 57 53 +58 54 48 47 46 45 39 +16 11 9 7 4 1 +24 17 14 13 14 +71 65 63 61 58 56 53 53 +85 80 79 77 76 75 71 +83 77 76 74 73 70 67 60 +88 83 80 81 79 77 75 +72 67 69 67 65 63 61 64 +18 12 9 12 12 +89 83 81 78 75 76 74 70 +46 41 39 36 37 32 +83 78 75 74 71 71 69 67 +47 40 40 39 38 35 32 35 +46 41 39 37 37 37 +58 51 48 48 47 45 41 +65 60 60 59 53 +26 19 15 13 12 +17 11 9 8 4 5 +89 83 82 80 76 75 73 73 +71 66 63 62 59 55 51 +78 73 69 67 60 +39 32 26 24 23 22 19 +70 64 59 57 54 51 50 51 +30 23 18 15 15 +79 72 69 64 60 +25 19 16 11 8 2 +48 44 42 39 39 +4 8 14 17 17 +92 91 90 89 86 86 +16 19 15 13 12 6 +39 36 29 28 31 +78 75 77 78 79 79 +20 24 26 29 33 37 +81 78 82 85 86 +41 37 30 29 28 26 24 24 +68 73 80 82 81 +90 88 87 84 81 78 76 +86 84 83 80 77 76 75 73 +69 67 65 62 60 +22 24 26 29 32 34 +14 12 10 7 4 +69 71 73 75 78 81 +51 48 45 42 40 38 37 36 +50 51 53 56 58 +96 94 93 92 89 +59 58 55 54 53 51 +43 42 41 38 35 +61 63 65 67 70 +97 96 95 94 93 91 89 88 +17 16 15 12 11 8 5 +17 19 20 23 26 +44 47 48 49 52 53 54 57 +53 52 51 49 48 47 44 +84 83 81 80 77 74 73 71 +24 22 21 18 15 12 +71 74 75 76 77 79 82 85 +5 8 11 12 14 15 18 21 +35 37 39 41 43 46 +41 44 47 48 50 51 53 +46 43 40 37 35 34 31 +30 27 24 22 19 16 13 +54 57 58 61 63 66 +77 80 82 85 86 +60 63 65 68 70 71 +83 85 86 88 89 90 91 94 +72 71 68 65 64 63 60 +59 60 63 64 66 +60 57 56 55 53 50 +54 57 60 61 62 +56 59 60 61 63 66 68 71 +57 58 61 64 66 +61 62 63 65 68 69 +32 30 27 26 23 22 +54 52 49 48 46 43 41 +20 22 23 24 25 +28 27 24 21 20 18 15 +75 73 70 67 65 +80 78 75 74 73 72 +37 36 34 31 28 26 25 24 +24 26 29 32 34 +86 89 91 93 94 95 97 +57 54 52 49 46 44 42 41 +75 72 70 69 68 65 62 61 +27 29 30 31 34 35 38 41 +17 20 23 25 28 +38 36 33 31 29 26 +98 95 92 91 89 +14 13 10 9 6 4 2 +24 26 29 31 33 +44 46 48 50 52 54 55 +46 45 43 40 39 38 36 +16 17 18 20 22 24 27 +89 90 93 96 97 +55 56 58 59 60 61 64 65 +68 69 72 75 77 +75 74 72 69 68 +63 65 68 69 70 73 +65 67 70 73 75 76 +72 71 68 65 62 60 58 56 +19 22 23 25 27 29 +35 37 38 40 41 43 46 +22 24 25 26 28 29 31 +54 52 49 47 45 42 +8 9 12 13 14 17 18 +55 53 52 51 48 +27 24 23 20 17 16 13 +65 67 70 73 76 77 80 83 +9 11 12 14 16 18 20 22 +18 20 21 23 25 28 31 32 +65 67 68 70 72 74 76 +17 20 23 26 28 31 +38 39 41 43 45 46 +69 71 73 76 77 79 +89 90 91 94 96 97 98 +87 89 92 94 96 98 99 +34 36 37 38 40 42 45 +13 15 18 21 24 26 28 +81 80 79 77 74 73 72 69 +51 50 49 46 45 +68 65 64 61 58 +56 55 54 52 51 50 +14 13 11 10 8 7 5 +9 12 15 16 17 18 21 +86 87 90 91 94 +87 86 83 82 80 77 75 74 +16 17 18 21 22 24 27 30 +38 40 42 45 48 49 +69 67 66 65 62 59 56 54 +60 58 55 54 52 50 +48 46 44 41 38 +96 94 92 90 89 +77 79 81 82 84 +99 97 94 93 92 89 87 +82 81 78 76 73 70 67 +75 72 71 70 68 65 63 +17 16 15 12 11 +41 43 45 48 51 54 56 +36 34 31 30 29 28 26 23 +69 68 67 65 62 +83 81 80 77 76 73 70 68 +44 41 38 36 35 32 30 +77 78 79 80 83 86 89 +45 46 48 51 53 55 +12 14 17 18 21 23 25 27 +39 40 42 43 44 45 47 +7 9 11 14 15 17 20 22 +65 64 63 61 58 55 +35 32 30 28 25 24 +7 8 10 12 14 17 18 +54 53 51 49 46 +39 38 37 36 33 +83 84 85 86 89 92 +23 20 17 14 13 11 9 6 +31 30 29 28 26 23 21 +37 39 41 42 43 45 +90 87 86 85 83 80 77 75 +55 54 52 50 49 47 +10 12 13 16 19 21 +51 53 54 56 58 59 61 +46 49 51 53 55 +83 85 88 90 93 96 97 99 +25 27 28 31 32 +34 35 38 41 44 47 49 51 +16 15 12 10 8 5 +52 50 47 44 41 39 +80 83 85 86 88 89 92 +34 37 38 39 40 41 42 +54 56 58 61 62 63 65 +23 26 28 30 32 33 +28 26 23 22 19 16 15 13 +52 55 57 59 62 +76 73 71 70 69 66 64 62 +73 75 78 81 83 86 87 90 +57 55 52 50 49 47 44 +74 76 79 82 84 85 87 +27 25 24 23 20 +91 92 93 96 98 99 +40 41 44 46 48 50 +45 48 50 53 54 56 +91 89 88 87 86 +13 16 18 20 22 24 26 +87 89 90 91 94 +81 82 84 86 89 90 +59 61 62 64 67 69 +32 29 28 25 24 22 20 +34 32 30 28 27 26 +21 22 25 27 28 31 34 35 +59 56 53 50 49 48 47 +74 71 69 67 65 64 63 61 +48 45 42 41 38 35 32 +51 50 47 44 43 42 +35 34 33 32 31 30 29 26 +83 80 77 75 74 72 69 +32 29 28 27 26 24 21 +68 70 71 74 75 78 80 +23 25 27 30 33 36 39 42 +35 36 38 40 41 42 43 45 +58 60 61 62 63 +35 37 40 42 45 47 50 +87 86 84 82 81 +33 36 39 40 42 44 +8 5 4 2 1 +68 66 63 61 58 +34 32 31 29 26 25 22 +3 6 7 9 10 11 12 +42 41 39 37 35 33 32 +54 56 59 61 64 67 68 71 +28 30 32 35 37 38 39 +23 21 20 19 17 +78 77 74 71 69 68 +38 36 34 33 30 27 24 +65 68 71 73 74 76 +41 38 37 35 32 +53 54 55 57 58 59 62 65 +59 62 65 67 70 71 72 +70 73 74 77 80 81 83 +97 96 94 91 90 89 88 +47 44 41 38 37 36 +62 61 59 56 55 +95 92 90 89 88 87 85 +14 11 8 7 6 3 2 1 +75 78 81 84 86 88 90 +37 35 33 30 29 28 26 24 +75 76 79 81 84 86 88 90 +78 76 74 72 69 66 +59 57 56 55 52 51 48 +50 53 54 56 59 +45 43 40 38 37 +12 14 16 18 21 23 26 +80 81 84 87 88 91 93 +59 58 56 54 53 50 +16 14 13 12 9 7 5 2 +18 21 24 25 26 29 +14 16 17 19 22 23 26 +92 89 86 85 82 81 +60 63 66 69 71 72 74 75 +62 64 65 68 71 74 75 78 +48 49 51 53 55 +78 75 74 72 71 +67 68 69 70 72 73 +21 23 24 27 29 30 32 +2 5 8 10 12 14 +30 28 25 23 21 18 15 +66 65 64 62 59 56 +48 49 52 54 55 +80 83 85 86 87 89 91 +52 50 48 47 44 42 40 +54 53 50 49 47 +86 89 91 92 95 98 +27 30 31 33 36 +32 35 38 41 43 46 49 50 +24 23 21 20 18 16 +89 86 83 80 77 76 75 74 +26 29 30 31 34 35 +45 44 41 39 37 +32 33 36 38 40 43 45 +74 76 79 82 85 +16 17 20 22 25 27 28 +28 30 32 33 36 37 38 39 +76 73 71 70 67 66 64 63 +16 13 12 9 6 5 +27 24 22 20 19 16 14 11 +24 26 27 29 31 33 +44 47 49 50 52 54 55 58 +29 27 25 22 20 17 16 14 +31 32 34 35 36 39 41 43 +44 41 38 35 32 29 28 +27 29 31 33 35 36 39 +89 88 85 84 83 81 78 76 +70 71 72 75 76 77 80 +69 67 66 63 60 57 56 +20 22 24 26 28 30 +86 83 81 80 77 75 72 69 +18 17 14 11 9 8 5 4 +53 54 56 59 60 61 63 65 +13 16 19 20 22 23 24 25 +42 45 47 50 51 +35 32 29 27 26 +28 29 32 35 37 39 40 43 +82 79 77 74 72 70 69 67 +66 63 60 57 54 +20 23 26 28 30 31 34 35 diff --git a/2024/input.03.txt b/2024/input.03.txt new file mode 100644 index 0000000..1da07fc --- /dev/null +++ b/2024/input.03.txt @@ -0,0 +1,6 @@ +from()]mul(317,745)-+?;what()&{mul(67,323)select()~(+/}what()+when()[who()@))why()mul(41,576)?!*why()}{who()@%;mul(335,137)how(){mul(729,375)?mul(714,984)mul(86,727)[mul(148,442))@,) mul(659,930)why())/@'-select()$don't(){from()/mul(606,455)from()#select()(,when(560,861)from()mul(661,278)@@where(714,248)-) ;how()don't()+#}mul(511,224)[ <,*!,how()[mul(741,103)@ ,-;don't()?mul(405,226)~;mul(690,221)>when();~*][($mul(743,671)$,,!mul(904,48){?{,[<,when()how()mul(214,669){<*<%mul(313,778)<*>%]:~)&mul(328,558)from()why()^:][^)don't()/%/ mul(16,534)where(62,792)^}',do()$ ~&mul(591,671)why()?how()what()mul(158,309):!mul(305,375)+{from()#from()~mul(395,733){$]#,)how()/~who()mul(764,920)+mul(787,366)(&what()>who()~mul(260,940)$why()/,mul(904,953) >$mul(803,943)#@+how()what()mul(97,179)$ )[!:^::&mul(757,133) mul(949,638)/]: /when()mul(533,324)mul(177,653)[&mul(361,108)(,[mul(912,339)[#what()from()why()#don't()mul(130,4)<&what()^when()^-@]!mul(501,376)!(#~when()*'~mul(166,904)how()~mul(229,929)mul(481,574)select(),- {?@how() ?mul(989,487)where()who(),don't()/:@-[mul(398,359)when()what(440,393)}mul(110,756)who()how()!select()%[what()mul(300,194)}don't()-%who()>$^mul(598,480):'how()()#[/~;mul(644,80)%<@(select();mul(254,510)!~]{-!mul(432,50)&@;&from(442,218)mul(128,797)&where()}#mul(210,512)select())mul(22,316)~where()/#mul(228,533)@@?who(),])mul(444,403)why())why(161,374)@:mul(420,83))when()* :>]]%[mul(738,977)/)when()<;do()how()%why()]},}mul(739,424)mul(21,79)(how(964,229)$-mul(886,756)^mul(959]+mul(510,621){/$ %from(535,780)mul(942,849)#;who()select()(mul(884,418)?#}from()}-do()-mul(765,279)!how()~ select()how()mul(230,66)+#>+]}/[why()mul(830,643)]why(),@-+mul(549,381)+-}>)}[,>[mul(384,650)select())+:mul(156,98)?select(265,152)$mul(848,696)(*(}>-what()mul(916,489)<:*~when()why()[>mul(795,164)when():?mul(681,258)#mul(548,602)why()how()({from(791,741)<(]why()@<^,where()(mul(325,852)$from()$~when())mul(354,858)}/[@mul(452,532)mulwhen()&[mul(496,103)mul(670,785)how(776,494)-{&!select()~who()?%>&mul(59,896),mul(323,734)~:-:<,mul(930,720)>{~mul(55,98)how()from()@where()<>where():-;]?>do()>(when()select()&(:'select()-mul(519,249)when()where():*,#what()when()mul(433,688)$'{/&-;^;mul(487,902)?' 'mul(851,22)mul(571,264)[)mul(625,196why(),/%]mul(177,329)when()(what()]select()>%&mul(392,746)?!when(855,314)&-+}[^mul(244,411)~ what()*from()mul(27,419)from() &}mul(783,31)!mul(609,220)>#^!mul(835'*mul(26,372)-mul(968,770)who()why()]%from()}what() >mul(258,240)$mul(767&]mul(255,639)-&why()mul(682,513)][+!@@,{mul(267,914)#'who()+what()do()~)~%];mul(328,10)[$how()}+!<>-mul(286,443,; ;!(how()! do()what()+<(:mul(734,165)how(){:{]#]from(543,898)-mul(311:when()%mul(955,663)&*~>~;{mul(87,123)***mul(273,650)[mul(288,699)how()'& {'%from(){why()mul(677,973)({{>$!mul(962,447)~why()where();mul(193,727)^} '#;))select()mul(332,420)where()who()}%what()?mul(946,222)#)~/where()how()who() mul(784,547) }select()mul(868,939)how()-) when()/mul(766,690)$/(how():mul(289,854){what(){:-from()%{'$mul(616,797);!how()'mul(607,52),mul(634,542)/ ){how()])select(269,907)mul(746,163)])+&& >:where()mul(933,745)<])*select()#;do():+from()/';@:mul(549,673):where()!where(),*[who() *mul(182,300)++&how(14,499)from()[]&mul(674,397)why()from()mul(274,670)/-^/how()%-why()mul(631,257);~}$don't()$where()}#%select()(mul(222,921)select(875,756)+-why()[)+}why())mul(527,536)^*#@*mul(526,226)!mul(509,930)$who()when()/+)when(342,782)~mul(806,222)(],why()where()^mul(528,285)^#?#what()mul(875,506)from()^mul(537,399)/&?{mul(457,240)%^mul(16,257),}%%+?#>mul(780,949)}mul(570,933)when(749,935){mul(708,407)/mul(475,875)mul(124,766)'?where(308,370); '&mul(397,320){>'where()how()mul(558,514)}>#},mul(164who()why():;when()select()(mul(553,336)how()what()]who()why()select()mul(295,32)&from():^?mul(233,116)~]mul(429,202)when()what()select()mul(741,965)*{&#;#$,/how()mul(367,887) +mul(681,506) -^mul(484,363)@:when();where()from()select();mul(186,965)who()from()~who(442,513)who()-&*];mul(116,362)[~where()(where()!/^:mul(733,863):}'when()]^+;mul(75,849)mul(115,784#:@why()%from()'$@mul(592,93)select(773,179){[['>from()}mul(131,959)@who()]mul(394,818)$-(+'^^mul(996,181)select()<> #~*+*mul(53,343) where()when()!mul(954,569)**[don't()+what():%)$-why()#mul(452,447)*{mul(264,795)}how()#when()#from()why()when(745,720)mul(248,687): ^^,<+[when(889,956):mul(937,8)how(235,664)?]?{mul(137,328)?mul(503,926%mul(13,847))mul?why()?select()()mul(460,750)]%;mul(651,280)why()>>,how()when()$? mul(133,236)!<(what()^>'?^mul(748,823)who()where()mul(43,496)select()when()++why()';?mul(875,70)-when(402,701)&)why()'mul(982,841)>^do()>who()where()/]:mul(647,595);select(), ::mul how()where()select()from()&(/+mul(468,107)what()how()#what()>;]mul(957,478)where():?mul>when()%{where()?%mul(592,367)mul,why()mul(72,238)who()?:+<(mul(222,516)%]%#~mul(193,251)when()when())/why()@)@/mul(340,791)&/?who()why(){&,?mul(55,804)']{&%$/mul(316,546)when()who()mul(971,888)[mul(103,609)]*>)<[;~/what()mul(490,677)why(898,282)mul(170,318)*how():>&^)-where()from()#,when()mul(372,78)>?*select()from()!&]why()mul(449,613)'select()!'do()'<*mul(761,836)what(){!(who()why(634,576)mul(802,819)]/+who(){} select()$mul(203,130)<'mul(400,590)'mul(951,874)where()mul(186,662)who()[who():;@;mul(192,643)$'why()[:?don't()&(-select()!;*?mul(517where()#mul(484,952)/&[};<,mul(191,767who()'{:why()how()from()}mul(391,241)]mul(564,815)!@,~mul(327,855)mul(515,532)*([>{:don't()when()% mul(399,207)@->mul(176,348)why()what()mul(517,732)]:,mul(832,279)what()?*-<+>mul(158,912):@!^-!mul(630,685)(/*what()}from()@#!mul(737,751)'/$how()from()mul(952,556)what()~~},:,don't()[(how())^/why()why()when()mul(464,363)@select()? when()where()mul(380,587)mul(935@<;mul(311,283)-,+{>;&;~mul(217,900)from()when()){%@{+<~mul(861,412){mul(649,279)when()!->{mul(53,704)}>mul(124,780)(}^@]from(){where()#mul(323,768)]what():/'':select()mul(42,323)!select(),$mul(833,631)where(920,91));?select()mul(274,3)-]^^*~{/mul(195,31)~}#select()+[ why()mul(437,871)how()#where()$? what(265,149)[mul(53,447)@<-mul(182,3)}>#!/usr/bin/perlmul(836,288) +&/where(234,114)mul(230,255)(;{~*where()/+from())do()how(174,635)where()(>~(mul(547,383)how()(]( mul(394#when(217,999)[mul(520,655)@/} mul(883,280)(from()+#mul(993,6)@%,@}'*-mul(469,993)*})mul(329,69);<}}mul(94,7):{'mul(299,57)->where()who()><<@}mul(192,320);-< (mul(348,932)(+mul(565,629)/how(792,174)mul(994,456),&from()when()from()from()$select(){+mul(518,910)where()$mul(42,710)mul(447,192)what(); &mul(535,494)@&mul(39,121~where()>]@who()$mul(238,165)}{&how():)mul(293,498)@^ why(231,662)mul(91,213))@who()*when()mul(547,308):~~^how(179,495)(where()mul(334,412),!}}?,*what()mul(704,941)}:]^mul(215,465){~&!*@{where(719,643):[mul(653,594)who(){;-{}mul(307,823)^(?{><}+@mul^<]?,who()?mul(989,866)}when(881,287){)-who()::who()mul(642,431)@-mul(817,550)from()>'(when();!%&mul(315,78)%select()mulwhen()~(why()]mul(636,929)when()%->mul(53,720'](;!$mul(931,769)(---+[*>don't()+&when(88,906)*$where(),@mul(223,251)#]'<+,%mul(146,115)how()]mul(136,688),mul(222,174)#]mul(75,636)^who()mul(76,992]mul(280,202)]select()!>,when()when()#mul(68,678),:$$select()?why(302,488)>#what()mul(923,779)who())]>]mul(525,656)'%#mul(110,925)from()]$?>why()what()mul(485,123)?where()'!(@)/?%mul(62,61)#who()don't()'from()who()mul(863,433)])what()<{'[>{where()mul(955,358)+select()what()*from()from()how()mul(674,255)how():who()/[when()+mul(672,815)/{}mul(814,989)mul(522,617)][why();mul(938,866)?'mul(721,230),!how() %$^{^'mul(89,252)@how()!--what()@what()mul(66,916,;select()@from()>[mul(908,102)$how()[how()}/:mul(352,260):?where()how(418,410)<@*~why(){mul(288,873)^'}${+{when()select()mul(577,817);!<+)%#mul(398,599)?mul(410,933)![;~[(mul(372,736)-{^who(284,999);>$don't()~where()mul(946,342)',* >when()'from()~don't()>mul(48,678),-how()where()mul(521,176)*]mul(653,286)[what()';mul(527,517) :'%do()'how()when()why(638,246)~*&'mul(817,515)when():)^&;mul(902,760)when()who()+from() !&)/;mul(490,93)when()mul(999,859)?'mul(23,41) !where():>--']mul(529^who(824,944))/where(){mul(730,713)}~&**where()mul(783,314)when()![%@mul(192,618)mul(639,668)+from())&who()%*~ 'don't()*$from()-!when()]from()mul(176,706)< -#mul(985,33)$/,']mul(166,740)mul$)>!%]^-[mul(741,253),select()*mul(994,973){+$%%what(970,247)%#mul(569,793),where()$][-?&#:,mul(795,367)from()/~)mul(184,867)}where()when()^(mul(11,847)&mul(252,382)&how()what()*where()mul(42,377))select(451,494):^}*mul(519,853(]mul(645,935)[*,]-&]select()mul(205,327) ]),*)mul(411,698);^[[who(212,491)& -,mul(83,917):how()select()%((+&@mul(86,812)!%how()mul(555,734)(!#select()*'where()from()how()mul(815,589);~-^where()-select()mul(981,251)why()@what()]@*do(){what(874,233)mul(74<)'%[ )mul(461,683);]why()who()(when()*%-{mul(927,403)@/@~where(584,953)--mul(766,900)select()@['+:{)when()mul(919,825)mul(762,132),>%~from(364,888){who() )mul(783,336)where()~$?; ?!don't()mul(275,278)}what()mul(167,505)*^',;^from()mul(692,244)#'^>mul(835,721)!~what()',@mul(447,777){[from(133,514)what()mul(642,217)'(from()@/'how()<^{mul(831,368)@! what()why(434,98)@ don't() who()$]mul(40,963)mul(130,643))what()/select()mul(211,425)${mul(443,261)select()-<^ select()]where()!don't()}#!,where()how()mul(862,985) ,^!how()@don't()!:(what()mul(981,127)~'from()-mul(871,89) :]when()mul(467,236)mul(606,18)+!$:(mul(753<]who(){[how()from()#mul(986,891)#:when()mul(519,399)who()))#*mul(545,827)mul(638,830){select()mul(466,624) :)when() #mul(254,927)&what()where()why()}}#mul(827,465)};]what()>why()mul(242,606):';-/mul(404,75)mul(221,314)who()@who()*[select()>%mul(414,100)!what();why()~what():$ why()mul(315,402)]don't()!where()},from()#how():mul(286,647)+what()+why()%*!^when()-mul(902,822)when()>why()mul(7,343)select()where();},>&why()?&mul(564,706)()!*how(),why()>{mul(369,110)>,#mul(663,681*~@,@how()$mul(340,519)&)when()from()mul(590,642)*(/>'%$'where())mul(992,803)how()when()mul(863,400)@~from()>mul(708,294)>?@what())#$&mul(235,189)/~%-+)+&!~don't()>where()when())?mul(289,183)+$select()how()mul(597,749)why()mul(891,949)?mul(114,531) %+/,$from(493,501)-&^mul(591,30)}<@<[?;mul(91,804) +^%mul(449,407))mul(731,490)#+)(why()?:when()mul(666,844)mul* select()who()mul(930,953)+~@^-mul(739,539)@who()]?& when() mul(989,203)(:)?];where()$mul(862,477)mul(861,661)%~%~/!mul(224,714)[ mul(737,853,^from() mul(212,888)>mul(185,546);#'}%why(292,59)mul(428,503)where()#>from()>;mul(47,787)/,select()<;>?]where()mul(781,376){select()-}>mul(193,943)how(),how()-)from()$+-mul^^%#$from()>how()*why()%mul(760,582)mul(702,579)+:mul(640,791)what(47,178) &!^who()how()mul(649,839)/!^/why()mul(590,380)select()why()< >where()< mul(59,685)<+'when()#/select()!:mul(926,631)who()>how()}?}how()mul(766,724)*+]don't()/ >,~{who()[)mul(562,645)from()select()~where()why():mul(921,271)^where()where())mul(5,76)+;]select()+^>select()(^mul(327,476)-?<[who(665,286)where()mul(17,787)$/where()who()mul(797,991)*@when()]mul(288,945)!;%select()select(221,67)?where()(select()mul(103,613)>*$:#(<#mul(897,461),++'{:^mul(399,45)/[[$)what()?'mul(884,145)-<@ mul(907,419)$how()!mul(746,659)*%>why()}!do()-*why()where()mul(836,181@&>/@/)>#!;mul(511,857)what()^when(839,625)}why(642,188)mul(871,977)where()%where()select()#((when();,mul(996,95)<-from()}+mul(489,882)how()-]]&select()%~@select()mul(526,213)+where(){mul(196,64)>:#who()*(^why()(where()mul(305,841)^~&why(),@ )mul(33,152)%:+mul(276,813)?!how()-where()(>mul(166,466)mul(120,970)){+, #how()don't()<(select()/$from()!?mul(528,858),%%when()+#mul(582,880)[*how()what()-mul(880,694)why()-)how()mul(765,222)''how()'mul(568,629)'%mul(995,665)? ,};'[+mul(613,221)*)mul(90,933)how(){mul(873,519)#+how():*}#?^mul(568,189))mul(64,852)}from(101,629)!where()mul(883,789)mul(787,121)(who()'from()mul(904,116)(];[,?^mul(58,874)mul(825,942)-mul(966,765)mul(288,95)select()?where()%mul(362,992)]select()how()/select(){mul(731,806)&how(305,337)who()]when()}{why()where()mul(761,298)who()+{@;^?mul(261,9)who()mul(911,882)<;)who()/ mul(627,335)<+~-mul(975,402)what()]mul(952,216) why(),;:@when()how()mul(592,925)(!mul(12,402) mul(487,955)select():!~+>:who()@mul(777,428)^+what(385,392)'(:select()<'mul(492,807)@,mul(613,475): mul(787,127)&!,mul(289,109)?)*mul(863,691)!-/@$!mul(357,967)#:?' {?what()mul(824,697){&from()+how()mul(600,525)@mul(783,413):&*$>select()&mul(192,535)?select()who()when()@ diff --git a/2024/input.04.txt b/2024/input.04.txt new file mode 100644 index 0000000..a6917f0 --- /dev/null +++ b/2024/input.04.txt @@ -0,0 +1,140 @@ +MMMSAMXAMMXSXXMAXAXXXSASAMXSAMXSAMXMAXSAMXSXSMSASAMXXXSASXSMSSSSXMAMSAXMSSXXASASMASXAXXMSMSSMMMSAMXMMMMXMXSXXMSXMAXXMAMXMSSXXMAMMMSMMMMMSXAX +XAAXAMXMASXMASMSSSXSASASAMXMXMAMXMAMXASXAXMAXAMXSAMSMMSAMASAAAAAMXMASMMMMMMSMMASAXAMMMSMSMAAAASMMXSMSMSASMAASXMASMMSXMASASASXMASXMASAAASMMAM +SMMSAMAMMAMXAMAMAAAMAMXSMMAXAMMSXSAMXASMSAMAMAMASXMASASAMAMXMMMMAXMAMAAAAAAAMMMMXMSAAXMASMMSMMSAMXSXAASASAMXMASXMAASAMAXMXMAXSASASASXSXXXAMA +XAAMAXMASASMSSXMMMMMAMAMASMSMSAAAXASMAMAMMXMXAMXMAMASXSAMXMASXSXSXMASXMSSSSMMAASAMXSMSMAMAMXMXXAMASMMXMMMXMASXMAMMMSAMXSXSMMMSASAMASAMASMSAS +MMMMMMMASASAMXMXMSMMAMAXAMMAAMMSSMAMMSMSXSAMXSSMSSMASMSXMAMXMASAMAMXMMAXAXXXSSSSMXMASMMASAMMMMSAMASXXAAAAASAMAXXMAXSXMAMMXAAAMMMXMAMAMAMAMMM +SASASAAMMAMXMASXMAMSASXSSSSMSMMAAMAMAXAXMMASAMAMAXMSMAXMSASMMMMXSAMAMMMMMMXMXMAXXSAMXXSASASXAMSAMXSXSXSMSXMMSSMSSSXSASMSMSSMSSXAXMXSSMAMSMXX +MASASASMMMXAMXAXSMMSMSAAAMXAMXXMMSAMXSXXASAMASAMAMMAMMMASXXAMMAAMXSXSASASASMAMXMXMAMMXMASAMMAXMASXMAXAAAMAXAAAAAAXAMAMXAAAXMAXMASXAAXAXMMXSX +MAMAMMXXAMSXSAMMXMASMMMMMMMMMMMXXMAXMAMSMMXSMMXMSSSMXAAMMXSSMMMSXMXMXMSASASMASAMASAMXAMMMMMASMMASMMAMSMMMAMSSMMMSMMMSMSMMMSMXSMSMMMMMMAMXASA +MXSXMAMSAXXMXAMASMASXSXMAMAMAMXMASMMXAMSAMXSAMXXAAXXMSSXXXXMAXAAMMXSMAMMMXMXAMASASMSSMMAAAXSMAMASAMAMXAXMXXXAXAXAAXXAAMXSAXAXMXAXAMMSMAXMAMA +MAMAMAXSXXAMSSMAXMMSAMASXSASXXSAMXAMMSXSAMMMMMAMMSMSAMXAMSAMXMASASAMMMMAXASMSSMMASXAASASXMXMMMMASXXXXXSMSXMSXMSSSSMSMSMAXMASASXMSXMAASMMMAMM +MMSSMMMXSXXXAXMSMMAMASAMMMMSAAXXXXSMAXAMAMAAAAAAAXAXXMMMMSAMSSMAXAAMXMSMSAXMXAXMSMMMSMMMASASASMXSMMSAAMAMMMSXMAXMAXXXAMXSMXMXMAXAAMSMMSXSMSS +XAAXAXMAMSAMMXMXAMXMAMASXAAMMMMXMAXMMMMXMMSSXSASMMAMXSAMMMAMAAXMASMMXXAMMXMMSSMMAMAMXAXSMMXSAMASXMASMSMXMAXMASMMSAMSSMSAMXAMASMMMSMXAASMMAAA +XMXSMMMAMAXASASMSMSMXSAMMMSSMXMXMAXASMSAXMAXAMAMXSMMASMSMSMMSMMXMXMAMMSSMMSAAMXSAXAMMAMXXSAMAMXSAMXSXXXMSMMAMXMAXXAAAASMMSASXSXXMMAMMXMAMMMM +MMMMMASXMXSXSASAAAXAAMASXMAMAAMAMMSXSASMSMMSSXXAAMAMXSXAXMAAMXSAMASAXAMAAAAMMMASMSSSMAXXAMXSAMXSAMAXMMAXAAMSMSMSSMSMMMMAMSXXMMMMAMAMXAXXMXMS +XAAXMASAMMXAMXMXMMMMMSXMMSAXSASXSXMMMAMXMAAMMSAMXSXMASXMSSMMSASASASASXSSMMSMXMASXAAMMSMMMSMXASASAMMSASMMMSMAAXAMXAAXAAMAMMMMXAAXXMSAXMSXMAMA +SSSSMMXAMXMXMAMXSMXMAMAXXXAXMXSASAAXMAMAXMMSASMMMAMXAMAXAAAAMMSMMAMAMMAXSMAMXMAXMMSMAMXSAAASXMASAMMXAXXAXAMMSMXMMMMXXXSXMAAAMXSSSXXAASAMMSSM +MAMXMXMMMMAXMMXAXXXMASAMMMSMSAMASMMMSAMMXSAMASXSXSXMASMMSSMMSMSAMXMMMMSMMMMSXMAXSMMMXMAXMAXMMMAMAMSMMMSXSMXSAXAASASXSMAMSSMSSXAXXAMXMMASXAAX +SAMASMSAAASMMXMSSSSSMXAAXAAXAXMMMAMASXMSAMASAXAXXXSMAAAAAAXXAAXMMSXMAAAASXMMMMMMSAXAAMMMSSSXSMMXMMSASAMXAMXAAXMAMXMAAMXMAXMAMMMMMMMXXMAMMSMM +SAMAXAMMSMAAMMSMAMXAMSSMMSSSMSSXSXMXSMAMSSMMMMSMMMXMASMMMAMSMSMXAMASMSSSMAAMMMSASXMMSSMAMAAASMXAAMSAMASMSSSMMMMSMMMSMMSMMXSASASAMASXXXASMMXS +SMMSXSXXAXSAMXAMAMSAMXMAMXMAXAXXMAMAXMAAXMXAAAAAAXMAXMXXMXMXAMMMASXMAMMXXSMMAAMASXXAAMMAMMMMMASXSMXAMAXAAAXXSAMXASAAASXXXXMASASXSASAMMMSASAM +XMAXSMXMAXMAMSASAMXASMSSSSSSMMSSMSMMXSMSMMSXMSSSMSSMSSSXMAXMMMMXAMMMSMAAXXXSMSSMMMMMSXSXSAAAMXMAAAXXMXMMMMMMSASMMMSXSAMSMXMMMAMAMMSXMASMXMAM +MMXXAXAXXASAMSAMXMSMMAMAAAAXAAAAAMAXXXXMAMASAMXXXAAXAXMAXAXSAMAMMSMAMMMMSMXMAMXMAASAMMSMSXSSSMMSMMSMMXMAAMSXSXMASMMXMAMXMAXAMAMAMMSASXSAMSAM +SSMSSMMMMMXMMSAMSAMXMAMMSMMMMMSSMSAMMXMSSMMAMMMMMXSMSSSSMASMAMXSAAMASAAXMMAMSMXMSMMAMAXASAXAMAMXAXXAAMSSSMSAMMSSMAMMSMSMSMSXSASASMXASAMXAMAM +XAAAAAAAXXSSXSAMXMAXSXXAAMMAMXAXXXAMASXMASMXMASASXMAXAAMMXMMXMASMXMSSXMSSMXSAAXMMXSAMXSSSMMMMSMSMMSSMXXAMXMXMASAMAMAAXAAMAAASASASMMMMMMSSSSM +SMMXXSMXSAMXAMXMAMXMAXMXSXXASAMXMSSMAXAXSAMSSMXMXAMXMMMXMSMXSAMXXSXXXXXAAXSAMSMSAMSXMMXAXXAAAAAAAAAAXMMAXMSAMXSAMAMSSMMSMMMXMXMMMXAAAXMAAAXM +AXMSAAAAMAMMXMAMASASXSSMAMMMXXXAMAAMAMSMMAXAAAMSSMMMXAAMMXAASMSMAMMSXSMSSMSAMXMMAMMASMMMMXMMMSMSMMSSMXSXMAXXXASAMXMAMASMMAXXMSAMXSSMSSMXMXMX +AMAAMMMSMSMMASMXXSASAAXMAMXSSMMSSSSMMSMASXMSMMMMAXAXSSMSAMMMMAAAAAAXAAXXAMXAMXSSSMSAMXAMASXSAMXAAAXXXXXAMSSSMASMMSSMSMMASMSMMASMXXXAMXMAXSXM +SXMMXMAXAMXSMAMSAMXMMMMMASAMAAMAAAXMXAMXMXAXXSAMXMMXAAAXMAMAMSMSSSSMSMSSSMSAMXAAAAMAXSXMMMAMAMSXMMSMSMSAMAAXMAMAMAAASXSMMMAAMAMMXAMXMAMMXXAM +AAXXSXAMMMXSMAAMAMASAXMAXMAMSMMMMMMSSMMMAMSMASMSAMXMMMMMXMASMMAAAXAAXXAAAXXAMMMSMMMXMAXSMSXMAMAMSAMAXAAXMMSMMMSAMMSMMAXXASMSMXSXMXMSSMSSMSAM +MSAMAMASAMXXMXXMSMASASXSXSXMXXSAAAAXXSXMASMMAMASXSXXAASXSAMXAMMMSMMSMMMXMMXMXSXXMAXXAMMXAAAXXMSXMAMXMMMXSXMAXAMAMAAXMSMSMMAXXMMAMXAAXSAAASMM +XMAXMMAXAMMASXSSMMXSMMMMASAMXASMXMMSASXSXSXMASAMMMMMXXSAMXSMMXAMAXXAAAAASMMSAMAMSXSAMXAMSMSAAAXXMSMAAAMMMASMMSSSMSMXMAAAXMASXAXAMAMMSMMSMMMS +MSMMXMMMXMAAMAXMASAMXAXMAMAAMMMSXSAMXMASAMMSXSAMAXAASMMXMAXASMXSASXSSMSSXAXMAMSMMASXXMXMMAXMMMMMMXAXSAXAMXMMAXAMAMAASMSMXMMSXMMAMXXXMAAXMXXX +XAAXSASAAXSSMSMSXMXSMMXSASXMXAAXXMAXAMXMAMASMSASMSXXAAMSSMSXMAMMMMMAMMMMMSMMAMXAMAMMXMMXMAMXSAMAMMAMXMSMMAXMAMSMAMSMMAAAAXAMXMAXXMASXMMSMSSS +SSXMSAASXXAMAXAXMMMAXAAXXSASAMXMXXMXSMMSSMMXAXAMAAXASXMAAXMMMAMASAMAMAASMMAMAMSXMAMSASASMXMASXSAXXXMXMAXSXSXAMXMMXXMMSMSMSASMMSXAXAXAASXAAAX +MMSAMSMMMAMMAMSAAXAAAMXSASAXASAMASMAXAMAXMSMSMMMMMMMMAMSSMMASMSASASMSSMSASMMAXMMXMAMAXMXMAAMSMSMSMMMXSAMMAMXMASAMXMSAAAAAAAXMAMSMMSXMMMAMMSM +XAXMXAXMAMAMXSXMMAMAAAAMAMMMMSASAMMASAMMSXAAAAMXMMAXSAMXMASASXMAXAMMAMXMAMASXXMXAXMMSMMSSMSXMASXAAAMMMMAAAAXMASXMASMSMSMSMXMMSXMMAXAXXXAMXAA +MMSSXMXXSXSXMAXASXSSSSMMXAXMXXXMASMASXMMMMSSMSAMXMMAXAMASMMMMXMAMXMMSXSASMMXAMSXMSXAXAAAAAXMSMMXSXMMXAXMSSMMSASAMXMXXXXXAXSXXXASMAMMMXMAMXMX +SAAMAXMAMXXAMASXMAMAAAXAXSXMASMSMMXXXAXAAAMAMXAXMSMSSXMXSMAASMMASXAXAMMAMAXMMMAASAMMSMMSSMMAAAAAMXSXSASXAAAXMAMXAMXAXMMSASAXXMAMMMSSSXSMSASX +MMSXMMAASMSSMAXAMSMMSMMSXMAXAAAAAXXSAMSMMMSAMXAMAAAXAASAMASMAASASMMMSSMXMXMXSMSXMAMXAAAMAAMSSMMMSASASAAMSSMMMSMSMSMXMAAXMMAMXMSMSXAAAAAASAMA +SXAMMSSXSAAXMASXMMAXAXAXASXMXMSMMSASXXAAXXMASXSSSMMMMMMASAMXSAMXSAXAMXMASMMXXAMMSXMSSSMXSAMXMXAAMAMAMMMAXAXMXXASASASMSMMSMXASXXAXMXSMMMMMAMX +AXMAXAXMMMMMMXSAASMMMMSSMMASXAXASMAMMSSSMSSMMMXAAXXAAXSXMASAMASMSXMXXAXXAAXAMXMAMAMAAAAXXSXAMSSMMXMXMAXMMAAAAMSMAMAXAXXAAMXAAAMMSMMXXAXAXAMX +MMXMMSXMAXXXMXSMXMSAMSMAMMASMAMMMMAMXAAAAMAMSAMSMMSSXMAXMXMMSAMMMAMMSSMSSMMAXSMXSSMMSMMMAMMMXAAASXMMSXSAAASMXSAMXMMMAMMSASMAMAXAAXMASMSSMMSM +XAMXAAMSAMSAMAMXXAMXMAAAXMASAMMAMSAMMMSSMSAMXSAXMAXMMMAMXMSXMMSASXSAAAAXAASMMXAXSAMXXAAMAMAXMSMMMASXAAMASAMAMAMXAAMMSXXMXXXMAMMSSMSAMAAXMMAX +ASAMMSXSAXSAMASXMSMSXMXMSMASAMXAMSASXMAXAMXMMMXMAMXAAXSMMAAMSAXASAMMXMSMSMMAMMMMXAMSMSSSMSSSXXAASAMMMSMAMXMMMAMSSSXAXMASMMXMAMAMXAMMSMMSXSAS +AMSXSXAMMMMXXAMAAAMXASAMXMASAMSSXSMMMMAMMMMMAMASMMMMMMXAASMMMAMMMMMSXAXAXMXAMXAAMMMSAMAAMAXMASXMMAMXXXMAXXXMMMXXXAMASASAAMMSAXSAMXMAAAXAAMAM +XMAMSMXXMASXMSSMSMXSAMASAMMSAMAMMMMAXMXSAAMSASAXAAXXAAMSMMXXSASAAMAMMMMXMMSMMSMMSAAMXMSMMMMXXAMXSAMXMMMSMXAMAMSMXXXMAXXMSMAMMSXAAXMMSMMMSMAM +XSXSXASXMASXAAAAAAAMAMSSXSASAMXSASXSXSASXSMSASASMMSAMSXMAMAMSASMXMASAMAXXMASMAAASMSMAMMMASMMMAXXMXXAAXAXXXXXASASMXMMSXSAXMSMMXXAMXXAMASMXXAM +MXMAXSMAXAXMMMMMMMMXXMXMMMASAMXSASAAAMXXAXASAMAMXAAXXXAMAMAMXMMXXSASMXSAASASMSMMSXAMMMAXAAAMSXMXMASMXMSSMXMSMSAMXAMAXAMMMMAASMMSSSMMXAMAMSSS +AAAMMMSXMSAMXSAMXMSMSXSXAMMMXSAMAMMMMMSMAMAMMMAMMMMMMSMMAMASMSAXXMASAAMSMMASAXMXXXMASXSMSXSMSAMXXMASAMXSAAMAMMXMSXMAMAMXAMSSMAAAAXASMSMSXAXX +MASXAAXXXAAMAMXMASAMSAMSXSAXMMMSMXAXAASMAMXMSXMSMSAMAAXSMSXXAMSSXSXSMMMAXAAMAMXMASMSSXAAAAMASXXAXMASXMASXXSASXSMMXMSSSSSSMXAAMMMSMMMAXAXMSSS +SMXXMSSMXSXMAMASMMXSMAMAMMMSMSAAMMMXMASAMAMMSAAAXMAMSMMAASAMSMXMASAMASMMSMXMAMAXMAXAXMMMMSMAMSXMSXAMAMXSMMXXSMSAASMAXAAAXXSXMXMXXMSMXMAMXAAA +ASASXMAMMMASASAMMMSXXSMMSAAMMMSXSASASAMAMMSASMMMSSMMXXMSMMAMMAAMMMAMAMXMAXASXSSMSXMSSMMAAXMAMMXSAMMSXMXMXSSXMASMMSSMMMMMMMMAMAMXMAAMAMXXMMSM +MMXSASXMASXMMAXXAMXAMMAXSMSSMAMMSASAMAXAMXMMSXSMXAAAXAXMASXMMSSSXSXMASASASMXAAMMMAMAAASMSXSAASMMMMAAAXXMASMAMAMAAMAXAXSASAAAMASAMSMXXXAMAMAX +XMASAMXMXXAAXAMXXMMXMSMMXXMAMASAMAMMSSMASMSXMASMMMMMSSMXAMMAMAMMXMASASXSAXXMMMMAMAMMSMMAMAXXMXAAAMXSSMAASXXAMXMMMSMMMMMASMSXSASXXAMMSXMAXXAX +SMXSMXXMASXMMXSAMXSMMAASXMSXMAMAMXMMAAXSMMMAMAMAAXAXXXAMSMMMMAMXXMAAAMMMMMMXSASMSSSXAAMXMAMSSSMMMMMAMMSMMMSMSXXSXSXMASMXMXXMAMMXMASASASMSMSM +SSMMMMXMAMAAAAMASXAAMMXMAMAMMMMAMXMMSSMXAMMAMASXMSSSMMXMAAAMXSMSMXAMSMSAAAXASMSAAAXXXMMMMXMXAAXAAXMAMAXAXXAAAMAMAMXXAXXSSXAMMSSXSXMASXMASAMS +MAMAAXXMMSSMMXMAMXMSMMMSXMXSASMSSSXAAAASAMXSSMXAMXMAXAASXSMSAMAAASMXMASMSSMMSAMMMMMMXMAXSAMXSMMMMXXAMXMMMSMSMSSMAMMMSSMAAAMSAAAXAMMMMAMAMXMA +SAMSSSMSAAAASAASXSMAXAAAMAXMASAAAXMMSSMMXMAXAXSXMAMSMSMXXAAMAMAMMAXAMAMXMAXAMXMMXMAXAMAXSASMXMXSASXSSSSXAXAAXMASXMAXXAAMSMMMMSSMMXSASMMSSMXM +SXXXAAAMMSSMMAXXAASASMSMMMSMSMMMMMMMAMMSXSXSAMXMSMSAAXAXSMSMSMAXSMSAMMXSMASMAAXMASXSMSSMSXMAXMAMMSAAAAXMMSMSMSMMMXSMXXXXAAXXAXAAXMMAXSAXMAXX +SMSSSMMMAMAAXSSMSMMXSMMAXMAMAAXXXSXMASXXAXAMXMXMASXMMMXMAAXAAXXXSXSXMSAMXAAXSSSMXSAAAAXAMMMSMMASAMMMMMMMXAAAAAXMAXXAMMSSMSSMMSSMMAMSMMMSMSSX +SAAAXXXMASXMMXAMAXMAMASXMSASMSMMASAMSSMMSMMMAXAMXXMAAAMSMMMMMSMASAMAAMMMMMSMMAMMMSAMXMMSMMAXASMSXSSXMXXXXMSMSMSMSSMXSAAAXAMAXAAAMMMXAAXAAASX +MMMSMMXSAXAXSSSMSXSAMAMAMXMMXXAXAMMMMMAAMAMSMSMSASXSMSMXAAAXAXMAMAMXMASMAMAMMAMMAXXXXSAMAMAXAMASXXMAMMMMSMAAMXSXAAMAMXSXMMSSMSXMMASMSMXSMMSS +XMAXAMAMMSMMMAXAXAMXSASMMSMSMSXMMSXXAMSMSAMXMAMMASXAXXXSSMSMMSMMSXMXXSXSASXSMMSXSSMXXMASMMMSMMAMSMSMMASAAMXMMMMMSXMXSAMMMXAXXMMSSMSAAMXMAMXX +SMAXAMAXXAXAMXMMMSMASXSXAASAAASXXAXSMXAAXXMMSMMMMMXSAMXAMAXXSAMMXAXSMXXSMSAAXMAMMAMSSSMMMAXAXMXMXXAASAMXSXSAAXXAAAXXMASAMMXSAMXAAXMXMXAXAMAS +XMSXMMAXSMSXMSASAAMMMXXMMXSMSMAMMMMMMMMSMAXMAAASASXMASXXMMMMSASXSMMMASMSMMXMMMAMSAMAAXMAXXMXMAMXSMSMMASMXASMSMSXSXMAMAMAMXMSAMMSSMSMSMSSSMXS +AXMASMMXSAMXMSAMSMMAAMMSSMMXMXMAAXAAASAMMMMSMSMSASMSXMASMMXAMXMAAXAXSXAXAAMXAXMXSXMMSMSAMSASXMMXXAXMXMMAMAMAMASAAMSXMASXXMASAMAAAASAAAAAAMMM +MSMAMASAMMMAXMAMAMXSAMMAAASXMXXSSSMXMSAMASAXXXAMAMMMASAXAAMXSMMSMSMMMAMSMMSXMXSAMMMSAMXAAXAMAMSSMMMAAXMXMSMXMAMMMMMASAXXAMXSAMMSMMMSMSMSMMAA +SAMXXXMAXXSMSSXMAXMXAMMSMMMAMMMMMMMSMXMXAMXSSMXSAMASMMSXMMMAAMAMAMXSMSMAXMAAMSMMMAXMASMMMMMSAMAAAMASXXAMXAMXMASXMMSXMASXSMXSAMXXASXXXXXXASMS +AXMASMSSMAXAMASXSSMXAMXAMSSMMAAAAAAMXAXMXSXMXMASASXXMAXMSAMMSMASAMSAAASXMMMSMAAAXSMSXXMAAAMAAMSSMSXMMSSMSMSSMAMAMMMSMAMXASAMXMXMASAMMSAMXMAX +SASASAAAMXMASAMXMAMSMMMMSMAAMSSSXMSSSMMSAAAMAMMSAMAAMASMSASAAMXMAXXMSMSXSAAMMMMMMMAAMMSSSSMXXMAXAXAXAAAAMXMXMASXMAASMSXSAMMSAMMXAXASAAXMXMSX +MAMASMMMMXSAMXSXSAMXXAAMAMMMMMMMAXAAAAAMSSMSMSAMMMSXMMSASAMXSSMSSMMXXAXASMXMAXAXAMSMSAMAMMMMXMXMMSMMMSSMSASXSASMSMSMAAXMXAMXASXMMSAMXMXSAAAA +MAMAMXSAAXMXMAXAAAMXSSSSXSMSXSASMMSMSMMXMMAXXMMSXAMAMAMXMXASAAXAMAAAMXMMMSSSMMMMSMXMAXMAMAAMMSSSXSAAAAXXSASXMASAXMAXXMXMMMSMMMMAMMMMSXAMMMMM +MXMAXSMMSSXMASMSMSSMMMAMAMAMAMMMSAXXAMXAAMAMXMXXMMSAMAXAXXXMASMSXXMASMSXMAMAMSMAAAAXAXMAMMXSAAMAAMXSMMSAMAMXMASMSSSSXXXXAAAAAAXSMASAMMSMSXSA +MSSMSSMXMAXXAAAMAMXAAAAMAMXMASXAMXSAMXSXSMSMMSSMMAMXXXXSMXXXXMAXMMXXSASXMAXAMAMSSSMSMSSSMSAMMSMMXMAXAXMAMAMXMASAXAAXMXMSMSSSMXMAXXMAMXXAXAAM +AAASAMXASMMSXMXMXMSSMSXXAXXSAMMXSXSAMXMAXMMAAAMAXSSSXMAMAXSMMMXMASAXMMMMMMSSSMXAXAAXAAAAXMASXAAXXMAXAXXXMASASMMMMMMMMAMMMAMXMAMXMSSSMAMXMMMX +XSXMXMSASAMMXMMSAAAAXAASXMMMSXSXMASAMXMASAXMMSXSMXAAAMSMSMSAMXMSAMXXMSMAMAMMAMMSSMMMMMSMXSMMMSSMXMMMMSMSSMSASXASXMXXMAXAXXMASXSMMAAXASAMXMSM +MMAMXMMAXAAMXSASMMMSMMMMSAAAMXSAMASAMXMASMMXSAXMAMMMMMMAMXSSMXMMMSAMSAMSMAMSAMMAXXAAXXAXAXASAMXMXAAASAMAAAMAMXMMMSXMSSSMSSMXAMMAMMSMMMXXXMMS +ASAMAXMMSSMSAMXSXMSXAXMASMMMXASXMASASMMXSAAMAMAMSASASMXXSMMAMXSMSMMMSASXSXXSASMMXSSSSMSXMSMMASAMSMMMSASMMMMMMXXAXMAMAXAMAXMMSASAMXAAASMSMMAX +XSASMSXAAMXMASAMAXMSSMMXSXSXMXMMMASAMXSASMMSMXMSMMSASXAAXASAMAMXMASASXMAAMXSAMXXXXAAAXXAMAXMASXMASMASMMAXXAXMASMXSAMASMMSSXAXXSASMSSMSAAXMAS +ASAMXXMMSSXSAMASXMMAMXXXMASAMXAXMAMMMAMASAAMXMXAMXMMMMMMSMMSMASMSXMASAMXMMAMAMXXAXMXMMSXMASMXMASASMAMXSMMXMMSMMMAMAMMSAAXXMMSASAMXAAAMXMSMAS +XXAMXAAAXXXXXMXMXAMASMSMXMSAMMMMMAMAMASASMMSASMXSAXAAAAAXAAXSMSASXSASXMAXMSSMMSMMXSASXMASXSXASAMXSMXSASASMSAMAAMMSSMSXMASXSAMMMXMMSMMMAXXMAS +ASMMMSSSMXMAMMSAMMMAXMAMXXXAMMXAXAXMAAAASAASAXXAMMSSSSSSMMMMMXSMMAMXSASXSXMAMMAMXXSASASXMMMXXXMAXSAXMASASAMXMXMSXAMXMAMXSAMASXMASAXMASMSXMAS +MMAAAXAMAAMASAMASXMSXSASXMXXMASASXSXSXSASXMMAMSSSMAAAAMAMXXSXASAMXMASMMSMXSXMXMMSAMXMAXMAAAXMAMSAMXXSASMMMMSMXMSMXMAMAMAMXMAMASAMXMMAXMAXMMS +XSSMMMAMSMSAXXXAMXAAASASMXAASMSAAMAMXAMMMMXMAMAAAMMMMMMASAAMMMSXMAMASXXMXMMXMAMASAMSMAMSSMMSAMXMMMMMMASXAXMASAAXAASXSXMASAMAMXMASASMSSMXMAMX +AXAMSSMMAXMMMSMXSMMMXMAMAASMMAMXMSSSMMMAAAMMSMMXMMXASXSASMAXAMXXXASXXMXMAMMSSSMASXMMMXMAMMMMAMAXAAAAMXMXXXSASMSMMMXMAXSASMSSSXSAMMSAAAMSSSXS +SSSMAAAMXMSAAMMMXASMAMXMSMMAMXMSXMAAAASXMSXMAAXSMXMXXAMXSXAMMMMMSASXAMSSSSXAAAMAMMMAMXMAMSAMASXSSSSSXMASXXMAMAMXXXXMXMMASXAXMMMAXXMMMSMAAXAX +MAMMSSMXSASMXSAMSAMXAXXMMSMXMASXAMXMMMMAXAASMMMAMSMSMAMASMMMSAAXMMMMMMAAXAMMSMMASAMAXXMAMXAXXSAAAAAMXSASXSMSMMXSAMXSSSXAMMSSMMSMMMMXXMMMMMMM +MXMAXAAAMAMAMSAMMAMSXSASAAXAMXSAXMXSASXSMSXMASAMXSAMXXMASAAAXMSMSXMASXMSMMAXXXSXSMSSSSMSXSSMAMMMMMMMAMAMAMAAXXAXAMXXAMMMMXAAAAAASMSAMMMSMAAM +MAMSSMMMMAMXMMASXXMAASAMSMSMMAMAMMXSASAMXMASXMSXAMMMMMMXMMMMMXMAXXSASMMMXASXMXMASAAAAAAAMAMMMXSAAAAMAMMMMMSMSMXSMMSMSMAMMMSSMMXMSASASAAASMMS +SAMAAXXXSMSAXMAMMAMXMMMMAXAXAASAMXAMXMAMXSXMASMXMXAAAAMMSXAASXMMMMMAXAAAAMMAMXMAMMMMMMMMXMXMXASXSSSSSSMSAAAAXXMAMXXAAMMXSAXXMMSMMAMXMMSMSMAM +SSSXSMSXMASMXMASMXMASAXSSSMSSXMASXXSASAMXMASMMAASMSSSXSAAMSXSAMSAMMSMSMMSXSAMAMASMSXSXMSAMAMMMSAMXAAAAASMSMSXXAMXAMSMSAAMXMAXXAMMMMAMXXAMMAX +SASAAAXSMASAXSAMAASXXXMXAAAAMMSSMMMMASAXAMAMAMMMMAAMMAMASXMAMXMMAXXXAXAAMMSXSXSAXMXAXAASASASAAMAMMSSSMMMAXMMMXSAMXXXAMMSSSMSSSMMAAXAXAMAMSMS +SAMSMMMXMAMMXMASXMMXSSSMSMMMSAXAAAAMMMMMSMASAMASMMMSSXMXXXMAMAMXSMSMMMMMSAMMMMMXSMMSMMMSXMASMXMAMXAAAXXMMMSAAAXMAMMMSMXMAMAMXAXSSSSXSASXMAAX +MAMXXXXAMMSSMSAMAXASAMXAXMXXMASMSMSSMASXXXXXAXASAXSAAASXMXSMSMSAAAXAAAAXMXMAAAXAAXAAAXAMAMXMMMMAMXMSMMSASASMSSXMMASAMMAMXSSMSAMAAAAASXMASMSM +SSMSSSSXSMAAXMMSAMXMSXMSMMSMMAAAMAMXMAMMSMMSSMASXMMMMMMASMSAAAMMSXSXMSSSXAXSXSSSMSXXSMSSMMXSAMXSMAXAXXXAMXMMAMASAMMASMXXAMAMSASMMMMMMASAMMMA +AAAAAAAAMMMSASXMMSXAXMMMAASAMXSMMASMMXSAAAMAXMAMXXMAXASMMAMMMSMAMMMAXAMAXMMMAMXMASXMMAXAXAAMMSAXMASXSSMXMSXMASAMAXMXMAXMAXAMSXMAXXMXSXMMXXXX +SMMMMMMSMXMXASAMAMMSMAXSMMSAMAMXSASASMSXSSMASMAMMMSMMAMASXMSXXMAMASMMMXMMMAMAMAMAMAXSXSXMMMSAMMSXAXMAXAAMMAMAMASXMSASMSSMSXXXMXMMMSAMXMSMSMM +MMMMXXXMAMAMAMXMASXXSSMAMMSAMXSAMASXXAMAMXMAMMASAXAMXSSMMAMXMXMASXMMASAMAXAMSSMMASXMMMSASXAMASASMSMMSMSSSSSMASAMAXMASXMAMAMSAMSAMXMAXAMAMAAS +XMASXMMMSMAMSMXSXSAMAMXMSAMXSXMAMXMXMSMMMAMSMMXMMMASAAAXSXMAMAMXSAASASAMSSMMMAASAMXAAMXAMMMSAMMMAMXAAAXAAAAXXMAMMMMMMMMAMAXSAMXMASXSMMSASXSM +MMASAAAAAMAMAMMAMMMMMMMXMMSAMXMMSAAMAAAASXMXASMSXSAMMSMMMMSXSAMMMXMMAXAMMAXAMXMMAMSSMSMSMMXSXMXMAMSXMSMMMMMMSSSMMXSAASMMSMXSXMASXSAMXXAAXMAM +XMXMMMMXSMMSSXMAAAXSXMMAAXMASMAASMSASXXMMMXSSMAAMAXAXAXAXMAMMASMSAMXSSSXSAMSSMXSAMAMMSAMASAXMMAMAXMSMXMXSAMXXAXXMASXMMAAAXASMSAMMMMMMMMSMMSS +XXMMSMSAMAMXMASXSMMSAMSSSSSMMMMXXXMMAMXMSMAMAMXMMMSXXSMXMASXSXSMSASAAXMAMMMXAXASAMXSASASAMMSASXSXSMAMAMAMAMSMSMSMASMSSXMMMASAMXMAXMASAAMAXAS +MMXAAAMASXMSSMMAXMASAMAAXAASXMSMMMSSXSAAAMSSXMAMAXMAXMXSXXXAAAXASAMMXAMMMAMSAMXSXMSMAMAMXXAMXXXMASXMSASASAMAAAAAMMSMASAAXMAMMMSSSMSASMXSAMMS +AAMSSMMMMMXXAMXXMMMMAMMSMSAMXSAAASMSASMMMXAAMSMXMAMXAMAMXMMMMMMMMAXMXMAMSAMMSMAMAXAMXMSMMMSSMSXMXMAXMXMASMSMSMMMSAXMASMMXMAMXMAAMXMASAAMXXXS +MXMMAMXXMASMSMMAAASXMMXXAMAMXSMSMSAMMMXMMMMXXAAASXSMSMAMAMAMAMXXSMMSAMMASMSAASMXSAMXMAXAAAMAMXAMASAMXXMASAAAAAASMXSMMSASXSASAMMSMMXAMMMSMMAS +XMASMMAMXAXXMAXXSMXAXSMSMSASAMXAAMAMXXMASXMMXMMMXAXAAXMMAXSXSSSMSXASAXAMXAMAMAXAXMMAMMSXMSSXMSXMASASAMXAMXMSMSMSAMXAAXASASASXSAXAXMMSAMXXXAX +SXMXXXXAAMSMSSMMMASXMSAAASAMASXMMMAMXXMMAAAAMSSSMAMSMSMSMSMAMAMASMMSAMSXMXMMMXMASXSXSAAASAXAXMASMSAMAXMASXMAMXMMMMXXSMAMAMASMMMSMMSMAMSMMMSS +SAMXSMSMASXAAMASMAMXAMMMMMAMMMMAASMMMSXXMAMXSAAAXSMXXXAAXAMXMAMMMAXMAMXASXMXSXAAAAXAMASXMAMMMSAMMSXMAMMSMMSMSMMAAAMMMAMXXMAMAAAAXAAXMXSAMAAX +SAMAXAASXAMXMXXMMSMMXMAXAMAMXAMMMSAAAXAMSMXSMMSMMAAXSSSSXMMMXMMXSSMSSMSXMASXMASMMSMSMMMXMAMMAMXSMSMMXSXAXAAXXASMMSAAXSMXXMXSSMSSMSSSMAMAMSSM +SAMXMSMSXMSSSMMSAMXSSSSSSSMXMMXSXSXMMSXMASMMMMMAXMMMMAAMXSAMAXAXXXXAXXSASMMAXAXAAXXXAMSAMASMASAXAMMSASXMMSSSSXMXMAXMSAMXSAMXAAXXAAXXMASXMAXX +SXSAAMAMXXAAAAAMASMMAAXAMXXAASASXSASAXAMXXMASASAMXAAMMMMASASASMMMMMMMASAMXMXMASMMMMSMMMAMAAXAMMMMMAMMMAXAAMAMAXMAXSMSASMMASXSMMMXAMXSASAMAMX +XASMSMAMSMMSMMMSAMAMSMMSMASXSMASASAMMASMXMSAMMSAMSSSSSSMXSAMXMAAAXAASAMAMXXAMXXAAMXSXAMAMXSMMSXSXMXSAXAMMXXAMXSAMXSASASASAMAMXMAXMMMMAXAMSSS +MMMXAMAMAAXXAXXMXSXMXAAXMASMAMSMMMAMMAXXXXMASXSMMXAXAAMSAMXSASMSMXSAMXMAMSMXSXSSMSAMXMXXMMAXMAXMASMSXSSXSSSSXMAXASMAMAMMMAXAMSMXMAAAMMMSMMAM +XAASXMMXSSMSSMSMMXXMSMMSMAXMAMXAXXXMMSMMMMMXMAXAXMMMMMMMXSAMMSAAAXXMMSXMASXXAAXAAMASMMXSAMMMXSXSAMAXAXAAMXAMXAXMMAMXMMMXSAMMMSAASXSMSAAXASMS +XXXSMASAMAAAXMAAMXXXAMXSMMSSMSSMMSSMAMAXMASMSXSXMMXXXSAMAMXSSMMMMMXMASAMAMMMMSMMMSXMAAASAMXSAXAMXSSMMMMAMMMMMSMSASXMXXXAMASXAMMMSAAASMMSAMAS +SMMMMAMASMMMSXSMMAMSASAXMAMAAAXAAAXMAMXMAMSAAXSAMMAMXXAXSAMXXAAMMSMMASXMMXAAAAAXAMASMMMSXMXMASXMASAMAAXSSXSAAAASAMXAMMMXSAMMAMAAMXMMMMXMAMSM +XMAXMXSAMMSAMXAMMSXSAMASMXSMMXSMMSSMSMSAXXMMMMSAMAAXMSMMXAAXMSMSAAASXSXSSXSMSSSMMSAMAMAMMAMMMMXMXXAXSSSMAASMSSMMAMXMASMMMASMAXMSSXSAAXXSSMMM +XSMSAMMMMAMASAMXAXMXAMXXAAXAMAXXAMAAAAXMSXSASASAMXSSMAAMSMMXMAXMMSMMAXMAMAAAAAAAAMMSAMAXMAMXMMMSMSSMMXMMMMMMMMMXMASMSAMASAXXMSSMMMSSMXAXAASM +XAAMXXAAMMSMXMSMMSXSASAXXXMAMASMMSMMMSMAAAXAMASMMXMAMSSMSAASXMMAXMMMAMXSMMMMMSMMMMXSASMMSAXASAAMMAAAMAMXAAXAMAAASMMMXASMSAMSMMMAAAMAMSSSXMMS +MMXMMSSMMXAMAXXXXAMSAMMMSSSSXMXAXXXXMMXMMSMAMAMAMMSAMXAASXMMAMSMSMASAMAXAMXXMXASXMXSMMAASASAMMSSMMMMMSXMXMSMSMSXXAAXXAMXMAMXAASMMSMAMSASXMAM +ASXMXXMASMMSXSMSMSXMMMMAMMAXXXSAMMSXMMAXAXMXSMMXXAMAXSMMMAMSMMAAXMASAMXSAMMSMSXMAMMXAMMMMAAASXMXAMMSAXASMMAAMAMMSSMSSXSAMMMSMMSAMXMMMMAMSMXS +SMAXMXMAMAAXAXAAAMMSAMSSSMAMXXMASAAASXMMMSMAMAMMMXSSMMXMMMAAMSMSMMXSAMAMXMAAMMMSMMASAMXXMSMMMAAMMMAMASAMASXXMAMMAAMAAXSMSMAMXAXAXXXXAMAMAMMM +MSMMSSMASMMMMMSMSMAXAMAAMMAXAMSXMMXXMAAAAAMASAMAXMAMAMASAMSMXAMAAXMSAMMSAMSMSAAAAXXXAMMXMAMXSMMMSMMSASASXMMMSASMSXMXSMSMAMASMASMMSXXASXSASAS +XAXXXAXASXMXSAAXXXMSSMMSMSXSXMAMMXMSMSMMXMXASASXSAMSXMASAMAXSASMSMASAAMMMAXASMSMSMMMSSSSSXSAAXMXAAXMASAMMMAXXAMXAASXXASMSSMMXMXXAAMSMMASAMAS +SSMMSMMXMAXAMSXMMMXAMAXAAXAAMAAMSAMXAMXSASMXSAMAXMXSAMAMXAMMXMMAMXMSMMXMXMMAMXAMMAXXXAXAAASAMXXSXSMMXMMMASMSXMMMSMMAMSMAMMMXXXAMMMXASMMMSMAM +MAAAMXMAXMMMMMSMAAMMSSMMMMMMAMMMXASMAMAMAXXXMAMMMSAMAMAMAMXXMSMAMAXXXAAXAAXMXMMXXAMSMAMXMMMSXMXAAXXMAXAMXXAAAASAXAMXMAMXMAAXMMSSMMSASXMAXXAS +MSMMSASMXMAMAAAMSSXMAMXAAAXAMMSMXAMMXMMMSMMMMAMAAMASXMXXSXSXAAMMSMMMSMMXSSMSAASMMAMMAAAMXMXXMSMMXMASASXSMMSMMMMASMMAMMXSMMMAXAAAAMMAMAMXMSAS +XMAMSASXASASMSMMAMXMASXSSSSSSMAAMSSMMMSAMAMMXAXXMXMMMMMMAAMMSMSMAMMMSAXXAAAAMMAASMMXMASASXMMAXXAASXMMMMAMAAAAXMAMAMAMXXAAASMSMSSMMMMSSMSMMMX +MMAMMMMXMSASAXXMASMMMSAAAAXAAXMMMAAMXXMAMSASXSSSSXSAAAXMMMMMAAAMAMAASAMASMMSXMSAMAMXMAMXXAAMSMAMXMMMXSSSMSXSMSMMSSSMSSMMSMAAXMAMMMXMMMAAXAXA +MSSMMAAAMMMMAMASAMAAAMMMMMMSMMXSMMSMMMSAMXMXAAAAAASXSAXAAAAXMSMXSMMMSAMMAAAXXXMASXMXMAXAMMMMAAASAAXSAXMAXXAXXMAXAAAMAXAXAXMMMMASXMAAAMXMSMSM +MAXASMSXSAMSASMMASMMMSAXXXXMASMXMMMMAAASAXXSMMMMMMMXMXSXSSSSMXMXXASAMASXSMMMAXAAMXMAMXSSMMSSXMXSMSMMXSMMMMMMASMMMSMMXMSSMXXMAXXSAXSMMXSXXXAM +MASXMAXXSAMSASXSASXMASXXXMAMSMMASAMXMAXMXSASASXMXSMMMMSXAMAMXAMMMAMASXMAMSAMXMMMSASAMXAAAAMAMSMMMMAMXMAAMASMXMXAMMXSAAXAXSSSXSAMMMXAMXSMMXXX +MAMAMMMAMSMMAMAMXSAMASMSSMSMXASAXAXSXSXSAMASAMMSAAAXXAMMMMSXXSMAMMMXMAXAMAMXMXAAMXXAMMXMMMSMSAAAMXAMMSSMMASMAMSMSMASMSMAMXAAMMMSXAXAMAXAXSSS +MASMMAMXAMMMSMXMXSAMXSAMMAAAMAMMXSMMXMAMXMAMAMAMSSMMMSSMMAXMAMSSSXMXSSMXSASAMSMSSMMSXSXMMXSXSMSMSSMSXMASMASMMMAMAMXMXXMAMMMMSAAXMSXMMSSSMAAX +SMAASXSMMXAMMXAMXSXMXMAMMSMXMXMXAMAMMMAMSMAMMMMXAMAAAMAAMXMAXXAXAMMAMAAMAAMMAAAXMAAMASMXSAMMSAMAXXXMASAMMXMAMSXMASXSMXSAXXAXMMMSAAASAAAXMMMM +XMXMAAXXMASMSSMSAMSXMSAMXMASMMXMASAMXXAMMXXMAAXMASXMSMXMMASXMMSMMAMAMMMMMXMXSMSMMSXMAMAAMAMAMMMMMMAMXMMSMASAMMMMAMAXAXSXSSSSMASAMMXMASAMXXXX +XMMXMXMMSAXMXAXXMSMXAXMSXMSMMAXMASXMAMXXSASXSMXSAMASMMSAMAXAAAMASMSSSXSXXAAMXMAXAAAXMMMMSXMXSAAASMMSASMMMASASASMSMMMSAMXXXAAMXMAMMAAAXMSMSMM +XMAMSXSAMMSSMMMSMAMMSMAMAMAAXSXMASMMAMXAMMSAAAAMASMMAASAMSSSMMSAMAAAAASASAXSASXMSSSMSAXXMMSMMMXSAAXMASAMMMMAMAMAXMASMAMAMMSMMMSAMXAMXMAAAAAA +XMASAXMASAAXAAAASASAAMAMASMSMMAMASAMASMAMXMMMMMSAMXMMMSXMAAAMAMAMMMMMMMAMAMSASMMAAAASMSAMAAAAASAMXMASMMMAXMSMSMMMXMASAAAMXAMXAMMSAMXSMSMSMSX +SSMSAXSMMMSSSMSMSMSXSSMSASMMMSMMMSXMAXXAMMSAMXXMMSXXSAMXMMSMMASMMSAMXXMMMXMMAMMMMSMMMXSAMSSSMSSSXAASXXXSXSAXAMXSSXMASXSMMSASMXSASXMASMXXMAMA diff --git a/2024/input.05.txt b/2024/input.05.txt new file mode 100644 index 0000000..f8e5b0d --- /dev/null +++ b/2024/input.05.txt @@ -0,0 +1,1394 @@ +66|44 +14|81 +14|63 +95|17 +95|47 +95|81 +31|66 +31|78 +31|79 +31|87 +32|57 +32|66 +32|42 +32|19 +32|47 +13|64 +13|95 +13|19 +13|31 +13|81 +13|37 +52|87 +52|84 +52|37 +52|36 +52|67 +52|66 +52|81 +21|67 +21|72 +21|76 +21|36 +21|25 +21|82 +21|77 +21|68 +34|95 +34|93 +34|31 +34|74 +34|84 +34|32 +34|52 +34|36 +34|49 +48|49 +48|29 +48|44 +48|54 +48|34 +48|38 +48|76 +48|89 +48|85 +48|14 +75|93 +75|57 +75|68 +75|59 +75|19 +75|66 +75|13 +75|63 +75|74 +75|31 +75|73 +59|98 +59|17 +59|47 +59|64 +59|52 +59|29 +59|89 +59|42 +59|72 +59|44 +59|79 +59|94 +57|87 +57|91 +57|37 +57|81 +57|48 +57|54 +57|47 +57|64 +57|21 +57|42 +57|93 +57|94 +57|66 +87|66 +87|79 +87|84 +87|37 +87|73 +87|64 +87|22 +87|94 +87|48 +87|42 +87|19 +87|82 +87|89 +87|17 +73|79 +73|92 +73|82 +73|52 +73|49 +73|29 +73|44 +73|47 +73|22 +73|64 +73|67 +73|72 +73|98 +73|54 +73|17 +89|98 +89|38 +89|36 +89|49 +89|34 +89|92 +89|25 +89|72 +89|75 +89|68 +89|74 +89|14 +89|44 +89|95 +89|13 +89|52 +42|67 +42|17 +42|14 +42|79 +42|21 +42|29 +42|54 +42|89 +42|38 +42|75 +42|72 +42|22 +42|64 +42|46 +42|76 +42|49 +42|92 +22|68 +22|44 +22|82 +22|54 +22|67 +22|76 +22|36 +22|13 +22|77 +22|34 +22|29 +22|92 +22|31 +22|21 +22|74 +22|49 +22|14 +22|72 +82|57 +82|13 +82|32 +82|34 +82|98 +82|74 +82|29 +82|49 +82|76 +82|46 +82|44 +82|89 +82|31 +82|92 +82|77 +82|72 +82|14 +82|36 +82|52 +67|36 +67|19 +67|63 +67|31 +67|81 +67|57 +67|77 +67|87 +67|78 +67|13 +67|95 +67|37 +67|76 +67|84 +67|75 +67|59 +67|66 +67|32 +67|68 +67|25 +77|95 +77|32 +77|13 +77|87 +77|57 +77|91 +77|31 +77|19 +77|93 +77|42 +77|64 +77|47 +77|84 +77|25 +77|78 +77|63 +77|73 +77|81 +77|59 +77|66 +77|74 +92|66 +92|95 +92|81 +92|84 +92|13 +92|78 +92|76 +92|75 +92|19 +92|77 +92|87 +92|36 +92|59 +92|63 +92|93 +92|94 +92|31 +92|74 +92|57 +92|68 +92|37 +92|32 +79|67 +79|98 +79|49 +79|82 +79|68 +79|34 +79|75 +79|29 +79|14 +79|89 +79|44 +79|74 +79|22 +79|52 +79|92 +79|46 +79|21 +79|54 +79|85 +79|72 +79|13 +79|38 +79|77 +84|21 +84|82 +84|94 +84|48 +84|59 +84|98 +84|29 +84|47 +84|81 +84|17 +84|89 +84|44 +84|91 +84|37 +84|64 +84|42 +84|85 +84|19 +84|22 +84|73 +84|66 +84|54 +84|63 +84|79 +64|89 +64|17 +64|67 +64|21 +64|44 +64|68 +64|46 +64|82 +64|75 +64|49 +64|76 +64|48 +64|54 +64|14 +64|85 +64|22 +64|98 +64|29 +64|38 +64|34 +64|72 +64|79 +64|92 +64|52 +19|91 +19|94 +19|73 +19|89 +19|29 +19|48 +19|44 +19|64 +19|66 +19|37 +19|98 +19|82 +19|21 +19|59 +19|17 +19|47 +19|49 +19|72 +19|54 +19|79 +19|22 +19|85 +19|34 +19|42 +98|29 +98|74 +98|46 +98|14 +98|34 +98|36 +98|67 +98|44 +98|49 +98|75 +98|38 +98|77 +98|32 +98|78 +98|52 +98|31 +98|57 +98|72 +98|92 +98|76 +98|95 +98|68 +98|25 +98|13 +94|21 +94|85 +94|38 +94|79 +94|73 +94|47 +94|29 +94|72 +94|54 +94|34 +94|17 +94|48 +94|46 +94|44 +94|49 +94|64 +94|42 +94|89 +94|52 +94|91 +94|22 +94|82 +94|67 +94|98 +47|42 +47|98 +47|64 +47|46 +47|48 +47|17 +47|34 +47|52 +47|89 +47|29 +47|67 +47|92 +47|54 +47|44 +47|38 +47|79 +47|22 +47|72 +47|75 +47|49 +47|14 +47|85 +47|21 +47|82 +54|74 +54|52 +54|82 +54|34 +54|68 +54|31 +54|77 +54|21 +54|49 +54|29 +54|75 +54|46 +54|44 +54|72 +54|38 +54|76 +54|13 +54|98 +54|36 +54|89 +54|25 +54|67 +54|14 +54|92 +91|79 +91|22 +91|82 +91|89 +91|54 +91|21 +91|47 +91|44 +91|67 +91|73 +91|34 +91|92 +91|98 +91|49 +91|72 +91|29 +91|85 +91|38 +91|52 +91|48 +91|64 +91|17 +91|42 +91|46 +46|19 +46|75 +46|36 +46|31 +46|57 +46|13 +46|25 +46|84 +46|81 +46|67 +46|52 +46|32 +46|14 +46|68 +46|78 +46|93 +46|74 +46|76 +46|92 +46|77 +46|95 +46|87 +46|63 +46|66 +76|68 +76|36 +76|25 +76|57 +76|87 +76|31 +76|73 +76|19 +76|91 +76|66 +76|81 +76|84 +76|37 +76|32 +76|63 +76|78 +76|95 +76|13 +76|74 +76|77 +76|59 +76|47 +76|94 +76|93 +68|84 +68|91 +68|73 +68|63 +68|95 +68|31 +68|19 +68|59 +68|66 +68|25 +68|36 +68|42 +68|94 +68|93 +68|13 +68|57 +68|37 +68|32 +68|87 +68|47 +68|78 +68|74 +68|81 +68|77 +72|31 +72|36 +72|84 +72|87 +72|63 +72|93 +72|76 +72|46 +72|25 +72|14 +72|77 +72|32 +72|49 +72|95 +72|78 +72|13 +72|57 +72|38 +72|67 +72|68 +72|74 +72|92 +72|52 +72|75 +85|21 +85|92 +85|72 +85|46 +85|54 +85|44 +85|74 +85|13 +85|98 +85|14 +85|76 +85|31 +85|77 +85|22 +85|68 +85|89 +85|34 +85|29 +85|38 +85|75 +85|52 +85|67 +85|82 +85|49 +25|59 +25|48 +25|78 +25|93 +25|95 +25|63 +25|32 +25|94 +25|73 +25|81 +25|85 +25|66 +25|37 +25|22 +25|19 +25|42 +25|79 +25|64 +25|84 +25|17 +25|91 +25|47 +25|87 +25|57 +37|46 +37|44 +37|34 +37|82 +37|59 +37|79 +37|48 +37|94 +37|64 +37|73 +37|91 +37|47 +37|98 +37|38 +37|42 +37|49 +37|89 +37|17 +37|22 +37|85 +37|29 +37|21 +37|72 +37|54 +36|95 +36|85 +36|19 +36|78 +36|32 +36|37 +36|63 +36|57 +36|25 +36|91 +36|87 +36|66 +36|64 +36|17 +36|94 +36|42 +36|48 +36|84 +36|93 +36|73 +36|79 +36|59 +36|47 +36|81 +78|66 +78|19 +78|42 +78|82 +78|21 +78|79 +78|81 +78|37 +78|84 +78|89 +78|94 +78|17 +78|63 +78|91 +78|87 +78|93 +78|54 +78|48 +78|85 +78|22 +78|73 +78|64 +78|59 +78|47 +74|81 +74|84 +74|87 +74|19 +74|36 +74|42 +74|13 +74|59 +74|32 +74|64 +74|66 +74|91 +74|78 +74|94 +74|63 +74|25 +74|95 +74|47 +74|37 +74|57 +74|93 +74|17 +74|73 +74|31 +63|81 +63|64 +63|22 +63|94 +63|37 +63|73 +63|47 +63|44 +63|82 +63|89 +63|66 +63|54 +63|98 +63|21 +63|59 +63|29 +63|79 +63|19 +63|91 +63|17 +63|85 +63|42 +63|34 +63|48 +93|94 +93|54 +93|81 +93|84 +93|98 +93|17 +93|64 +93|85 +93|37 +93|91 +93|89 +93|66 +93|82 +93|63 +93|47 +93|42 +93|22 +93|48 +93|79 +93|19 +93|73 +93|59 +93|21 +93|44 +81|64 +81|48 +81|21 +81|79 +81|89 +81|44 +81|17 +81|98 +81|72 +81|34 +81|22 +81|59 +81|94 +81|37 +81|42 +81|91 +81|54 +81|73 +81|29 +81|19 +81|85 +81|66 +81|47 +81|82 +17|34 +17|38 +17|85 +17|46 +17|22 +17|79 +17|89 +17|29 +17|98 +17|14 +17|82 +17|75 +17|49 +17|76 +17|44 +17|68 +17|77 +17|67 +17|54 +17|48 +17|92 +17|72 +17|21 +17|52 +38|63 +38|31 +38|32 +38|92 +38|95 +38|81 +38|84 +38|68 +38|87 +38|67 +38|46 +38|19 +38|52 +38|13 +38|93 +38|75 +38|76 +38|74 +38|25 +38|36 +38|77 +38|78 +38|57 +38|14 +29|49 +29|68 +29|25 +29|77 +29|57 +29|52 +29|92 +29|95 +29|76 +29|14 +29|38 +29|75 +29|74 +29|72 +29|13 +29|32 +29|93 +29|31 +29|36 +29|78 +29|46 +29|67 +29|34 +29|87 +49|31 +49|74 +49|57 +49|63 +49|93 +49|75 +49|68 +49|38 +49|67 +49|46 +49|52 +49|36 +49|77 +49|81 +49|84 +49|76 +49|25 +49|14 +49|32 +49|92 +49|78 +49|95 +49|13 +49|87 +44|72 +44|67 +44|75 +44|52 +44|25 +44|32 +44|14 +44|57 +44|78 +44|34 +44|76 +44|95 +44|77 +44|92 +44|74 +44|87 +44|36 +44|29 +44|49 +44|38 +44|13 +44|31 +44|46 +44|68 +66|79 +66|94 +66|98 +66|21 +66|48 +66|37 +66|49 +66|85 +66|38 +66|91 +66|73 +66|89 +66|29 +66|59 +66|64 +66|82 +66|54 +66|17 +66|42 +66|72 +66|34 +66|47 +66|22 +14|74 +14|32 +14|57 +14|93 +14|59 +14|76 +14|19 +14|36 +14|77 +14|68 +14|95 +14|25 +14|91 +14|66 +14|87 +14|94 +14|78 +14|75 +14|13 +14|37 +14|31 +14|84 +95|19 +95|87 +95|91 +95|82 +95|94 +95|78 +95|42 +95|93 +95|54 +95|37 +95|21 +95|59 +95|84 +95|66 +95|85 +95|64 +95|79 +95|63 +95|73 +95|48 +95|22 +31|32 +31|64 +31|91 +31|73 +31|59 +31|63 +31|81 +31|37 +31|93 +31|57 +31|94 +31|36 +31|95 +31|84 +31|19 +31|48 +31|25 +31|47 +31|17 +31|42 +32|78 +32|93 +32|94 +32|48 +32|84 +32|91 +32|37 +32|17 +32|73 +32|54 +32|85 +32|95 +32|64 +32|22 +32|63 +32|59 +32|81 +32|79 +32|87 +13|63 +13|94 +13|47 +13|32 +13|48 +13|25 +13|66 +13|78 +13|36 +13|42 +13|57 +13|17 +13|93 +13|91 +13|87 +13|84 +13|73 +13|59 +52|75 +52|19 +52|14 +52|13 +52|76 +52|95 +52|68 +52|74 +52|25 +52|32 +52|57 +52|63 +52|93 +52|92 +52|78 +52|77 +52|31 +21|52 +21|34 +21|44 +21|74 +21|14 +21|29 +21|46 +21|75 +21|89 +21|32 +21|49 +21|92 +21|13 +21|31 +21|38 +21|98 +34|75 +34|92 +34|76 +34|67 +34|14 +34|68 +34|46 +34|77 +34|38 +34|13 +34|87 +34|25 +34|78 +34|57 +34|72 +48|82 +48|72 +48|68 +48|79 +48|75 +48|77 +48|74 +48|22 +48|67 +48|21 +48|46 +48|92 +48|98 +48|52 +75|84 +75|95 +75|78 +75|87 +75|81 +75|32 +75|77 +75|37 +75|76 +75|91 +75|25 +75|36 +75|94 +59|48 +59|91 +59|54 +59|46 +59|22 +59|49 +59|73 +59|21 +59|34 +59|38 +59|85 +59|82 +57|17 +57|78 +57|95 +57|85 +57|84 +57|79 +57|19 +57|22 +57|63 +57|73 +57|59 +87|59 +87|63 +87|21 +87|91 +87|98 +87|47 +87|93 +87|81 +87|54 +87|85 +73|42 +73|38 +73|89 +73|85 +73|21 +73|14 +73|34 +73|46 +73|48 +89|57 +89|67 +89|31 +89|46 +89|29 +89|77 +89|32 +89|76 +42|48 +42|52 +42|98 +42|34 +42|82 +42|44 +42|85 +22|38 +22|75 +22|52 +22|98 +22|89 +22|46 +82|25 +82|75 +82|68 +82|67 +82|38 +67|93 +67|74 +67|92 +67|14 +77|36 +77|37 +77|94 +92|25 +92|14 +79|76 + +93,36,64,57,94,66,13,32,37,78,73,19,25,84,17,31,87,47,42,59,81,91,95 +31,14,72,52,46,38,49,76,74,22,98,68,29,75,89,21,77 +21,25,67,34,75,29,52 +34,72,85,91,42,29,82,98,19,79,44,47,89 +42,17,79,85,54,21,89,98,34,72,38,92,75 +74,13,31,36,25,63,37,59,64 +95,92,75,77,46 +36,78,84,81,66,59,91,47,64 +54,82,29,49,38 +73,42,64,17,48,79,85,82,98,29,72,49,52,67,92 +32,79,37,84,59,64,22,66,57,78,93,85,42,95,17 +82,89,98,44,29,34,49,38,52,92,76,13,32 +95,78,93,84,81,19,94,73,47,64,17,48,21 +36,25,32,78,87,93,84,63,81,66,59,94,91,47,42,64,17,48,79 +44,29,49,46,92,76,77,74,13,25,32 +48,85,22,89,44,29,34,46,52,92,14,75,77 +44,54,19,73,22,59,91,82,48,17,79,85,42,66,47,94,21,98,89,81,29,64,63 +36,57,87,93,63,19,66,59,94,91,73,47,42,64,17,48,79 +74,36,78,13,95,67,49,31,25,92,32 +64,92,73,72,22,79,44,21,89,52,49,48,85,54,38,98,82,47,17,29,34,42,46 +36,34,31,74,77,49,52,68,76,72,46,82,92,98,67,21,89,54,29 +46,92,14,75,76,77,13,31,25,32,57,95,87,63,19 +77,74,31,36,25,32,57,95,93,63,81,66,37,59,94,91,42 +47,85,22,54,21,89,44,29,52,67,14 +48,22,54,21,89,98,44,72,46,52,67,92,76,68,77 +37,42,64,22,29,34,38 +19,17,93,81,87,21,85,48,37,91,59,47,66,94,22,54,42,64,84 +68,29,34,98,75,79,72,82,85,44,52,77,48 +72,38,52,14,77,74,57,93,84 +29,72,49,46,52,14,13,36,57 +54,85,34,72,67,76,17,75,82,21,46,49,14,89,44,22,68,79,52,38,29 +81,19,37,59,94,91,73,47,48,85,22,54,21,89,44,29,34 +77,13,87,49,29,46,25 +84,94,37,95,75,68,66,59,25,76,74,19,31 +22,82,29,14,77,74,31 +19,42,57,95,94,63,84,47,78,85,93,79,17,73,87 +76,21,44,31,75,68,34,29,52,67,82,46,38,72,74 +75,14,57,74,95 +72,87,76,46,14,38,84 +94,95,85,84,32,87,17,47,22,19,93,48,59,63,57,79,78,91,37 +34,64,49,72,44,89,17,21,79,66,94,37,47,22,85,98,29,54,59,91,48,82,73 +37,63,36,13,93,14,25,68,76,31,81,87,78 +44,82,46,89,67,92,22,73,17 +68,31,57,78,66,91,47 +44,29,34,52,92,68,74,13,36,25,32,57,78 +54,34,72,44,31,13,21,22,75 +25,57,93,19,37,17,85 +54,82,42,59,93,21,79,22,19,78,91,17,66,85,47 +77,31,36,25,32,57,95,78,87,63,81,66,37,59,91,47,42 +52,94,17,82,29,85,79,49,47,64,73,91,72,22,48,21,34,38,89,54,42 +76,77,98,72,34,92,95 +14,63,49,32,68,57,78 +89,98,29,38,46,52,67,31,36,32,57 +98,29,34,72,49,38,52,92,14,76,68,74,13,25,95 +48,22,66,84,73,21,54,89,93,85,59,91,82,98,79,42,19,94,17,63,37 +87,54,89,85,66,47,91 +66,59,94,91,42,22,89,44,29,72,49 +63,81,19,37,59,94,91,73,47,42,64,79,85,22,21,98,29 +82,38,29,54,44,89,75,67,42,85,52,48,64,21,92,72,46,98,49,17,34 +57,94,81,87,37,42,36,84,19,63,48,95,17,64,32,66,73,91,93 +82,44,72,49,38,75,76,68,13,36,32 +67,92,75,76,68,74,13,31,32,57,95,78,87,93,63,81,19,66,37 +92,14,75,76,74,13,36,25,32,57,95,78,87,93,84,63,81,19,66,37,59 +72,59,42,37,38,48,64,34,21,29,17 +25,46,31,95,87,76,75,32,74,67,29,36,13,49,72,14,52 +36,81,63,77,74,57,42,95,87,78,94,73,19,91,31,59,84 +78,87,81,73,42,64,48,79,82 +17,48,79,85,22,54,82,89,98,44,34,72,49,67,75,76,68 +46,52,67,92,14,75,76,68,77,74,13,31,36,32,57,95,78,87,93,84,63,81,19 +93,84,63,81,19,66,37,59,94,91,73,47,42,64,17,48,79,22,54,21,82,89,98 +21,34,29,89,67,48,75,79,85,98,54,64,76,14,44,82,22 +94,81,42,22,21,84,66,85,98,59,44 +66,63,93,77,57,84,78,31,13,74,81,14,76,25,19,95,37,32,75,36,59,87,92 +94,47,64,17,48,79,85,21,82,89,98,29,34,72,49,46,52 +52,67,92,14,75,77,31,32,57,63,66 +38,67,31,68,46,44,29,98,74,92,72,34,36,49,75,77,32,52,82 +92,14,75,68,77,13,25,32,78,87,93,84,19,66,59 +22,37,54,21,42,63,78,91,93,19,66,87,47 +31,36,25,32,57,95,93,19,73,47,48 +91,94,17,79,21,73,29,72,59,34,46 +75,98,92,76,25,46,89,44,31,13,14,29,38,21,34,74,82,72,68,77,67 +95,78,87,81,66,37,94,47,42,17,48,79,21 +59,72,42,85,73,29,79,17,49,54,82 +59,42,48,79,85 +81,13,77,78,31,68,74,59,25,84,92,76,66,14,19,57,37 +76,81,78,36,59,73,13,87,57 +34,49,38,46,52,67,92,14,75,76,68,77,74,13,31,36,25,32,57,95,78,87,93 +89,92,38,98,13,52,76,77,57,74,75,36,32,25,72 +81,37,94,42,48,79,85,22,54 +25,32,57,78,93,84,81,19,66,37,59,94,91,73,47,42,64,17,48,79,85 +48,79,85,22,54,21,82,89,98,44,29,34,72,49,38,46,52,67,92,14,75,68,77 +98,47,17,29,54,82,89,19,91,73,66,48,94,79,64,72,21,34,59 +31,13,54,98,74,49,36 +54,21,82,72,42,47,91,89,49,66,94,64,17,85,22,48,59,98,29,73,79 +94,98,59,42,91,48,17,82,37,38,72,49,54 +81,19,37,47,79,85,89,44,34 +84,37,91,63,59 +46,67,92,68,77,31,36,25,57,87,93,84,63,81,19 +73,63,85,82,91,81,44,66,94,98,79,54,89,42,19,47,29,17,21,48,59 +76,81,68,74,93,19,37,32,94,13,14,87,36,78,95,25,75 +72,49,38,46,67,92,14,75,76,68,77,74,13,31,36,25,32,57,95,78,87,93,84 +66,37,59,94,17,21,44,29,49 +32,19,87,47,81,37,73,57,48,64,36,91,63,31,84 +14,34,95,76,87,57,36 +52,67,92,14,75,76,68,77,74,13,31,36,32,57,95,78,87,93,84,63,81,19,66 +59,54,85,64,84,63,66,91,93,37,47,95,17 +44,29,34,72,49,38,67,92,14,76,68,77,74,31,36,25,32,57,78 +72,67,46,52,95,87,74,76,75,13,25,38,34,78,77 +82,91,64,29,47,48,37,63,79,85,19,81,89,44,98,17,54 +36,72,34,32,75,77,92,25,52 +42,47,91,81,57,37,32,94,77,19,66,36,84,13,93,95,59,78,25 +19,66,94,73,47,82,89,34,72 +66,48,37,57,42 +74,31,25,57,95,78,87,93,63,66,37,59,94,91,73,47,64 +92,76,77,31,36,57,84,63,59 +29,49,14,68,77,13,31,57,87 +19,37,67,63,66,81,25,32,31 +98,44,29,34,72,38,52,67,92,14,75,68,77,74,13,25,32,57,95 +17,85,22,21,89,44,72,38,46,52,92,14,68 +42,82,22,67,72,29,14,47,52 +57,73,59,81,36,77,25,95,63,78,84,37,31,66,74,47,91,93,32,42,94 +85,54,89,44,34,46,75,74,13 +13,36,25,32,19,73,17 +36,25,32,57,95,78,87,93,63,81,19,66,37,59,94,91,73,47,42,64,17,48,79 +22,54,89,44,29,72,49,46,52,67,92,76,77,74,31 +93,84,59,73,47,42,64,85,82 +13,31,36,32,78,87,93,19,37,94,91,47,42,64,17 +79,85,22,54,21,82,89,98,44,29,34,72,49,38,46,52,67,92,14,75,76,68,77 +54,44,72,22,68,48,52,29,77 +38,52,67,14,76,77,74,25,32,57,95,87,81 +63,98,89,21,84,44,91,19,94,22,17,82,79,64,42,54,47 +14,49,54,67,72,85,82,29,68,21,98,38,52,44,79,34,74,76,77,46,92,22,89 +59,19,29,72,79,89,44,37,21,17,73 +19,66,94,91,42,79,85,22,54,89,98,29,34 +73,47,64,17,79,85,21,89,98,44,29,34,72,49,38,46,52,67,92 +72,38,14,32,57,95,84 +44,21,14,77,49,98,25,74,72 +34,47,46,48,82,14,52,72,29,38,54,44,49 +89,98,29,49,38,67,14,68,31 +17,42,22,85,73,38,79,92,47 +25,87,19,66,37,91,42,64,17,79,85 +52,67,92,76,77,74,13,25,32,95,78,87,84,19,66 +93,63,94,47,42,64,48,85,22,82,98 +13,31,36,25,57,95,78,87,93,84,63,81,66,37,59,91,73,42,17 +78,84,63,81,19,66,37,59,91,73,47,64,17,48,79,54,82 +81,19,66,92,77,76,75,67,93,57,74,84,14,87,95,13,25,68,32,36,52,63,31 +74,13,31,36,25,32,57,78,87,84,63,81,19,37,59,94,91,73,47,42,64 +75,93,78,92,34,95,87,49,13 +42,64,17,48,85,22,54,21,82,89,98,44,29,34,67,92,75 +91,98,21,47,89,94,22,81,79,73,63,29,66 +68,77,13,31,36,25,32,57,95,87,93,84,63,81,19,66,37,94,91,73,47 +47,64,17,48,44,38,46 +93,68,75,67,63,92,14,37,77,74,81,13,57,95,76 +87,66,19,63,84 +19,94,76,66,78,93,63,68,74,37,14 +42,47,59,32,37,78,57,31,63,87,84,48,91,66,81,25,64,19,95,17,93 +68,76,13,14,78,95,52,72,25 +36,67,82,52,29,68,21,89,49 +75,76,68,77,74,13,31,36,25,78,87,93,84,63,81,59,91 +82,89,98,44,29,34,72,38,46,52,67,92,14,75,76,68,77,74,13,31,36,25,32 +76,68,74,31,36,25,32,57,87,84,63,81,59,91,73 +77,95,81,25,31,78,32,46,93,63,19,87,52 +57,95,78,87,93,84,63,19,66,59,91,73,42,64,48,79,54 +95,78,87,81,19,66,47,42,64,17,79,85,22 +72,34,73,54,98,79,17,47,49,94,44,89,42,85,48,91,82,22,29,64,59 +44,78,38,76,46,14,57,29,72,31,49,77,25,52,92,13,95,36,67,68,32,75,34 +91,48,22,89,47,64,82,73,21,34,85,44,42,54,59,38,72 +57,31,87,75,13,67,32,77,37,66,93 +67,92,14,76,77,74,13,31,36,25,32,57,95,78,87,93,63,81,19,66,37 +66,77,31,74,37,84,59,95,68,19,87,73,36,63,57,78,93,47,32 +52,76,68,36,32,95,87,81,66 +48,52,82,89,67,34,72,44,73,17,64,21,22,85,79,49,91,98,46 +85,59,22,46,89,72,29,44,47,17,42,48,64,38,94,34,54 +36,25,57,95,78,87,93,84,63,81,19,37,59,94,91,73,47,42,64,17,79 +31,32,57,95,87,84,63,59,94,73,47,42,64,17,48 +59,44,22,85,47,42,81,17,66,94,21,91,48,29,19,54,82 +13,14,72,25,75,21,34,38,52,74,76,92,68,89,46,36,77,29,67 +64,17,79,22,54,89,98,44,34,72,38,46,52,67,92,75,76 +49,42,85,29,98,94,79,47,38,54,22,46,89,34,21,44,64,82,59,48,72,73,91 +79,21,98,29,34,49,38,46,52,67,92,14,76,68,77 +38,46,67,92,14,76,68,74,31,36,25,32,57,95,78,93,84,63,81 +91,47,42,64,17,79,85,22,54,21,89,98,29,34,72,49,38,46,67 +81,76,59,87,84,66,32,78,95,63,74,25,75,14,94,19,31,36,77,57,68,93,37 +54,22,59,37,95,57,17,19,64,42,84,66,91,93,81,78,47,79,87,94,48,63,73 +87,59,64,54,21,82,89 +72,49,46,52,67,92,75,76,25,57,95,93,84 +46,75,74,25,32,57,63 +89,94,21,98,17,54,22,91,44,49,79,82,48,66,34,47,72 +63,36,73,47,25,19,68,59,37,94,87,91,66,32,57 +52,66,87,19,68,95,13 +13,81,77,75,68,76,92,37,84,67,63 +98,38,68,92,74,77,29,34,85,75,82,72,44,46,21,13,89,67,22,52,14 +49,89,14,76,29,68,75,92,32,98,74,82,72 +84,36,57,37,94,25,76,68,32,59,81,87,75,77,95 +57,95,93,84,19,37,94,91,48 +95,78,13,93,68,81,31,36,77 +78,66,25,36,64,37,91,73,32,84,48,42,79,81,57,47,95 +85,22,54,72,38,52,67,14,13 +17,79,82,98,44,29,68 +46,44,42,17,98,94,54,72,48,22,79,73,29,47,91,59,21,82,34,64,49,85,89 +91,73,47,64,17,48,79,22,21,98,29,34,72,38,46,52,67 +75,76,74,36,32,57,78,93,84,63,81,66,37,59,94 +89,85,17,48,67,82,72,49,29 +75,74,87,93,19,94,91 +13,32,87,93,81,91,73,42,17 +37,64,85,54,82,72,38 +68,31,57,95,87,63,81,66,47 +77,81,87,38,63,13,74,67,14,31,46,32,36,92,93,68,76,57,52,78,75 +57,95,78,87,93,84,63,81,19,66,37,59,94,91,73,47,42,64,48,79,85,22,54 +63,81,66,37,59,94,91,73,47,64,48,79,85,22,54,21,82,89,98,44,29 +38,34,32,68,36,13,89,31,76,72,74,92,29,75,57 +64,82,89,34,44,38,54,98,47 +25,74,31,75,78,37,68,32,84,36,59,87,92,19,93,81,63,57,77,76,66 +37,93,95,87,19,79,17,42,85,32,22 +13,67,75,76,31,57,14,38,72,49,98,44,29,34,25,46,74,32,77,89,68,36,52 +81,47,79,63,54,42,87,17,37,59,66,64,93,85,82,73,91,19,84,21,48,94,22 +49,38,46,52,67,92,75,76,68,74,13,31,36,25,32,57,95,78,87,84,63 diff --git a/2024/input.06.txt b/2024/input.06.txt new file mode 100644 index 0000000..0cfd1af --- /dev/null +++ b/2024/input.06.txt @@ -0,0 +1,130 @@ +.............#........................................................#...#...........................................#........... +.....#...............................#.........................................#...#...............#........##...............#.#.. +..................................#..................#.......................................#...#................................ +.........................................#................#....#..............................................#................#.# +........#.........................................................#...........#.......#..............................#............ +........................#.............................#.......................#.......#.......................#........#.........# +................................#.......#............................................#...........................................# +...........#........#...#..#...........................#..................#.............#.......#..........................#...... +............................................#........#.......#..#......#..............................#..#................##...... +............#..#...#......#.........................................##.......#..........#.......#...................#............. +.....................................................................................#.....#...................................... +.......................................................#................#.....................................#................... +...........#.....#.#....................................#.......#.#...........#................#.......#.................#........ +............#.............#....................#....#............................#.........................................#...... +.#..........#......#................#........................#............#..#..............#..................................... +..................#....#...........................................#.....#.....#.........................................#.#...... +.............#..............#..#...........................#..#..........#...............................#........................ +.................................................................................................#................................ +.......................................................#..............#..............................................#..#......... +......#............................#.......................#................................................................#..... +..........#.........#..................#....#....#...#......#.........#.................................#........................# +..#...#............................#............#.......###.................................#.............................#...#... +.................#....#...................#........................................................................#..........#... +....#..........................#......................................................................#.....#......#.............. +.#........................................................................#..........#............#..................#............ +...................##.#.......................#....#.#........................................#.........##........................ +#...........................................................#..........#........#.#..................................#............ +.......#...#.........................................#.......#........#...............##..#....................................... +......................#....#...............................#......................................................#..#............ +......#.....................................................#...............................#......................#..#........... +.........................#.#...................................................................................................... +.......................................#...............#...................#................#..........#.#......................#. +.......#......#...#...........................#.........................#...............#..#...............#.............##....... +.....#..#..#..................#............#......................................................#...#.........................#. +#.#...............#...........#................#...................................................#..........#................... +..........................................................................#...............................................#....... +.........#.......#..........................#.##.............................#..##...#.......................................#.... +....#...............#..........#........................................#.....#.........................................#......... +...........#................................................#....##...................................................#..#........ +........................#........#...........#...#............................................#......................##........... +......#........................................#...#.............................................#................................ +#.....#......#..................................#.............#..#...............................#................................ +..................#......................#..........#...................#............................................#....#....... +.................#.............................................................................#.......#.......................... +......#........................................................................................#...#....................#......... +....#......................#..................##..................#.......#.......................#...........#.........#..#...... +............................................................#......##.............................#.#.....#............#.......... +..............#.......................#...^.....................................#.....................................#........... +..............#...##......#..#.....#..........................................................................#.......#.........#. +.#................................................................#........##......#....#.......#................................. +....#.....................#........#...........#.............................................#........#................#......#..# +...................#.............#.........#.........................#...........#..................#...................#....#.... +.#...............................................#.....#..#...#................................................................... +........................##............#.....................................#........#..................................#......... +..............#................................#.....................................#...................................#........ +...........#..........#...........#........#...................#..#..........................#.................................... +.#..............................................................#....#.......#.....................................#.............. +.....................#........#......#................#.............#........................#.......................#........#... +.........................#..............#...#....#..................#............................................................. +..#............................##.........................................................#...........................#.#..#...... +.....#............#...##........#..........#....#......#................................#.................#...............#....#.. +.....#...............#.............................#............#......#....#........................................#............ +...#..........#.........#.....................##.......#.....#...................#................................................ +.................................#...........................................#.................#...........................#...... +..........................................................#........................#.......#.................................#...# +..#......#......................................#...#..#....................#...........#....#.............................#...... +..#........#.............#......................#...#.....#....#........................#..#...................................... +.........#...........#.......................................................................#.........#....#...#................. +..................................#....#.............##....#.......#.........#.........................................#.......... +....#.................................................#.......#...........#.......................................##.....#........ +..............................#.........................................................#.....#........................#.......... +...#........#...........#..#..................................................#..............#.............................#...... +................................................#...............................................................#.....#..#.....#.. +...............#.........................#..#...................#....................................#................#........... +............................#...........................................................................................#......... +.....#.........................#.......#..#..##.............................#................##.......##............#............. +.........#........................................................................................................................ +.........................#............................#........................#.....#..........#.....................#...#..#.... +.......#........#..............................#..........................#...#.................#............#.................... +#...#..#...............................#..........................................#...#...#.........................#............. +...........................................................#..............#..........#..................#......................... +...........................................................#..............................................................#....#.. +...........#.......................#................#......#.....................................#..................#.....#....... +.....#.................................#........................#.#...................#.....#............#........................ +...........................#.#............#..............#..............#..#...#..........................#................#...... +.........#...................#........................#......#..#..................................................#.............. +.............................................#.................................................................#.......#.......#.. +#.......................#...............#.......................#...........#................................#.................... +......................................#............#....................................................##...................#.... +#...............#...........................................#......#....................................#...............#......... +...#...............#.................................#..................................#..#............#......................... +......................#..#............#..#..............................................#......#....#...............#............. +..................#.....................#.....#...................#..#................#....#..........#......#..........#......... +.......................#.....#..............#..........................#............#...................#.#....................... +......#...........#..............#........#........................................#......................................#....... +............#................#..##....................................................................#........................#.. +...........#....................................#.............................#.....#....#...#.#......................#........... +...................................................#...............................#....................#.........#............... +........#......#..#................#..................................................................#.................#......... +.............................#................................................#...........#.....#....#............................ +........#.............#.........#............#....#.....................#........#...............#................................ +..#................................#................................#..#......#.............................................#..... +.........#...........................................#..................................#....#..#.....................#........... +.....................................................#.........................................................#.................. +.........#...#.#.....#.......##................................#...#..........................#........#.......................... +......................##...............................#.......................................................................... +.........#...#.....#........................................#................#........#............#........#..................... +...............#............#.................................................................#................................#.. +......#..............#...................................................#............#.....................#..................... +.........#.........#.............................................................................................................. +.#........#...............#..##......#..............................#...........#..#.........#...........................#........ +...................#................................................................................#...............#............. +..............................................................................#........................#................#......... +...........#.....#..#.#....................................................#......#......#..#................##................... +....#......#...................................................................#..............#.....#.........#..................# +..#...........#...#...........#.......##..........##......................#......................................................# +..................#................................................#.#............................................................ +#................................................................#............#...##..........................................#... +......#............................................#.......#.#.................................................#.................. +..............................#..............#.#....#............#..........................#..................................... +............................#..................................#.................#..#...........................................#. +.........................................#................#..................#...#............................#..#......#........# +....................#..............................................................#..............................#..........##... +...#......................................#...........#..#............................................#.....#....#................ +................#..#....#......................................................................................................... +...................................#...................#...............................#................................#.......#. +..........#.................#.............#..................#...............................................................#.... +.....#...........#........#................#.........................................#..........................#......##......... +..........................#................#..............................................................#....................... +........#.................................................................#......................#.#..........................#... diff --git a/2024/input.07.txt b/2024/input.07.txt new file mode 100644 index 0000000..19ed730 --- /dev/null +++ b/2024/input.07.txt @@ -0,0 +1,850 @@ +194558: 2 6 664 40 874 40 7 +127536599: 49 4 21 65 99 +26009943184: 6 6 83 31 25 72 5 4 39 4 +250121527725: 8 8 1 32 907 4 7 7 2 4 7 4 +5493508: 3 893 785 38 86 +161265973705: 3 9 827 19 380 94 50 4 +4735417467: 61 728 59 433 177 +909846124: 2 8 843 3 3 17 37 6 124 +198029: 769 307 904 1 29 +901816: 80 819 2 731 88 +946927645: 7 97 6 461 6 33 344 23 +2582705613: 2 5 2 9 1 9 992 41 1 8 9 3 +24881687: 8 261 1 6 26 5 826 83 4 +511149612: 38 13 1 149 612 +54898116619876: 859 9 2 9 291 71 987 6 +55844: 6 310 30 44 +252947: 2 3 82 514 1 59 +22739623: 7 2 3 1 992 849 5 1 1 1 +73154904: 320 193 62 48 23 +2286886554: 535 69 7 74 7 7 31 27 +542670: 97 82 1 9 81 6 534 5 +115202021757: 858 2 944 790 18 +29019948080: 6 1 494 4 6 7 6 8 97 6 40 +228355615: 6 2 4 93 102 3 8 5 609 6 +820: 51 8 274 94 2 3 39 +1416461924: 35 3 496 809 4 +84121042752: 973 62 27 3 39 6 27 8 4 +1871396: 4 6 196 588 9 4 +19587620: 6 115 8 1 2 7 8 86 4 6 3 6 +10470432342: 726 5 6 6 8 5 12 8 2 4 3 8 +1798582066: 8 42 8 98 52 78 5 506 6 +91357812180: 7 2 7 186 578 121 80 +5793402260: 9 6 602 142 1 5 113 20 +1651110912: 9 4 6 94 6 6 9 3 88 89 4 +50185405: 3 2 2 2 8 8 1 21 44 3 7 8 +282464694: 1 9 614 4 6 3 4 1 9 3 324 +3102553: 251 9 583 55 3 +4157153115552: 4 730 58 90 7 947 288 +245934: 8 10 8 9 7 933 3 +631132: 8 49 573 462 673 +91096: 8 45 6 630 23 6 +219915564: 895 13 656 79 7 242 +60397606: 4 4 6 9 326 4 5 28 63 9 1 +94631: 43 22 31 +396843552: 78 7 8 94 31 65 1 8 61 3 +133007016751: 826 213 876 863 7 +341510: 28 76 9 415 4 42 6 8 42 +8537072: 706 6 492 44 7 6 5 976 +49336: 332 84 59 2 248 +99225319: 59 5 309 336 974 521 +314206: 91 2 2 863 74 +696348: 841 69 3 4 1 +53703: 71 335 631 8 1 7 17 3 +301330900: 595 4 164 5 772 +4218324: 936 345 9 545 4 6 +28857538: 28 403 454 121 417 +39920709: 8 97 179 7 17 53 5 203 +17958912: 8 43 2 9 5 53 47 9 4 6 3 6 +93614691785: 67 755 17 5 361 37 5 +1747635: 670 8 629 5 650 1 263 +315550: 301 9 63 72 91 59 +13819: 3 855 8 2 2 87 +746659: 7 514 914 1 8 1 6 65 4 +16269: 9 71 8 8 7 1 2 182 8 6 5 3 +1148007: 8 4 318 328 9 +6313: 7 665 9 99 166 +35955356: 666 772 5 5 5 347 9 +8088777769: 6 6 3 2 6 442 1 4 6 7 8 9 +67700160: 7 240 5 374 411 3 40 2 +3324: 4 244 7 32 358 178 8 4 +112224: 2 7 654 7 24 +2064271306: 616 2 335 9 68 338 +334602: 8 697 6 1 4 38 +28180072: 5 6 18 2 4 7 34 2 7 5 75 2 +45865818: 917 2 8 2 5 8 30 4 5 429 +1427910715: 81 4 1 2 57 1 73 1 439 +14101338935: 31 98 9 860 5 1 778 7 5 +2513920830: 2 137 1 9 9 38 9 208 2 9 +41654011: 83 2 22 86 5 11 +12444729: 12 118 5 422 992 1 89 +1690796: 9 71 3 3 294 +979542634: 3 26 5 3 1 426 34 +350857: 837 34 402 6 709 +6460006: 5 58 4 994 97 +1142179697677: 8 767 154 29 599 33 7 +2857698: 23 9 58 98 54 3 6 +12929728: 5 334 5 2 387 58 +45864: 475 697 4 39 +17839: 2 5 5 98 5 39 +1192516584039: 9 66 478 40 3 9 70 6 4 1 +3960792: 49 50 95 4 8 +3168957792: 6 176 7 673 637 +1633567788: 408 5 8 867 230 267 4 +20484122: 870 218 12 9 842 +359372136: 44 9 5 8 3 8 5 7 653 9 9 3 +87365659: 6 8 3 1 143 2 2 4 5 11 5 9 +966115: 4 4 7 2 863 8 6 1 113 2 +2811977: 1 9 80 6 1 8 4 54 1 65 4 8 +24013292: 744 5 48 5 8 2 637 940 +6460261: 40 61 6 67 6 5 3 9 2 +3495387174: 753 8 8 3 219 3 7 7 1 6 1 +51810186372: 781 2 823 6 1 86 2 9 8 2 +217580: 787 16 4 2 3 98 5 1 44 +39456720: 361 444 226 3 49 502 +905124433: 434 471 124 43 1 +6576876002: 9 7 732 3 5 766 16 45 2 +1963126: 99 31 6 2 638 +1266080275: 8 9 314 8 82 5 191 83 +153864480: 30 102 1 5 7 181 184 +38532375521: 2 92 6 87 32 372 3 521 +37401: 1 3 3 133 4 446 3 4 8 9 6 +5360171: 337 1 3 2 28 7 6 80 727 +85271: 11 76 7 9 71 +1575033: 54 81 1 360 2 391 +528186760: 27 799 3 19 60 +19697: 120 1 395 38 6 3 118 +22753653: 418 2 42 6 7 6 8 9 6 2 3 3 +41407327531: 29 193 6 2 62 3 7 5 3 1 +1712838837: 28 547 3 6 837 +528793: 4 770 13 504 90 +12327567953: 9 3 4 91 9 4 32 7 788 7 3 +261635970: 987 965 502 6 267 +102576: 2 3 482 7 6 5 91 5 +33741910866: 9 50 4 7 702 989 33 2 +48987981277: 5 56 1 585 2 89 1 74 9 7 +217696: 166 311 9 1 447 7 +69372864552: 965 8 2 9 6 3 1 6 5 2 6 79 +13713662815: 904 928 7 705 467 5 +9450002: 5 43 433 5 89 959 7 9 +106661489: 9 653 9 41 963 1 492 +41544: 4 6 1 6 9 +424930: 424 928 2 +836885854509: 7 61 2 97 88 585 4 50 7 +276397099569: 6 90 99 27 489 4 9 +8389707840: 19 5 5 1 963 7 3 6 240 +1311240: 97 8 1 2 7 2 420 +11910: 234 60 3 5 4 6 4 +12163840: 35 4 24 1 1 3 7 1 2 5 64 +1041844064: 787 75 3 32 1 8 46 818 +3670018: 9 7 1 21 257 40 58 +62316: 72 917 450 2 584 3 3 2 +3315060: 31 4 9 88 6 443 4 35 4 +321250943782: 6 87 4 9 8 1 9 5 1 2 949 2 +1410596320: 9 17 218 1 7 6 3 8 7 7 8 1 +70412251: 400 3 64 7 13 6 5 1 90 +188560348: 177 2 822 648 116 8 +16477580: 8 2 71 56 6 29 368 6 2 +8613: 3 7 71 6 3 33 +13922328: 828 7 1 3 56 +55602893520: 544 4 56 78 5 65 40 6 3 +16660258566: 8 8 6 2 6 3 9 8 4 3 641 +10450080: 2 36 6 65 78 9 5 354 2 5 +750311520: 550 9 7 4 2 7 73 2 2 46 7 +559642: 1 86 300 164 2 +9370369726: 98 2 8 886 3 117 5 4 7 +56385: 99 4 2 537 +3586445: 5 7 3 988 242 5 +22802009: 56 98 74 8 2 2 57 780 2 +1339248: 873 59 26 6 1 56 +1309905070: 925 53 2 25 744 4 4 9 +625303: 8 9 7 4 5 31 7 3 9 44 6 7 +70044: 1 1 26 898 3 +3871: 7 19 9 3 68 +71230992: 772 56 1 922 38 +264685: 42 63 5 2 7 5 +2223: 370 74 159 8 3 8 382 +21742264: 771 705 1 6 4 +102401: 6 626 9 3 9 3 2 7 2 8 958 +6084806902304: 784 8 99 679 89 76 97 +9090: 8 9 4 8 86 4 55 4 314 9 +13685898: 68 2 782 76 98 +129444037960: 878 732 804 371 8 59 +376605: 99 3 97 9 5 7 6 495 +566681: 367 792 8 61 653 436 +99712: 3 776 128 +429: 6 6 17 60 3 +34883897: 38 9 70 461 23 2 7 8 8 2 +2279769: 8 346 322 2 9 +3845250: 4 1 6 21 7 7 2 708 75 2 5 +170445: 9 68 69 5 339 31 950 5 +2789204: 4 734 95 2 +2280711039: 8 95 2 1 8 1 9 5 45 6 3 9 +41412584: 54 33 476 579 5 +72694487724: 1 875 73 659 575 8 3 +3021552: 9 182 478 905 552 +2962182: 1 6 482 14 57 8 6 +109122351: 544 4 12 116 1 7 2 9 4 +11262: 11 26 3 +14319625: 2 4 596 6 8 5 4 78 4 8 7 +99052425: 99 3 32 766 1 1 965 +616079365: 64 8 676 5 4 1 89 4 1 +9952486: 7 4 8 6 376 2 6 5 9 5 7 61 +794397365918: 78 138 2 383 9 369 8 +2742: 73 21 714 1 494 +6174: 87 224 32 3 6 +7426557: 9 5 565 73 10 596 8 4 1 +1256: 32 9 7 2 6 7 2 1 3 1 9 638 +31469: 3 1 4 66 3 +88: 5 1 76 6 +390349: 43 331 9 99 3 270 +41380442: 55 930 809 44 48 +17304255028: 93 79 9 41 50 28 +302: 61 23 165 42 3 8 +17421399: 1 5 2 990 2 58 9 717 9 9 +76944407761: 248 6 455 6 2 436 66 1 +386: 37 1 1 8 4 +2001328: 5 7 82 5 1 9 4 2 8 628 4 7 +334561605: 645 7 741 99 6 +135758349: 9 683 1 6 4 7 2 4 4 7 6 9 +1575996: 75 31 5 676 56 860 +61228739: 4 608 28 608 131 +765608: 4 761 51 7 1 9 6 +58492: 3 35 557 1 7 +189165130: 2 86 1 48 5 658 +131316: 7 9 7 7 3 3 4 1 4 269 14 5 +1396348044: 20 248 528 47 52 +118440144: 5 56 423 114 27 +226846130: 1 78 127 38 595 +10532284261: 4 134 7 33 62 2 98 4 7 9 +4470342: 4 996 4 742 1 89 6 +20923: 6 9 2 357 72 859 +3344414346: 41 1 13 17 81 98 +671956: 60 7 1 956 +1030961356: 697 1 827 19 94 +702: 7 1 5 54 +327285011213: 1 4 3 385 700 5 5 6 213 +657285: 59 6 7 4 3 6 8 3 9 57 11 6 +7021190: 8 46 86 4 72 27 4 6 4 29 +280298: 79 43 402 14 521 +27840: 88 244 1 4 69 919 12 +4557: 13 32 9 63 325 +621809048003: 516 2 17 4 20 66 6 2 8 3 +9981290920: 92 5 35 4 31 28 963 76 +256794364800: 89 9 6 8 27 7 432 6 25 +30170: 287 7 5 1 719 +7877646991: 9 847 8 46 991 +1238161: 90 859 1 74 4 4 +985340154: 9 84 7 3 2 6 7 7 25 290 4 +1803833: 9 7 9 70 58 2 7 554 8 9 +1210344: 33 2 66 339 695 766 6 +2519853298: 796 316 449 3 270 26 +3223373148: 2 73 49 2 856 517 1 4 8 +522185543879: 322 92 21 398 858 7 1 +8406787598: 256 304 5 410 8 +1332308: 8 880 2 3 5 8 +41169: 9 1 7 59 3 456 6 3 5 9 85 +174020: 6 24 17 38 70 +26880: 833 1 6 32 +500519468937: 5 884 3 8 4 849 3 5 9 37 +169122020: 1 1 31 67 4 1 730 +58437765776061: 146 5 47 207 2 20 8 61 +134891688: 95 4 8 330 6 46 6 6 43 2 +254874138: 48 3 4 894 3 99 5 123 +883147390: 117 16 80 33 830 +739350: 78 9 617 35 34 8 +3576000: 6 4 800 447 +709932: 709 9 32 +948508: 16 75 925 4 35 93 +116262378: 65 954 396 3 621 +8340815451056: 23 7 54 644 5 46 48 22 +180370542845: 54 657 74 33 843 +2049814: 4 761 1 892 3 +5299296: 16 20 2 736 96 +30797: 8 744 3 4 6 589 +1938563869: 554 9 6 9 4 3 2 6 58 70 +6355523967: 72 98 214 61 1 7 6 5 69 +14486244: 3 915 2 37 4 +106933506: 8 8 696 67 3 2 700 96 8 +504: 315 3 95 1 2 89 +1904749: 724 9 52 1 29 +36501111: 50 92 91 76 877 87 +489615: 93 5 111 5 3 9 49 29 +5070676579: 843 2 1 1 6 76 570 9 +30287088: 6 709 3 7 123 1 77 4 54 +1534953: 21 6 58 8 79 7 +4501: 8 4 1 6 2 6 21 5 4 55 8 9 +1364553: 361 58 4 614 2 7 711 9 +951296: 9 8 7 537 80 6 +157469187: 477 42 82 78 46 37 +18308: 5 366 8 +71574724: 4 83 8 5 8 4 9 4 3 1 840 4 +15909264: 3 22 69 49 8 3 432 +2572928: 257 21 7 66 64 +368787: 58 578 11 24 +131429520: 214 2 4 5 2 8 639 6 4 1 +20710: 10 10 710 +117843317739: 6 4 3 6 72 8 22 1 5 913 3 +545921: 155 34 575 508 5 6 +26574: 1 5 40 311 8 73 2 +10108225092: 85 947 7 2 59 588 +115864: 3 286 26 40 4 +533300: 1 37 6 6 7 71 52 6 92 +5887: 79 6 8 8 97 7 +78471498: 87 69 935 3 47 5 7 218 +7130225595: 5 3 1 1 6 787 5 1 5 78 8 9 +94324754748: 36 5 8 37 989 47 7 8 8 3 +10450960: 2 14 485 3 54 4 4 6 4 9 7 +922: 5 7 7 9 3 3 2 5 351 2 +118080: 31 92 1 80 12 +47895: 74 632 955 99 73 +17637: 1 758 1 3 4 7 16 +2010585052452: 29 308 82 686 452 +3755524: 76 8 489 4 +39377794273: 5 6 384 8 8 2 9 9 8 2 57 5 +234573439: 39 71 4 799 22 59 +81485214698: 31 783 8 512 9 46 96 +299816765: 6 7 1 4 791 4 38 282 2 5 +20315377: 84 26 44 93 85 +29909838650: 119 639 354 6 25 +24012371: 1 67 797 83 3 87 7 1 +5799427230: 72 2 675 7 9 43 96 30 +96592181: 539 5 43 72 833 +67110: 6 2 7 8 145 5 89 4 317 +3985: 34 2 267 569 4 1 363 5 +455038: 2 675 96 7 94 +422313647: 9 424 407 1 3 650 +1324756: 3 5 9 1 3 8 9 6 532 3 7 76 +57185: 871 698 6 6 1 679 8 14 +569264: 81 3 72 8 94 +2026: 530 3 40 324 72 +414: 60 7 6 4 8 +10619851: 53 683 3 790 96 97 1 +4313455: 478 65 3 79 55 +76428: 282 3 880 6 5 44 +298105: 8 283 9 59 9 810 18 7 +1555206589901: 32 5 3 8 5 9 7 32 2 1 9 9 +416: 13 1 32 +7890761221: 36 49 4 5 5 7 8 6 9 8 42 1 +4851699947: 7 453 17 777 9 8 9 +1340172906: 2 40 199 6 306 5 55 1 6 +3060357: 45 170 76 13 4 +36750787: 799 3 65 12 7 9 9 3 55 7 +2626008: 11 2 904 6 132 +160823754: 27 320 6 7 91 846 +575944059: 1 420 4 79 1 438 2 59 +34100955: 1 81 81 664 25 5 3 21 +948113: 71 3 735 1 13 +11843363: 5 86 23 8 3 878 21 1 +414514: 816 95 65 7 9 +1441652696: 6 69 6 3 8 1 4 58 4 693 1 +383650: 684 2 8 4 7 3 4 1 86 5 +22135637: 7 4 7 932 8 77 821 704 +918291: 5 1 89 6 1 872 200 8 9 6 +1505741: 395 28 9 5 39 391 +11771: 78 39 69 2 +80708: 7 39 294 345 4 97 +421192773: 140 2 5 1 5 6 3 7 5 9 1 3 +860808: 88 4 1 4 1 78 1 31 +33372: 17 6 6 3 970 5 4 6 6 +17146536118: 5 70 9 7 2 36 9 4 2 2 7 90 +533228686848: 8 86 33 306 78 1 984 +1737309600: 1 409 50 26 538 3 90 +222943937895: 708 45 45 7 535 5 999 +636399160: 63 563 5 764 1 60 +788745: 97 116 7 529 6 +22728734: 3 78 8 6 732 +1875535455: 1 23 8 563 71 7 2 51 5 +871082: 3 769 2 47 7 3 8 1 2 6 50 +30066368: 46 9 778 9 64 +45751548: 904 89 8 740 71 +2527247: 6 30 6 117 47 +1688: 2 602 82 2 394 6 +4399: 10 338 63 71 885 +71096: 716 99 90 78 44 +3995056485: 116 4 739 5 343 +7628: 5 92 8 71 9 5 +1972250398: 23 437 584 4 6 29 8 7 6 +135886610: 7 987 5 32 9 817 3 3 85 +635383260: 698 7 981 4 90 +96912: 484 2 5 7 55 +152775: 22 689 2 8 3 94 75 +78984174: 2 7 4 405 6 1 75 6 2 4 8 +4312419238: 8 113 449 451 3 8 22 6 +418704221: 837 393 5 77 21 +195822: 1 87 38 5 8 473 3 +471: 8 149 3 +759714: 599 181 5 62 7 312 +56005: 4 175 8 5 +103: 5 8 9 31 1 49 +1923392: 8 2 7 134 1 4 1 67 2 6 16 +1260: 150 5 8 20 1 +6938: 61 3 5 38 +1540044487170: 812 2 83 83 53 63 10 3 +1134769023: 7 89 8 54 3 86 6 8 1 7 6 3 +6335: 61 77 886 9 743 +985535: 5 4 5 45 393 2 7 24 4 5 1 +2747160758: 337 85 6 4 65 7 56 +14972873: 592 2 883 85 22 1 +215170709446: 1 8 5 6 2 2 9 92 776 7 7 7 +941373552: 6 6 3 5 5 5 8 84 9 28 7 12 +6429165688: 3 5 8 5 1 8 14 291 4 2 2 4 +8531: 861 825 5 5 70 6 +16943371610: 778 6 5 626 6 8 5 8 2 10 +162627956: 3 3 1 6 5 5 95 7 2 3 956 +2151926: 5 796 3 8 49 3 11 744 +102253056: 91 9 8 7 5 7 765 1 2 4 8 +37464508: 62 44 6 508 +59290776: 7 70 770 77 6 +29405232640: 95 780 624 9 4 492 4 +11838789900: 151 7 3 1 7 6 45 3 5 881 +34152034: 682 84 17 5 9 1 3 623 +709309696188: 2 536 4 4 92 358 1 8 6 2 +49216062: 614 22 97 7 5 33 8 +3363902892: 791 59 9 968 861 1 82 +245385018: 7 9 869 2 18 249 +2723318400: 82 528 68 925 +13986: 199 3 3 146 1 2 2 46 9 +1482122661189: 90 2 694 973 3 843 +171957897: 5 174 4 49 1 6 4 4 1 7 +2328172: 90 149 4 2 108 8 39 4 7 +362: 4 33 3 9 2 +21949953: 427 71 724 441 4 +3241877525: 304 6 8 75 24 53 5 5 25 +1477881: 7 2 74 4 9 507 1 108 9 +1584451: 35 3 7 8 25 33 299 1 7 1 +245523: 44 5 18 62 3 +408: 3 44 4 2 4 +6491391180: 7 15 766 321 65 12 +49688662: 616 806 99 291 62 +7767789: 3 7 65 4 5 350 8 111 9 +333456: 4 5 7 96 6 2 32 152 5 7 4 +60014021472: 43 55 330 7 108 712 +2628581: 494 76 4 5 7 441 +844582: 97 8 68 136 4 858 310 +74777: 610 2 988 355 1 329 +4763814: 99 9 3 84 278 42 6 +94440: 7 7 5 6 2 787 1 +4016774580: 88 229 696 69 90 182 +5836537069: 567 42 7 95 65 70 2 35 +17838201034: 7 27 164 38 943 +424573: 6 70 3 965 608 +37912: 3 79 11 +16398628155: 55 763 727 49 39 707 +3809: 3 4 2 4 8 38 1 88 14 6 9 +703384666831: 1 1 8 9 5 6 7 6 93 3 366 5 +647136: 627 43 3 6 4 +210792608671: 5 81 370 4 52 661 8 +2436100: 1 7 3 49 8 6 4 3 1 241 85 +1592324703: 66 1 197 9 4 1 9 93 799 +346507254032: 39 82 841 7 3 87 25 7 +13518: 6 3 751 +126939680: 35 60 696 85 944 2 +24678: 1 6 411 8 10 +201423: 9 3 4 23 189 4 9 8 6 4 9 6 +231349613724: 27 3 4 54 27 84 94 5 9 6 +2927815253: 36 9 5 76 7 64 8 9 53 +8630377: 768 94 17 2 84 79 +462193759: 5 3 9 4 9 86 1 8 537 6 1 1 +607518720: 70 1 91 6 19 7 824 6 +468102094: 66 14 638 978 66 +128956255: 307 3 7 7 1 9 5 4 6 7 442 +193259: 1 24 5 687 59 +162357: 69 94 1 2 1 978 9 +442600: 7 4 8 2 8 5 74 992 683 8 +3767103580553: 4 1 85 6 706 45 9 50 +14847610: 9 9 5 6 8 9 9 6 7 602 2 6 +743: 68 6 7 53 275 +3050362: 35 8 8 17 2 93 4 2 8 5 2 +82156803: 2 772 3 76 3 7 22 +628792: 264 3 42 7 3 98 8 +130836627: 7 554 23 3 2 9 33 621 +144521: 260 5 1 4 5 7 410 82 37 +1792577: 55 6 95 5 4 88 3 5 19 3 +2091684: 2 9 2 843 1 9 202 4 980 +74537554512: 59 68 1 97 192 586 +1855461604: 277 9 9 93 800 4 +224859805: 587 17 1 40 2 9 929 5 +2400360483472: 8 62 8 85 54 4 1 24 1 28 +614540871: 607 7 435 8 1 164 70 +366295433435: 45 3 67 551 49 435 +91587264: 4 3 6 9 8 1 60 588 92 4 4 +630961: 6 68 5 575 478 +893: 365 73 366 2 87 +5056137: 508 1 3 74 2 3 288 9 +95290: 99 1 93 229 10 1 +582845322: 4 551 4 8 4 70 4 6 7 3 4 2 +5535: 9 7 4 79 479 +395: 2 39 5 346 3 +178405757400: 1 24 934 238 900 6 +145435392: 2 794 96 6 159 +5250: 1 25 996 5 142 3 1 +759649461: 2 8 2 1 9 8 7 298 9 5 2 9 +56934838: 4 3 885 52 62 360 9 86 +105669: 7 1 21 21 31 531 +14746: 9 390 3 2 4 686 +5769: 7 592 2 40 9 +9608753689: 479 340 188 44 59 1 +643168552301: 4 6 6 5 2 61 94 9 793 7 2 +229419862: 731 4 374 62 462 833 +2713155156616: 34 606 57 98 8 5 77 2 4 +6413421303: 28 851 75 60 81 7 9 +256402417600: 1 4 4 7 513 512 28 35 3 +1460366163: 81 4 598 16 722 3 +4060: 1 46 85 16 49 +2110348408810: 42 8 3 6 3 2 6 3 4 4 1 410 +2902057811: 731 7 1 9 105 7 67 9 8 1 +23258816649: 927 65 1 386 646 +29206983: 91 5 887 4 99 3 3 +5861730159: 94 76 9 618 157 +22973: 6 9 54 82 5 1 7 140 2 11 +371623000: 93 217 6 449 41 517 +3588: 34 7 5 26 3 +1941395: 7 2 3 6 77 70 81 840 4 +672968880: 433 7 6 3 77 4 584 8 3 5 +15674455: 7 311 36 2 52 +243523: 1 42 1 565 8 +19516: 2 458 9 6 1 41 +453896: 542 49 96 8 1 3 4 +267007884: 74 84 50 398 858 +40330241015588: 8 42 6 984 210 9 62 9 8 +585: 3 55 9 372 87 2 57 +2396434: 2 8 3 89 9 9 40 4 52 9 57 +16119246: 111 2 2 566 63 6 909 2 +20568735: 83 22 847 855 9 +7813814546: 678 1 24 8 49 35 4 7 5 6 +27282024: 3 11 9 2 1 4 354 21 836 +2964: 944 3 30 92 10 +827647: 4 4 2 764 7 +1176186495: 35 642 33 123 372 +201735728: 1 2 382 526 502 +35413156795: 235 7 3 4 4 7 7 1 3 5 9 5 +8399713: 44 49 472 4 3 +2343605: 279 7 40 30 5 +6450624: 12 5 13 52 5 6 98 30 6 8 +443217280: 6 395 16 785 88 +48700: 8 6 3 6 1 7 60 66 73 774 +80580: 7 68 56 7 3 8 3 580 +130511451943: 54 45 38 537 45 946 +8108763812: 8 2 90 9 8 763 810 1 4 +182283859: 17 43 57 3 57 3 852 7 +24897070: 46 89 28 4 755 95 2 +111250171648: 99 484 8 346 404 +23755: 5 920 55 96 5 +436019: 56 972 8 5 64 496 +928922: 9 619 662 149 205 +6451307248: 3 212 7 7 7 7 30 7 2 5 1 +86980: 8 65 13 978 2 +9786271: 7 6 89 869 59 +1532160: 89 3 106 293 79 64 6 7 +24403000: 842 97 5 94 2 55 8 2 5 +1953: 2 6 5 4 93 +990319: 990 189 130 +11412188576: 620 6 263 76 92 +249050630: 98 78 84 786 955 +742373: 5 386 1 8 15 9 6 8 7 94 1 +474024: 7 2 6 800 9 3 +142885: 28 3 9 8 8 8 15 12 8 2 +6930420: 11 98 60 870 7 +122733492: 256 38 3 38 26 42 +831978: 2 6 26 93 8 93 7 +29926896375: 554 2 54 94 9 4 69 74 5 +219383717: 22 9 958 1 785 2 930 +3407325164: 4 859 94 746 4 +6078060: 33 7 13 973 1 8 537 12 +299554515: 935 63 5 15 30 1 5 +9437408425: 1 344 72 348 12 7 19 6 +267406: 5 99 9 3 4 64 5 9 97 +6553232: 9 64 36 4 835 8 18 1 1 6 +96001080: 23 902 5 619 920 +84355: 3 5 31 540 8 4 76 7 +24298114896: 35 284 3 407 1 564 +5953350: 6 996 608 8 22 9 7 50 +79652: 7 948 6 7 89 68 +22886: 1 4 1 57 8 6 +624448: 77 97 8 6 8 +3359340: 50 74 4 2 270 +622: 2 2 3 7 538 +507934685: 3 22 396 2 3 11 2 2 46 5 +1019: 1 12 74 36 30 65 +203478: 665 11 3 6 7 8 +19277025840: 8 631 9 58 70 963 2 6 5 +344954166: 5 8 3 3 984 90 6 3 8 3 1 6 +48340800932: 8 7 10 6 746 72 2 7 1 2 2 +146059200: 9 78 741 1 1 9 245 5 8 2 +4436052529: 9 1 78 9 2 3 9 7 8 972 4 9 +43699067: 5 97 68 36 9 7 +88848: 2 6 77 3 217 9 619 8 8 +1656: 47 1 34 6 52 +9799: 41 2 42 4 18 871 +7946031: 1 6 12 63 1 7 945 86 +720410: 8 599 3 5 30 9 64 1 5 3 5 +24848528: 421 1 3 20 44 982 +867: 3 397 1 346 1 95 8 7 5 4 +94969178216: 9 82 2 275 1 7 4 879 8 4 +7272: 2 6 606 +12214232427600: 512 9 63 842 15 6 7 60 +28632: 84 9 3 15 717 +144280559: 681 43 3 498 40 +1138408: 5 2 50 638 405 +12128950928: 5 4 7 39 58 1 553 2 1 4 9 +20820892347: 8 2 1 56 716 1 2 2 8 3 9 1 +1198976: 50 1 549 488 2 +900841950944: 2 9 7 4 9 54 854 5 9 416 +346736: 30 28 42 898 104 +7603435: 25 48 8 467 3 67 8 200 +242741004: 2 4 26 99 41 9 82 5 7 9 +563920: 7 82 720 880 1 +2443160712025: 3 5 7 3 3 8 913 6 2 85 25 +2147242: 352 61 36 6 +220646436: 3 8 27 847 5 84 9 9 81 6 +149809323: 25 102 746 8 587 +144884479: 3 3 163 6 9 98 6 1 27 76 +9249: 2 8 5 7 64 3 9 58 7 4 82 +7338803: 1 810 4 3 9 9 1 21 1 7 1 2 +764: 7 8 612 1 91 45 +7381740: 9 3 29 55 74 60 +5928: 72 7 47 615 8 +466888312086: 5 53 77 93 74 3 8 20 86 +210325257: 23 7 82 3 567 8 46 3 9 +221180: 418 6 2 44 476 +6249064885203: 88 90 255 6 955 810 4 +334647013: 3 9 14 855 13 +639109705: 83 770 963 7 6 +23307480: 2 877 7 6 7 420 9 +1552566965: 51 4 321 24 79 91 3 65 +87715339226: 45 958 608 874 14 12 +12858752: 23 61 5 51 60 675 4 +1351937: 643 71 7 3 7 +9467274375: 3 1 300 6 7 1 8 7 9 1 433 +5224: 4 65 5 31 8 4 290 2 32 +364104316: 4 32 410 4 3 16 +11572855: 756 43 356 6 1 +3454145741: 345 40 62 83 741 +758500646221: 9 916 820 646 128 93 +363957360: 8 8 430 71 52 6 +338029: 67 498 5 4 2 5 527 +10068480: 4 1 9 17 8 4 25 874 8 8 2 +8299784: 27 2 4 3 2 8 44 6 1 927 4 +20579790: 520 17 3 66 462 5 +613581611446: 6 1 358 1 5 9 9 5 7 4 42 4 +60066: 7 39 136 664 71 +155277: 84 6 80 469 9 27 +96729: 8 5 3 806 9 +897244658151: 9 3 83 9 385 9 1 814 2 9 +7035873: 764 92 70 73 +4445733605: 7 6 1 2 210 1 8 891 66 5 +10609173795: 968 86 18 5 8 6 9 885 +3695: 3 70 8 44 131 +1050504: 1 5 4 1 7 95 59 12 481 +14585643: 1 918 5 9 74 38 8 9 9 43 +54685258320: 5 9 6 5 7 308 461 5 3 98 +2800483: 32 9 1 281 9 78 624 7 7 +168530073: 4 287 9 51 7 3 367 2 5 3 +395246313: 3 4 5 9 2 2 632 8 7 1 7 9 +4064256: 36 21 1 896 6 +262310522628: 2 427 9 5 4 1 83 24 49 3 +86049: 23 82 818 26 133 1 +601: 4 4 8 63 370 +1026420084: 2 5 4 95 8 737 6 522 +101164: 40 320 281 2 2 +10817105: 49 4 4 864 425 9 5 +3420: 5 4 9 299 9 +69689: 57 69 5 66 89 +265686: 70 4 948 152 52 34 8 +32990988: 688 4 54 37 2 6 1 +157066012: 26 863 70 12 +58787499: 790 78 2 3 6 53 67 43 1 +114207: 3 6 28 111 654 304 3 +4729: 23 651 1 7 4 +1292818885: 99 5 41 908 835 31 +66775434: 196 2 34 67 434 +115887: 9 2 245 1 43 2 +462669: 4 88 1 3 517 3 2 7 2 7 4 7 +135: 5 3 9 +75750: 69 941 75 +9632: 29 38 92 2 8 8 +577121008: 9 2 93 3 28 5 20 5 5 8 8 2 +6697752: 9 2 7 6 5 367 4 3 23 9 2 +3680318803: 5 9 11 9 7 7 9 8 5 437 7 7 +160907427: 300 9 9 91 9 733 +35049202177630: 22 729 703 3 295 514 +5010054861: 5 52 3 835 545 3 61 +3680392: 3 677 5 5 43 76 1 44 6 2 +540881440: 5 5 27 44 5 360 4 +84819882: 6 585 3 231 35 618 +7230186: 1 92 8 738 97 +31833026: 588 20 9 21 540 5 18 8 +8703829: 8 695 8 732 97 +2645256721889: 7 7 816 470 40 77 9 59 +96200: 128 1 4 6 74 +10937584095: 797 35 2 5 560 7 95 +69479877: 301 374 764 6 613 5 +1670542: 8 19 9 3 87 1 29 189 4 2 +57158970624683: 849 9 834 4 42 6 8 683 +155: 3 5 3 2 38 70 +80353681: 803 48 5 677 4 +243932835: 9 73 72 988 8 1 31 4 +65346: 59 79 6 7 4 2 +335768981464: 3 9 659 844 7 92 142 +89019612087: 6 9 70 9 7 680 9 2 5 6 2 7 +125382104: 376 6 8 789 52 536 +28451: 5 5 4 674 4 30 38 8 19 +5738099522: 810 920 7 7 1 77 155 +30304670: 5 9 5 4 3 97 71 695 4 6 +158763: 5 5 5 8 561 +526356306: 7 114 41 6 3 8 2 403 4 9 +1079: 240 96 579 2 66 96 +109098: 3 6 38 7 5 95 2 7 52 54 +39502269: 2 1 3 56 2 5 5 5 42 586 9 +32609: 6 54 82 127 +3070: 8 21 68 3 99 +640811159: 8 31 306 4 1 7 4 9 9 97 +2000439000: 5 281 45 791 40 +171068: 25 6 19 20 3 9 6 20 28 5 +27921957: 1 5 999 7 7 63 3 9 3 1 5 6 +612228: 250 9 34 8 26 202 +2963917: 216 14 3 98 36 59 9 +4363811: 2 132 47 33 5 22 4 33 +2568: 955 600 419 530 64 +3215582024: 3 1 902 87 8 9 99 757 4 +153840815856: 51 868 6 481 28 258 +11386: 9 6 39 52 3 +60434: 6 4 85 52 67 +23737612: 76 571 547 +3533198: 2 88 1 2 63 31 90 8 +663363: 3 1 8 603 22 41 +5587084944: 53 6 6 498 4 1 7 8 12 7 +216867168: 959 3 943 616 84 97 6 +890979341: 989 925 52 9 23 18 +7: 2 5 1 +3647893260: 793 46 9 32 60 +75777: 538 747 4 573 5 76 39 +19834461: 6 28 538 733 17 +12198733538: 22 99 98 73 35 35 +254720: 87 37 761 8 8 +60001422: 3 729 872 9 94 +31934565: 46 6 886 6 137 691 +8096760: 313 9 15 3 168 17 +38124834120: 6 660 5 53 5 7 3 7 6 5 12 +23452364967: 3 5 5 5 5 72 8 5 833 90 +30005379: 384 88 736 869 547 +3722710422: 8 1 7 966 38 2 412 8 1 1 +457: 155 216 25 25 36 +19880960508: 638 82 2 31 71 38 2 8 +25328336: 34 209 81 21 37 44 +1929959244: 5 900 7 665 97 81 93 6 +10383955921: 5 19 97 706 9 948 1 +2267298543: 7 7 752 54 93 54 3 +100433212: 80 4 6 41 1 2 271 5 9 68 +116610592490: 4 451 202 1 4 4 2 2 1 88 +20491672: 2 8 36 5 7 3 794 7 4 4 5 3 +1180313416: 419 113 257 97 3 50 +171227269984: 8 9 9 3 560 7 9 176 34 +455846: 98 9 71 43 4 41 +1674562864: 57 794 45 5 37 29 +35: 2 3 31 +87046876: 5 79 334 4 858 1 68 76 +1877: 1 6 19 289 3 610 1 +364: 4 63 15 2 95 +76836001065: 19 674 75 8 10 65 +45790962: 9 41 58 3 7 59 +3460: 7 34 2 6 2 9 3 2 9 8 5 725 +65011686: 3 4 6 235 1 5 3 8 7 1 1 6 +930: 8 8 866 +2401: 3 4 5 32 +301269: 69 9 431 +13699: 136 97 2 +317: 42 6 6 26 3 +15794075: 7 3 3 331 8 1 5 225 395 +129161328: 8 1 97 76 3 9 98 1 4 3 4 8 +567: 199 23 5 332 8 +190423850: 4 4 9 54 68 582 9 46 4 +27411835281528: 17 52 252 75 1 31 52 8 +4170: 4 9 63 2 5 50 4 7 3 +461435: 22 312 46 6 14 70 5 95 +1386: 64 665 8 400 246 3 +357696003: 10 8 5 5 5 9 4 1 345 4 6 3 +77837763: 60 1 924 27 52 +3811398362: 4 4 7 4 74 1 5 622 9 5 1 4 +292049: 5 6 91 2 26 3 2 9 8 2 1 1 +4165920: 5 254 4 198 80 +6672: 494 88 7 10 835 +43553: 8 5 2 267 313 8 362 +789021489: 950 55 86 413 284 83 +17159844237: 42 196 721 44 237 +663874848670: 45 37 6 91 73 11 1 1 6 3 +5483954201: 4 568 2 3 9 1 1 3 5 6 7 94 +1540007: 101 146 46 8 657 +9727: 27 358 58 +225373634: 385 2 5 4 4 2 1 568 73 4 +99539283888: 8 9 989 1 5 6 583 9 4 47 +392: 2 2 307 1 81 +42059103300: 941 425 612 73 +8770: 161 649 9 9 9 577 885 +190409235602: 59 1 362 89 8 77 5 602 +79553678: 2 27 137 4 1 34 8 839 2 +159028761020: 24 9 7 9 4 709 6 5 5 2 20 +1300: 37 5 925 +243433313: 805 7 6 6 3 4 6 1 8 53 3 +3124500: 103 8 67 283 30 +302625: 3 5 8 56 57 392 25 9 +1137: 18 15 346 3 +639368: 971 57 8 617 9 5 137 5 +79939450: 5 793 1 39 44 4 6 +2228247208: 4 557 221 26 208 +134042534: 446 80 38 6 8 2 3 8 83 1 +510500610672: 95 6 324 3 98 2 23 1 78 +4111: 658 6 84 8 71 +45999: 81 6 119 8 138 127 6 9 +60030845: 74 7 39 5 3 2 5 831 6 8 +35770: 9 16 197 98 72 70 +10927513483: 5 147 954 82 919 619 +10051898: 8 5 38 815 105 168 98 +131228541: 72 5 181 3 54 3 +10512: 8 438 3 +223: 3 4 9 15 192 +488096: 56 9 6 957 26 +657202356: 40 7 7 4 7 7 9 7 2 1 9 876 +1078687453562: 14 77 687 453 555 4 +13425: 4 1 3 75 3 +92796195: 30 4 36 84 5 6 27 3 +38173361: 47 8 5 729 42 419 +430285450: 896 41 4 14 48 7 +83841: 79 1 3 839 4 +237475: 2 15 377 6 8 3 22 75 4 +680057: 7 7 64 3 42 3 6 298 115 +281219: 5 7 9 5 941 752 7 6 1 7 3 +137606014: 12 3 42 1 54 91 +81445062312: 302 995 7 16 2 5 4 9 24 +430044160: 948 46 65 13 64 8 +2214: 724 6 2 6 3 +126136158224: 1 926 4 5 8 8 7 17 11 2 2 +1367286683: 72 728 470 4 1 281 +13304: 244 6 86 113 8 +691914: 4 74 662 609 90 +2198982: 1 4 2 9 546 139 4 7 2 +676192: 9 6 3 4 7 17 3 2 717 68 8 +17217: 8 5 1 2 3 9 8 22 5 894 9 4 +342783: 523 652 938 94 754 +812: 57 8 3 8 1 4 +153626591: 8 4 8 6 2 380 271 3 78 +719278: 9 5 94 103 1 83 2 +2478427: 548 14 441 7 +369291042: 3 8 8 63 413 6 6 85 3 9 +3973077: 471 1 87 84 969 +40382: 97 2 2 918 4 13 13 4 9 8 +2096301704: 300 8 104 7 481 5 67 9 +34559536583: 627 74 85 407 9 58 1 +171414: 532 894 3 7 5 8 5 3 6 +1092591435: 569 8 4 64 3 8 3 3 1 +11768133: 5 7 422 691 2 761 790 +1168: 48 4 30 506 576 4 +270957: 967 31 123 9 57 +49751803: 407 955 64 2 9 58 56 +75672: 575 2 955 2 89 24 +12708470: 66 588 413 6 6 9 4 862 +18233446903: 4 651 778 129 7 +459: 2 72 4 7 374 +10314: 5 4 49 1 6 +215952960: 565 796 6 972 80 diff --git a/2024/tcl/06.tcl b/2024/tcl/06.tcl index fa48061..39f980e 100755 --- a/2024/tcl/06.tcl +++ b/2024/tcl/06.tcl @@ -1,37 +1,30 @@ #!/bin/env tclsh source lib.tcl -setup 6 +setup 6 grid puts {Part 1: Count unique guard coords} -set map(grid) {} -foreach line $input { - lappend map(grid) [split $line ""] -} -set map(h) [llength $map(grid)] -set map(w) [llength [lindex $map(grid) 0]] -set map(visits) {} -set map(debug) $map(grid) -set guard(y) [lsearch $map(grid) *^*] -set guard(x) [lsearch [lindex $map(grid) $guard(y)] ^] +set input(visits) {} +set guard(y) [lsearch $input(grid) *^*] +set guard(x) [lsearch [lindex $input(grid) $guard(y)] ^] set guard(dir) 0 set placed_obstructions {} set rot_map {{-1 0} {0 1} {1 0} {0 -1}} proc step_guard {} { - global guard rot_map map - dict set map(visits) [list $guard(y) $guard(x)] $guard(dir) 1 - lset map(debug) $guard(y) $guard(x) [lindex {^ > v <} $guard(dir)] + global guard rot_map input + dict set input(visits) [list $guard(y) $guard(x)] $guard(dir) 1 + lset input(debug) $guard(y) $guard(x) [lindex {^ > v <} $guard(dir)] lassign [lindex $rot_map $guard(dir)] ydir xdir set ynew [expr {$guard(y) + $ydir}] set xnew [expr {$guard(x) + $xdir}] - if {$ynew < 0 || $ynew >= $map(h) || $xnew < 0 || $xnew >= $map(w)} { return 0 } + if {$ynew < 0 || $ynew >= $input(h) || $xnew < 0 || $xnew >= $input(w)} { return 0 } - if {[lindex $map(grid) $ynew $xnew] == "#"} { + if {[lindex $input(grid) $ynew $xnew] == "#"} { set guard(dir) [expr {($guard(dir) + 1) % 4}] return 1 } @@ -44,45 +37,45 @@ proc step_guard {} { # sigh set potential_loops 0 while {[step_guard]} { - puts -nonewline "Unique coords: [llength [dict keys $map(visits)]]\r" + puts -nonewline "Unique coords: [llength [dict keys $input(visits)]]\r" flush stdout lassign [lindex $rot_map $guard(dir)] ydir xdir set ynew [expr {$guard(y) + $ydir}] set xnew [expr {$guard(x) + $xdir}] - if {$ynew < 0 || $ynew >= $map(h) || $xnew < 0 || $xnew >= $map(w)} continue + if {$ynew < 0 || $ynew >= $input(h) || $xnew < 0 || $xnew >= $input(w)} continue # it took me. 2 hours. to realize i needed the clause after the ||. god dammit. - if {[dict exists $placed_obstructions [list $ynew $xnew]] || [dict exists $map(visits) [list $ynew $xnew]]} { + if {[dict exists $placed_obstructions [list $ynew $xnew]] || [dict exists $input(visits) [list $ynew $xnew]]} { continue } - if {[dict exists $map(visits) [list $guard(y) $guard(x)] [expr {($guard(dir) + 1) % 4}]]} { -# foreach line $map(debug) { + if {[dict exists $input(visits) [list $guard(y) $guard(x)] [expr {($guard(dir) + 1) % 4}]]} { +# foreach line $input(debug) { # puts [join $line ""] # } dict incr placed_obstructions [list $ynew $xnew] 1 incr potential_loops - } elseif {[lindex $map(grid) $ynew $xnew] != "#"} { - set map_backup [array get map] + } elseif {[lindex $input(grid) $ynew $xnew] != "#"} { + set input_backup [array get input] set guard_backup [array get guard] - lset map(grid) $ynew $xnew "#" - lset map(debug) $ynew $xnew "#" + lset input(grid) $ynew $xnew "#" + lset input(debug) $ynew $xnew "#" while {[step_guard]} { - if {[dict exists $map(visits) [list $guard(y) $guard(x)] $guard(dir)]} { + if {[dict exists $input(visits) [list $guard(y) $guard(x)] $guard(dir)]} { dict incr placed_obstructions [list $ynew $xnew] 2 incr potential_loops break } } - array set map $map_backup + array set input $input_backup array set guard $guard_backup } } -puts "Unique coords: [llength [dict keys $map(visits)]]" +puts "Unique coords: [llength [dict keys $input(visits)]]" puts "" puts {Part 2: Number of potential looping obstructions} diff --git a/2024/tcl/input.01.txt b/2024/tcl/input.01.txt deleted file mode 100644 index cf109b6..0000000 --- a/2024/tcl/input.01.txt +++ /dev/null @@ -1,1000 +0,0 @@ -80421 40193 -69841 31045 -47850 64065 -63141 52072 -32908 83033 -33395 25559 -78513 59127 -91270 76329 -65508 34159 -27139 15788 -13228 50396 -43186 29116 -55392 52441 -19309 68909 -72798 54258 -31590 11220 -32125 81946 -58099 50396 -16614 76682 -60604 12184 -21251 26105 -56053 96112 -47903 13396 -72956 11681 -66315 11220 -54499 96112 -38390 83884 -69211 52732 -69235 52441 -83831 49092 -25782 75523 -35417 15162 -45889 82918 -76191 97182 -95942 49643 -30121 83884 -86470 16217 -23572 11220 -69703 80739 -45792 21543 -76682 70230 -79585 83884 -64501 69361 -55546 92076 -43632 87826 -93309 17223 -73996 69071 -83466 42385 -73963 19398 -36643 98070 -43789 15788 -54302 70897 -83362 50227 -60881 66983 -61881 17864 -81520 52171 -99147 41180 -63427 16217 -50290 40193 -19315 20520 -84997 27666 -45495 40509 -81512 76682 -93459 11220 -28126 72353 -38227 11681 -49613 27677 -26858 40193 -16759 51946 -42145 90200 -64421 88733 -97361 16019 -32616 75596 -30875 90149 -82019 50759 -90554 83033 -42030 75763 -64459 32394 -45152 83884 -51375 48768 -71487 93793 -69694 84439 -97213 70998 -65471 90900 -69237 48307 -50672 58376 -61500 58064 -22831 76682 -63626 90356 -43195 87826 -67468 11770 -59753 97698 -34386 97698 -84851 23296 -96001 69910 -41418 13027 -82815 27666 -37012 17864 -45122 57830 -81552 44943 -18717 33011 -28726 87826 -29453 52441 -82398 24963 -47384 87826 -24205 50966 -80001 43568 -17033 21145 -74890 54233 -59065 58047 -33505 96112 -96403 34213 -35992 94345 -74353 27666 -59539 37101 -90355 71860 -86007 11220 -50733 76682 -75113 94664 -56735 87038 -27654 16492 -39478 47633 -70998 95331 -19885 38941 -47463 26105 -74771 28343 -56762 87773 -89980 35218 -35434 71473 -97275 53382 -97389 28343 -55060 11220 -83189 74164 -65464 75140 -15091 58376 -49752 94345 -55978 50227 -13991 40193 -58778 69071 -99285 16217 -37693 40193 -61282 71473 -34624 87374 -53881 13912 -67666 58376 -51235 52441 -80739 99593 -40193 97698 -94214 83205 -13145 72473 -88888 40193 -46957 96567 -92406 59738 -85389 13942 -55969 52441 -91426 46497 -92608 63775 -71473 24823 -51744 50396 -77645 42696 -34121 96112 -99775 96112 -89480 98660 -42647 95861 -35131 98522 -22031 76805 -10282 43806 -82323 65743 -79408 89179 -50692 85420 -89878 70998 -46431 17223 -99643 52441 -61276 68075 -14058 83884 -94292 17411 -92506 40193 -91012 17223 -51557 55254 -50846 96567 -20336 84821 -71617 81946 -40314 84439 -42990 89703 -62455 27446 -65790 94345 -57568 65105 -13052 79090 -30028 96128 -42028 58852 -47372 87826 -44459 90200 -67988 66776 -28313 84439 -52545 94345 -17108 37412 -16113 11681 -56064 54165 -60025 37314 -85545 11681 -68437 25575 -46677 20626 -53308 28343 -79483 70998 -54308 55727 -26755 69337 -73791 50227 -33565 83884 -35359 17223 -47840 26266 -50109 75074 -88842 39316 -84439 97698 -86029 96112 -39964 79122 -37828 69071 -73120 96567 -67688 50227 -61996 70230 -62643 82883 -99604 28343 -18054 76682 -52441 97698 -45131 58376 -32102 53380 -60963 53418 -73803 41652 -56361 70998 -74041 77517 -14940 84439 -80439 26105 -79199 83033 -41700 83033 -35229 65677 -64958 84439 -51246 78550 -23506 31244 -26237 40038 -49105 27712 -62117 37779 -76884 94345 -56414 62009 -88424 80739 -97192 15788 -70374 59226 -53515 76682 -85931 28343 -50925 38390 -51959 96567 -98082 28525 -37588 29342 -52624 37871 -28331 16217 -73762 94345 -73815 38390 -38573 25210 -88916 97698 -66917 28343 -47055 73500 -97902 34391 -16580 82128 -18015 91780 -77218 14792 -22251 37702 -62344 94345 -49811 73150 -43220 58572 -93889 76682 -70259 90173 -16985 26105 -93371 50227 -93434 49229 -97412 55737 -69071 39598 -70682 90271 -31536 30421 -81650 96112 -66094 70998 -94447 83052 -70230 87681 -69613 93387 -50227 85660 -32751 83903 -12441 41367 -64171 79090 -88431 75578 -33033 96567 -96305 79090 -17193 52441 -42766 27666 -30798 50396 -18160 14792 -86048 69517 -26894 10883 -72243 38390 -48910 96875 -80507 90612 -77344 83033 -11713 96112 -36810 50227 -91347 11220 -20755 76682 -50353 95421 -63754 63013 -22119 25388 -35010 38390 -39083 90678 -16379 13640 -47651 67154 -50798 71473 -64108 83884 -62368 85420 -87732 54461 -44496 74078 -50396 16217 -32142 94345 -12969 50227 -63851 24208 -59124 89844 -24929 21174 -55229 84439 -78807 15788 -58298 50396 -16926 96567 -83884 50396 -63542 49739 -76625 41626 -97382 32976 -40464 38390 -14575 10840 -63334 71473 -25579 40921 -71524 96567 -50616 93389 -81504 17864 -10618 32838 -65653 11681 -74217 76682 -17739 45245 -12975 56728 -92629 12987 -13610 68591 -24487 83033 -12475 81946 -31651 39134 -32359 81946 -41174 79359 -63548 65603 -55031 50396 -59183 58376 -74036 69252 -33977 71473 -39977 40407 -32033 40193 -90147 83033 -23940 30137 -67597 33156 -64295 99755 -72689 96112 -92379 83884 -59904 17864 -59250 54829 -31693 34134 -88853 97698 -46754 31254 -58208 11220 -98626 11220 -46741 70998 -36408 63013 -18581 87826 -63114 28343 -97394 81946 -93270 97698 -80744 59372 -97689 57651 -87482 58376 -11896 75807 -65025 96196 -15892 54686 -68939 24270 -16022 53606 -36023 85420 -95998 43637 -61265 38390 -79090 11220 -81946 99814 -63895 78782 -83527 90200 -51915 62980 -22548 20223 -58376 26608 -81705 24971 -99116 26106 -92178 77949 -98976 38390 -81016 28343 -52646 79090 -29911 88246 -23834 92181 -46484 89669 -68488 44503 -74484 29808 -89780 86262 -96112 75203 -51392 42994 -19800 23307 -49890 41317 -98098 94345 -57894 69730 -59120 93793 -86825 83884 -41981 84710 -69860 70998 -25576 35489 -42850 23083 -34439 85430 -91153 35450 -59806 16217 -87651 74318 -15466 76682 -94237 22001 -45392 47159 -35295 95111 -86122 88173 -28631 50396 -34798 26613 -61839 13468 -61723 96112 -14034 96112 -30006 16217 -14649 26145 -86294 80739 -32258 11681 -92857 50396 -86334 58376 -10895 84439 -63194 85936 -76887 96027 -68733 26105 -41207 63013 -28365 88512 -24732 38390 -67548 49710 -81155 48747 -41815 96112 -51642 69071 -62718 81572 -59606 98715 -74964 13588 -64466 17223 -96982 46340 -84527 94623 -69698 11220 -11144 23375 -57947 97698 -41007 80545 -11681 32334 -94807 43967 -54555 94345 -16363 93419 -65623 45980 -42388 45727 -48482 79090 -85324 81581 -59768 37611 -62042 11681 -90240 19425 -66983 24278 -98892 42679 -35839 35139 -17825 39236 -74183 28343 -94347 48434 -82766 84797 -12488 62200 -11529 58265 -82862 27666 -63390 87826 -87638 60767 -69964 71473 -94668 76682 -58958 52441 -75722 97743 -68139 11220 -58242 75810 -92586 40193 -29680 94345 -33347 73583 -74149 73747 -88092 94345 -82865 45901 -88894 38390 -40872 97309 -85420 93793 -80641 69071 -57680 79788 -50575 63583 -45838 28855 -77834 63196 -36094 58852 -93487 19648 -98316 79122 -89283 97494 -81283 78824 -78086 84439 -70708 27959 -64643 44369 -39933 56445 -68663 28343 -97698 10803 -79122 51608 -35053 96112 -88445 87826 -59362 81946 -58091 67264 -48218 93793 -64495 16994 -38395 71473 -61884 50396 -84809 84439 -90363 78607 -39707 76682 -66866 83033 -76807 80277 -98492 83033 -65436 84059 -69199 68798 -62230 83884 -51938 18013 -99036 22915 -20508 84439 -41393 50396 -47979 58852 -74140 70998 -42029 88646 -43056 14163 -96145 39532 -80632 64382 -56985 85420 -63903 41993 -11220 93712 -94345 15788 -43760 56901 -93453 58852 -35914 74746 -73054 44762 -45629 40193 -77231 55896 -77041 38390 -96658 74157 -46466 17606 -88020 77476 -51115 61806 -24234 81946 -17382 79090 -38939 78416 -55399 95124 -74933 97972 -17223 11832 -20126 25792 -84054 91443 -84057 96112 -88765 83033 -27933 54577 -48695 78824 -90200 51999 -74599 38503 -61441 90200 -66742 38390 -23353 26105 -37362 82425 -38602 44514 -41407 71473 -51001 62633 -98321 40630 -75078 11681 -68245 24288 -49051 14363 -36869 25312 -17659 47253 -74211 69071 -41285 22997 -89913 71473 -35951 34861 -67158 50396 -43938 15553 -72373 24972 -40926 97698 -63013 85420 -19477 71473 -79722 19841 -28842 83920 -14541 55730 -31500 75763 -51488 32218 -18889 96567 -57241 17864 -51819 47021 -21973 30568 -13743 10104 -87695 43875 -90862 27666 -16780 65150 -24792 58376 -28715 69071 -40287 78011 -59897 84439 -16124 83884 -34237 44208 -80709 83186 -12989 55204 -96071 63816 -78189 63337 -37586 98216 -19413 51370 -64986 70521 -93855 48927 -57998 25233 -42676 58360 -93905 29575 -18012 58243 -28846 54313 -97083 50396 -59982 20815 -95409 88260 -57482 70230 -69515 83884 -78295 69071 -72645 71473 -71966 28343 -98274 84439 -34068 28343 -96135 40193 -65836 15788 -23264 84439 -19621 51691 -75945 40091 -29573 47799 -14879 79090 -28207 38390 -11483 15774 -32877 80739 -36254 96567 -65116 27258 -14250 93650 -23902 96112 -89984 35958 -82242 33004 -12762 62900 -81194 99347 -72193 37712 -71644 74162 -46588 52441 -27739 70311 -35648 70998 -44410 87233 -46656 27666 -31914 71473 -90034 78824 -61968 83033 -36567 29131 -78387 67697 -33453 57266 -24915 40540 -70857 52975 -28343 81423 -92106 87378 -56025 82509 -32851 98692 -51436 97147 -70601 71473 -70452 33153 -39288 15788 -17976 11220 -15788 58376 -40113 53779 -25192 88120 -31980 98924 -80317 91384 -67936 10228 -14839 75691 -55689 75265 -28107 90207 -49283 17864 -27666 52539 -26105 26025 -71897 10363 -65171 58095 -87061 76361 -58586 84439 -90319 17223 -12401 11681 -60665 21206 -66454 77367 -58801 69471 -12007 11220 -59620 71043 -14269 33941 -84020 34182 -21849 61119 -19934 93793 -49226 64719 -59477 58376 -67180 38390 -69143 84212 -29611 69071 -74186 73216 -44892 47027 -88341 63662 -93425 27666 -58009 40217 -61426 88678 -14176 17223 -19374 19815 -15924 63644 -31338 90200 -20061 96567 -77739 17223 -39213 79090 -86112 44465 -59347 96112 -52900 88643 -49030 41964 -79160 96112 -60822 33345 -87682 46340 -92223 67780 -75763 68868 -58470 38390 -22344 11681 -60094 70230 -53703 65992 -60348 41120 -14792 81993 -53271 21427 -67055 17864 -64402 49401 -46340 71473 -67425 80739 -33676 91364 -20261 93934 -33464 45079 -47333 87047 -99552 33828 -46700 29241 -34066 38390 -63635 81946 -64943 90200 -93222 70855 -39852 27666 -54215 27846 -91837 81435 -13206 92486 -34097 89083 -67571 63013 -65552 28794 -93206 16217 -57258 46746 -12355 95783 -45193 39825 -78824 41374 -79640 28343 -33304 46968 -52405 53684 -80165 79090 -63764 98552 -50867 62235 -55169 67322 -17385 63412 -93847 84439 -86220 96567 -56922 26105 -93793 70998 -46061 15119 -60608 50227 -53721 82034 -37048 97113 -78634 17392 -16149 11220 -96567 17864 -67761 15242 -43531 45273 -28649 81808 -16807 11681 -35016 38390 -36328 15788 -47350 87826 -83703 76682 -96035 68596 -89445 40193 -39175 22115 -46972 69071 -86512 64757 -70145 30941 -92472 94345 -28607 84439 -97839 80739 -46293 22854 -39471 56487 -40895 81224 -79054 15540 -19112 99099 -87456 97698 -64947 93293 -46868 17223 -61194 51103 -94011 51317 -93446 67760 -51603 79090 -98462 32618 -87627 14792 -50434 28343 -80823 87826 -85968 11220 -70582 94611 -69082 69071 -82872 75587 -66992 93001 -16652 81390 -45397 67124 -48288 12534 -16683 60958 -28845 17300 -73108 85770 -10887 14000 -86564 58432 -73753 15788 -58200 60971 -14724 10521 -22429 86503 -15636 73714 -42007 50396 -83033 28343 -11018 17864 -84668 59520 -34407 50227 -21979 66729 -20788 97698 -88249 71473 -29698 76682 -18861 90200 -33097 18831 -84374 38460 -42337 49469 -96184 11220 -93246 50708 -59059 17223 -94799 11681 -94592 90061 -16217 87826 -15119 39287 -98585 71473 -96536 42853 -70453 24363 -98772 69071 -86608 28722 -96532 50396 -29434 83821 -45190 18432 -39085 52441 -14544 27666 -98167 83884 -40247 35796 -58852 95208 -63594 94345 -37166 70696 -37060 97185 -78269 17223 -31684 50764 -17864 52599 -24791 33385 -88009 94208 -44960 66939 -94307 25038 -97941 92450 -84015 83884 -18910 52086 -65496 17223 -40031 34551 -85606 91632 -61769 76682 -16593 90387 -18746 84938 -37661 78508 -74488 71473 -10696 57789 -73457 33795 -36702 93793 -50523 40193 -54560 97491 -31840 38390 -76940 40193 -16870 11681 -59273 30259 -87826 11069 -42351 47872 -46704 17864 -60979 83884 -13487 66385 -89414 94345 -95781 78824 -81388 50396 -76147 16961 -47912 27666 -38794 15498 -42095 60345 -50754 85082 -47680 11681 -74650 63013 -79979 27666 -93963 91067 -12526 51125 -15421 50227 -14489 17864 -19890 71473 -39148 69071 -35061 43580 -13873 78824 -65002 84439 -44196 70230 -91160 27666 -66243 17864 -68520 52987 -57313 11001 -97451 71232 -45491 88748 -72806 28343 -10935 96112 -26571 50227 -36588 11220 -97082 47405 -74083 76682 -13709 28343 -71565 60347 -67060 89690 -89812 68984 -64357 18200 -13576 86923 -17785 52441 -90523 87826 -48169 84439 -49404 96112 -38548 93793 -10365 50396 -85079 97698 -87583 95586 -63995 97698 -37765 62288 -96507 26105 -74440 19405 -96601 94432 -37066 38390 -42143 11552 -33431 27666 -77502 63356 -33810 52441 -14847 36105 -21823 66983 -57868 71473 -84231 27666 -87717 52441 -53162 97698 -35374 65715 -34570 26105 -20224 36282 -71791 40193 -18833 48330 -12194 83762 -92449 38390 -18772 71473 -59035 57762 -60408 76682 -62373 63013 -79934 40193 -82312 59106 -22944 72620 -15001 50192 -42041 93793 -27226 80739 -68012 30136 -22148 34448 -15624 94345 -79255 39850 -80907 18558 -92896 15318 -25411 94345 -33580 81946 -71575 70650 -47700 79090 -75865 16217 -48756 81946 -98547 75763 -23220 38390 -15241 79090 -18586 33917 -22280 40494 -35998 69327 -60853 95280 -38251 50396 -52525 87826 diff --git a/2024/tcl/input.02.txt b/2024/tcl/input.02.txt deleted file mode 100644 index 4eeead7..0000000 --- a/2024/tcl/input.02.txt +++ /dev/null @@ -1,1000 +0,0 @@ -69 72 75 78 80 79 -40 42 43 46 47 48 49 49 -57 58 59 60 64 -29 32 35 37 43 -16 17 18 19 20 17 19 20 -42 45 43 45 48 49 46 -58 59 62 65 63 66 66 -28 31 34 31 35 -37 39 41 38 40 43 45 50 -64 66 68 68 71 -50 51 53 53 55 53 -44 45 48 48 51 54 55 55 -20 22 22 23 25 29 -38 40 41 41 43 46 49 54 -24 27 28 30 33 37 38 40 -82 83 86 88 92 89 -68 69 71 74 76 80 80 -3 6 9 13 16 20 -62 65 67 71 74 81 -68 69 72 78 81 -74 77 79 85 82 -61 64 67 69 70 77 80 80 -46 48 53 56 58 61 65 -65 67 70 77 82 -61 60 62 64 65 66 69 -13 11 14 15 18 15 -57 56 59 62 65 66 69 69 -45 44 46 47 48 49 52 56 -38 36 39 42 45 52 -69 67 69 66 69 -89 86 84 87 84 -10 8 7 9 11 12 12 -97 94 91 92 94 98 -2 1 4 3 5 6 9 16 -63 62 65 68 68 71 73 -54 51 51 54 55 52 -21 20 21 21 23 26 26 -33 32 35 35 39 -70 69 69 72 73 74 76 82 -4 1 4 7 8 12 15 -8 5 8 9 13 14 16 15 -16 15 18 20 24 25 27 27 -54 53 56 60 62 66 -62 60 64 65 70 -26 23 28 30 31 -53 51 53 54 57 62 64 61 -9 6 13 16 18 19 20 20 -75 72 78 80 82 85 87 91 -8 7 10 11 16 18 25 -84 84 86 89 92 95 96 -36 36 39 41 42 41 -21 21 22 24 25 26 26 -72 72 74 77 81 -3 3 6 8 15 -9 9 12 11 14 -75 75 76 75 77 75 -7 7 8 10 12 10 10 -52 52 51 54 58 -76 76 77 80 79 84 -41 41 42 42 44 45 -85 85 87 87 90 89 -4 4 7 9 9 9 -23 23 24 27 30 31 31 35 -48 48 51 51 56 -1 1 3 7 10 13 16 19 -19 19 21 25 26 28 29 26 -73 73 75 76 80 80 -40 40 44 47 51 -74 74 78 81 84 87 93 -9 9 11 12 15 22 25 -1 1 3 10 11 14 16 15 -50 50 52 58 60 60 -59 59 60 65 69 -34 34 40 42 47 -30 34 36 39 42 -2 6 7 9 12 13 10 -15 19 21 23 24 24 -30 34 35 38 41 44 46 50 -47 51 52 55 60 -90 94 92 94 97 -68 72 70 72 75 77 80 79 -53 57 59 60 57 59 60 60 -88 92 95 96 93 97 -26 30 31 29 36 -82 86 87 88 88 90 92 94 -71 75 76 79 79 80 82 79 -42 46 46 49 50 51 54 54 -14 18 18 19 20 24 -75 79 80 80 81 87 -61 65 69 71 74 76 -69 73 75 78 80 84 85 83 -34 38 42 43 46 47 47 -35 39 41 43 47 51 -2 6 7 10 14 20 -17 21 24 30 31 34 36 38 -12 16 21 23 24 23 -87 91 93 99 99 -22 26 32 35 36 37 39 43 -46 50 57 59 62 65 67 73 -46 52 54 55 56 -27 33 35 38 40 43 46 45 -17 24 25 27 27 -19 24 25 28 30 32 36 -36 42 45 47 54 -35 42 43 44 42 45 47 -50 56 58 55 52 -32 37 38 35 38 38 -49 54 57 54 56 58 60 64 -53 58 57 58 61 64 71 -74 80 80 83 86 87 90 92 -36 42 43 45 45 48 49 48 -82 87 87 89 89 -31 38 41 41 43 45 46 50 -40 47 49 50 50 51 58 -59 64 68 69 71 73 74 76 -59 66 69 73 71 -75 81 84 88 90 92 92 -13 19 21 24 27 31 32 36 -23 30 32 35 39 45 -16 22 25 27 29 31 36 38 -3 10 12 13 19 21 23 22 -4 10 11 14 16 22 22 -4 11 14 16 23 25 29 -3 8 9 10 16 21 -64 63 60 57 55 57 -81 80 77 75 74 74 -34 33 31 30 28 24 -23 21 20 19 16 13 10 4 -56 54 51 52 49 -44 43 41 38 35 37 35 37 -82 81 84 81 79 79 -77 75 74 77 74 70 -12 11 13 10 7 2 -32 31 28 28 25 23 20 -6 3 2 2 1 3 -77 76 73 71 68 68 68 -25 22 19 17 15 15 13 9 -87 85 84 84 83 78 -42 39 37 33 32 30 -88 87 86 83 81 77 75 76 -15 12 8 6 4 4 -96 94 92 88 86 84 80 -84 81 78 76 72 69 67 62 -51 50 49 46 44 38 37 -54 53 52 49 43 42 41 43 -99 97 92 90 89 86 86 -97 95 88 85 81 -35 32 30 25 22 19 14 -73 76 75 74 73 71 68 65 -79 81 80 79 78 77 76 78 -5 8 6 4 1 1 -84 87 86 83 82 81 77 -21 23 20 18 16 15 8 -13 14 16 15 14 12 11 9 -29 30 29 31 34 -58 60 63 62 59 58 57 57 -30 32 33 32 28 -86 87 85 88 85 84 77 -36 37 37 36 35 32 31 30 -4 6 6 3 6 -27 29 29 26 26 -65 67 66 66 64 60 -90 91 89 89 83 -74 76 72 71 68 66 -74 76 74 73 69 68 70 -23 25 24 22 18 18 -59 61 57 55 53 51 47 -87 88 87 83 82 81 80 74 -55 58 57 54 51 50 44 42 -92 95 92 91 90 87 80 83 -69 70 64 63 61 58 58 -34 37 36 33 32 26 24 20 -36 37 35 34 31 24 21 16 -27 27 26 25 24 -41 41 38 35 34 35 -31 31 28 27 27 -37 37 36 34 31 28 24 -49 49 47 46 43 41 38 33 -63 63 62 59 62 59 58 -9 9 11 10 13 -23 23 21 19 22 21 21 -37 37 40 39 35 -13 13 10 11 5 -78 78 78 75 72 71 70 -73 73 73 70 71 -10 10 8 5 5 4 4 -22 22 21 21 20 16 -96 96 96 95 89 -41 41 40 36 33 32 29 28 -57 57 53 51 54 -58 58 57 56 55 51 51 -46 46 42 39 35 -21 21 18 14 12 11 5 -40 40 38 36 29 27 25 -97 97 94 89 91 -36 36 34 29 27 25 22 22 -87 87 84 79 75 -35 35 32 26 24 21 16 -52 48 45 42 40 37 -49 45 42 40 42 -95 91 88 86 86 -88 84 82 81 80 78 75 71 -83 79 78 76 70 -17 13 11 10 9 10 7 -45 41 43 41 42 -97 93 90 89 92 89 89 -17 13 15 14 12 8 -36 32 29 27 29 27 22 -50 46 45 44 41 41 40 39 -93 89 87 84 84 87 -23 19 17 16 16 16 -29 25 24 22 22 20 18 14 -14 10 9 9 8 3 -20 16 13 9 6 -22 18 16 13 9 11 -73 69 66 62 62 -16 12 8 5 1 -58 54 50 47 45 40 -46 42 40 33 30 -65 61 54 51 54 -25 21 20 19 17 15 9 9 -38 34 31 25 24 20 -71 67 66 64 58 56 51 -78 73 70 69 68 65 -32 26 24 22 21 19 22 -92 86 84 83 81 78 78 -67 62 59 56 53 49 -64 58 56 55 54 52 51 46 -82 76 74 72 74 71 69 66 -37 32 30 32 29 32 -65 58 57 59 56 55 52 52 -94 87 84 87 83 -54 47 49 48 45 39 -74 68 65 62 62 60 59 -53 47 44 43 43 46 -96 89 86 86 85 85 -62 55 53 52 52 51 47 -34 28 28 25 20 -25 20 16 13 11 9 -58 52 49 45 42 39 40 -56 49 45 43 40 37 37 -32 26 22 20 16 -94 88 84 82 75 -65 59 58 52 50 49 47 -68 61 55 53 55 -53 47 45 40 40 -73 66 61 59 57 53 -66 60 57 56 51 46 -32 34 37 38 40 43 44 42 -9 11 14 17 19 20 20 -18 19 21 24 26 27 30 34 -68 71 73 75 77 79 80 85 -75 76 79 81 80 81 84 -40 43 44 41 40 -17 20 23 25 22 23 23 -89 91 94 93 97 -20 23 26 25 28 30 37 -28 30 30 31 32 33 -23 25 25 26 25 -70 73 75 76 78 78 81 81 -18 19 19 21 22 23 27 -78 80 82 83 86 86 91 -7 10 11 12 14 18 19 -92 93 97 98 95 -33 36 40 41 41 -77 78 79 83 87 -49 50 54 57 60 63 65 72 -75 78 79 80 83 90 92 -82 84 85 92 94 91 -47 50 53 55 61 63 63 -47 48 49 50 56 59 63 -23 24 26 28 31 36 41 -28 26 27 28 31 -5 2 5 6 3 -82 81 83 85 87 88 91 91 -30 28 29 31 32 36 -39 37 38 40 42 45 51 -16 14 13 16 19 -40 37 38 40 39 41 39 -62 59 62 64 62 62 -72 70 71 68 71 74 76 80 -27 26 25 28 29 31 37 -30 28 31 34 34 35 -50 47 47 48 50 52 51 -41 40 41 44 44 46 47 47 -48 47 48 51 52 52 56 -6 3 5 7 10 10 15 -3 2 4 5 6 8 12 15 -88 85 86 87 91 94 91 -59 56 59 63 65 65 -44 43 45 49 53 -47 46 49 53 55 56 62 -32 30 36 38 39 41 -27 24 27 30 31 38 39 38 -64 61 68 70 70 -54 52 55 60 61 63 67 -23 20 27 30 37 -21 21 23 26 27 28 30 33 -22 22 23 24 23 -36 36 39 42 44 44 -48 48 51 53 57 -19 19 21 24 27 29 30 35 -35 35 33 34 35 38 39 -74 74 73 75 72 -75 75 77 74 75 76 76 -24 24 27 28 25 28 30 34 -67 67 65 67 70 72 79 -44 44 45 46 49 49 51 52 -69 69 72 72 69 -28 28 28 31 34 36 36 -53 53 53 55 56 60 -51 51 51 52 54 59 -82 82 84 88 89 -66 66 67 70 71 75 73 -82 82 85 89 91 91 -32 32 35 37 40 44 48 -27 27 30 33 37 42 -77 77 80 86 89 92 95 -65 65 68 70 77 79 77 -86 86 87 89 91 97 99 99 -31 31 36 39 41 45 -6 6 9 14 17 18 25 -27 31 32 34 36 -55 59 62 65 67 70 71 69 -4 8 11 14 15 16 16 -3 7 8 11 13 17 -73 77 80 82 85 87 89 96 -85 89 91 94 93 94 96 97 -8 12 13 12 15 18 17 -51 55 52 53 53 -21 25 28 30 29 31 34 38 -48 52 55 52 57 -1 5 6 6 8 9 -37 41 44 45 47 47 45 -44 48 50 50 50 -72 76 76 77 78 79 83 -54 58 59 60 63 64 64 70 -18 22 24 27 31 32 -33 37 40 44 45 43 -13 17 21 22 24 26 26 -24 28 31 33 37 39 42 46 -19 23 24 28 30 35 -39 43 45 52 53 -57 61 62 68 70 68 -40 44 51 54 54 -60 64 69 70 71 75 -40 44 46 53 56 59 66 -25 32 35 37 40 43 -63 68 70 72 73 74 73 -34 41 42 43 43 -1 6 7 10 11 15 -23 28 31 34 39 -91 96 95 96 98 -81 88 85 88 86 -54 60 62 59 60 60 -30 37 36 39 43 -44 51 53 51 57 -25 30 31 33 33 36 37 39 -85 92 94 94 93 -2 8 9 11 11 11 -41 46 49 49 51 54 58 -58 63 65 67 67 68 69 74 -45 50 52 56 57 60 63 -29 34 38 40 37 -67 74 76 80 80 -57 64 68 70 71 75 -6 13 16 19 23 26 29 36 -26 31 32 37 39 41 44 47 -67 72 77 80 78 -76 81 86 88 90 90 -65 72 75 78 80 85 86 90 -32 38 43 44 45 47 52 -61 60 58 57 56 54 51 53 -92 90 89 86 86 -70 68 67 65 61 -87 84 81 80 79 78 75 68 -41 38 37 40 38 35 34 -99 96 95 96 98 -53 51 50 52 50 50 -17 15 14 13 14 10 -16 15 17 14 13 6 -31 30 30 27 24 23 -43 42 39 39 38 41 -58 55 52 49 47 46 46 46 -61 59 58 58 55 51 -58 55 55 54 52 49 46 39 -43 42 38 37 35 -96 93 89 88 87 90 -80 79 76 75 74 70 70 -53 50 49 47 46 42 38 -38 35 31 29 28 22 -87 84 81 79 74 73 71 -23 22 20 19 12 11 8 10 -20 17 16 9 9 -20 18 16 10 7 3 -21 19 17 11 8 7 2 -64 65 62 61 60 59 57 -17 18 17 14 12 15 -61 64 63 60 59 57 57 -88 91 88 86 83 79 -97 99 97 94 88 -69 70 72 69 66 -23 24 23 24 25 -43 46 44 42 44 43 41 41 -19 20 19 21 19 15 -62 63 64 63 61 59 57 51 -90 91 89 86 86 83 81 78 -73 74 72 71 71 68 66 69 -37 40 38 36 36 33 31 31 -35 38 38 35 31 -76 77 77 74 68 -76 78 75 73 69 66 -67 68 64 61 58 55 53 55 -53 55 51 49 46 44 44 -47 48 44 43 39 -89 92 89 86 82 76 -26 29 27 21 20 -78 80 74 73 70 69 70 -75 78 72 70 70 -16 18 15 9 5 -73 76 70 67 65 63 58 -37 37 35 32 29 26 23 -41 41 39 36 33 32 30 33 -75 75 72 70 67 66 65 65 -26 26 24 23 22 21 17 -98 98 97 94 93 91 88 82 -14 14 15 13 10 8 5 3 -33 33 31 29 26 28 29 -31 31 29 26 28 28 -91 91 88 86 87 85 81 -72 72 70 73 70 67 64 57 -22 22 22 20 19 17 -74 74 74 71 69 66 63 64 -25 25 22 22 22 -33 33 32 30 28 28 24 -84 84 81 78 78 76 71 -19 19 15 12 9 8 7 -74 74 71 70 66 63 65 -46 46 45 41 41 -38 38 34 33 29 -44 44 43 39 32 -17 17 10 8 5 -89 89 87 85 84 79 78 80 -21 21 18 17 12 12 -66 66 65 62 60 54 50 -81 81 78 76 69 66 63 57 -40 36 34 33 30 29 -30 26 25 23 22 20 21 -24 20 17 14 13 11 10 10 -84 80 77 75 72 71 67 -64 60 58 55 53 48 -88 84 83 85 82 -33 29 32 30 31 -73 69 67 70 70 -95 91 88 87 85 84 85 81 -34 30 29 26 27 22 -61 57 57 55 52 49 47 -48 44 43 43 46 -75 71 70 68 68 65 64 64 -46 42 42 40 36 -79 75 72 72 69 64 -96 92 91 87 85 83 82 80 -80 76 75 71 69 67 70 -61 57 53 51 51 -21 17 15 13 11 7 3 -26 22 19 15 12 6 -73 69 67 60 58 57 56 -57 53 47 46 48 -65 61 59 56 51 48 48 -35 31 28 22 21 17 -49 45 43 36 34 33 30 24 -46 41 40 37 34 32 -79 73 70 67 65 63 60 63 -37 32 31 30 30 -66 59 58 56 55 54 50 -42 36 34 32 26 -74 67 66 68 65 64 62 -34 27 24 22 25 23 21 23 -24 19 16 17 15 15 -40 33 32 30 33 31 30 26 -73 66 65 66 60 -23 16 14 14 12 9 6 -74 69 67 64 64 65 -47 40 37 35 32 29 29 29 -37 31 28 25 22 20 20 16 -60 53 51 49 48 48 46 39 -76 70 66 63 60 -59 52 48 47 50 -49 43 42 38 38 -84 79 75 73 72 71 67 -75 69 68 64 62 60 55 -71 66 60 57 56 -70 64 57 54 53 51 48 51 -89 83 77 75 72 69 69 -50 45 44 42 40 38 31 27 -40 33 27 26 23 20 13 -12 13 16 19 22 24 23 -45 48 51 52 53 54 56 56 -30 31 33 35 38 42 -81 82 84 87 93 -10 13 14 15 13 16 -46 49 51 52 53 54 51 49 -13 14 17 16 16 -36 39 42 39 42 45 47 51 -11 13 15 12 19 -54 55 55 57 60 -30 33 33 36 39 37 -42 44 45 45 46 48 48 -34 35 35 36 39 43 -32 34 37 37 40 43 48 -22 25 29 32 33 -6 9 10 11 15 14 -77 78 82 84 87 87 -24 26 30 33 34 35 37 41 -45 48 51 52 56 63 -18 21 22 23 28 29 31 33 -9 10 13 16 22 21 -31 32 38 41 43 43 -72 74 77 84 85 88 89 93 -37 39 42 49 51 52 59 -73 72 73 76 77 79 -6 3 6 7 10 11 9 -67 66 69 72 74 76 78 78 -8 5 6 9 10 11 12 16 -60 57 59 60 63 64 70 -35 32 30 33 36 39 41 42 -29 28 26 28 31 32 29 -94 92 90 91 92 92 -23 20 18 20 22 23 27 -10 9 11 8 14 -38 35 38 38 41 42 -23 20 23 23 26 29 26 -61 58 58 61 63 63 -64 61 62 65 65 68 72 -7 5 6 6 13 -12 9 13 15 18 19 22 23 -16 14 17 21 24 23 -71 68 72 73 75 75 -12 11 14 16 20 22 23 27 -10 8 11 15 16 22 -54 53 55 58 63 64 -89 87 90 95 92 -17 15 17 19 21 22 29 29 -46 43 50 51 55 -48 45 48 49 54 59 -82 82 85 88 89 91 -11 11 12 13 14 17 14 -77 77 78 79 80 81 84 84 -74 74 77 79 80 81 85 -22 22 23 24 31 -82 82 81 83 85 88 89 92 -26 26 29 30 27 30 29 -56 56 57 60 63 65 62 62 -72 72 71 74 78 -5 5 8 6 11 -74 74 77 78 78 80 83 -27 27 30 30 33 31 -16 16 16 19 20 22 22 -77 77 79 81 81 85 -37 37 39 40 41 41 43 48 -67 67 68 69 73 74 76 79 -3 3 6 8 12 15 14 -83 83 87 88 89 92 92 -22 22 26 29 30 31 34 38 -2 2 5 8 10 13 17 23 -68 68 71 78 81 -15 15 17 22 24 21 -10 10 13 16 23 23 -16 16 17 18 24 27 31 -25 25 27 29 32 39 46 -23 27 28 31 33 36 37 -83 87 89 91 88 -44 48 49 50 53 53 -46 50 52 54 57 61 -9 13 16 17 19 22 29 -31 35 36 33 35 -81 85 84 86 85 -3 7 9 12 15 18 15 15 -50 54 53 55 59 -46 50 51 54 52 58 -58 62 63 66 66 67 70 -35 39 39 41 43 41 -29 33 36 37 37 37 -13 17 17 20 24 -71 75 75 76 79 81 84 89 -21 25 29 31 32 33 35 -33 37 40 44 46 48 47 -5 9 12 13 15 19 19 -23 27 30 34 37 38 42 -51 55 56 60 63 64 70 -50 54 57 60 62 63 68 69 -24 28 31 32 33 36 43 40 -24 28 29 30 36 37 38 38 -52 56 61 63 66 70 -15 19 25 27 29 34 -26 33 36 38 41 -23 30 33 34 32 -65 70 72 74 75 75 -13 18 20 22 26 -43 50 53 55 58 59 66 -12 17 19 18 21 24 -27 33 36 37 38 37 40 38 -74 81 82 84 85 84 86 86 -19 26 23 25 26 28 32 -77 83 84 81 88 -48 55 58 61 64 64 65 -40 45 47 47 48 49 47 -58 63 65 67 70 71 71 71 -30 35 36 39 39 42 46 -74 81 83 86 86 92 -67 72 74 76 79 83 84 85 -49 54 56 60 61 62 61 -62 67 71 73 74 74 -38 43 47 48 51 54 57 61 -19 26 27 30 34 40 -41 46 52 54 55 56 -36 42 44 50 51 50 -11 17 20 21 26 29 30 30 -24 30 33 39 41 42 46 -3 8 11 17 19 25 -85 84 81 80 79 76 79 -17 14 12 10 10 -30 27 25 23 19 -23 20 18 15 14 7 -38 36 35 33 34 32 -59 58 56 57 56 54 56 -45 44 46 44 41 41 -24 21 19 16 18 16 13 9 -79 77 75 73 72 74 72 66 -43 42 39 39 37 -33 30 28 28 25 24 22 24 -15 13 11 10 10 9 6 6 -94 93 91 91 88 84 -52 50 50 47 42 -59 57 54 50 47 46 44 42 -16 14 12 8 6 8 -91 88 84 82 82 -34 31 30 26 24 23 19 -85 84 81 79 78 74 68 -94 93 91 90 87 82 79 78 -28 25 18 16 17 -78 75 69 68 67 64 61 61 -37 34 28 26 22 -98 96 95 90 83 -48 51 50 47 46 -38 39 37 36 38 -49 51 49 47 45 44 44 -61 64 63 60 58 54 -18 19 18 16 11 -88 89 88 90 87 85 84 82 -6 8 11 10 11 -91 93 90 87 84 87 85 85 -77 80 78 81 80 78 74 -21 24 25 22 17 -86 88 85 82 82 80 -51 53 51 51 50 48 49 -53 55 55 52 50 49 49 -27 30 29 29 25 -54 55 52 50 50 47 41 -59 61 60 56 53 50 48 -82 85 81 79 78 75 77 -59 61 59 55 53 53 -27 29 26 22 20 19 18 14 -51 52 49 45 38 -39 40 38 37 36 35 29 26 -65 66 65 59 57 56 54 56 -93 94 92 87 86 86 -39 41 40 37 31 28 24 -43 46 39 36 30 -46 46 44 43 40 -42 42 41 38 36 34 37 -45 45 44 42 39 37 34 34 -81 81 80 78 75 71 -29 29 28 26 25 22 16 -83 83 82 85 84 -70 70 67 66 69 67 70 -31 31 29 32 32 -47 47 44 46 42 -11 11 12 11 10 3 -81 81 79 77 77 76 -79 79 79 76 78 -28 28 25 25 25 -66 66 63 60 60 58 55 51 -18 18 18 15 14 12 5 -35 35 33 31 30 26 24 -7 7 3 2 5 -76 76 74 73 69 67 66 66 -30 30 28 24 23 22 18 -92 92 89 85 84 82 75 -42 42 41 38 36 30 29 26 -74 74 73 70 68 61 58 60 -74 74 72 67 67 -76 76 69 66 63 59 -66 66 63 62 61 55 54 49 -97 93 91 88 85 82 79 76 -58 54 52 49 46 43 46 -92 88 85 82 80 79 79 -86 82 80 79 76 74 70 -32 28 25 22 20 13 -68 64 61 59 57 54 55 53 -72 68 70 67 64 67 -96 92 95 94 92 92 -58 54 52 54 51 47 -39 35 33 32 34 32 26 -87 83 81 79 76 76 73 70 -54 50 49 49 50 -78 74 74 73 73 -53 49 49 47 45 41 -64 60 60 59 57 55 52 46 -64 60 59 55 54 -13 9 5 4 7 -23 19 17 15 11 11 -86 82 80 79 75 72 69 65 -88 84 80 77 76 70 -89 85 83 82 75 73 70 -86 82 77 76 74 72 69 70 -32 28 25 23 22 21 14 14 -77 73 70 68 61 59 57 53 -58 54 48 47 46 45 39 -16 11 9 7 4 1 -24 17 14 13 14 -71 65 63 61 58 56 53 53 -85 80 79 77 76 75 71 -83 77 76 74 73 70 67 60 -88 83 80 81 79 77 75 -72 67 69 67 65 63 61 64 -18 12 9 12 12 -89 83 81 78 75 76 74 70 -46 41 39 36 37 32 -83 78 75 74 71 71 69 67 -47 40 40 39 38 35 32 35 -46 41 39 37 37 37 -58 51 48 48 47 45 41 -65 60 60 59 53 -26 19 15 13 12 -17 11 9 8 4 5 -89 83 82 80 76 75 73 73 -71 66 63 62 59 55 51 -78 73 69 67 60 -39 32 26 24 23 22 19 -70 64 59 57 54 51 50 51 -30 23 18 15 15 -79 72 69 64 60 -25 19 16 11 8 2 -48 44 42 39 39 -4 8 14 17 17 -92 91 90 89 86 86 -16 19 15 13 12 6 -39 36 29 28 31 -78 75 77 78 79 79 -20 24 26 29 33 37 -81 78 82 85 86 -41 37 30 29 28 26 24 24 -68 73 80 82 81 -90 88 87 84 81 78 76 -86 84 83 80 77 76 75 73 -69 67 65 62 60 -22 24 26 29 32 34 -14 12 10 7 4 -69 71 73 75 78 81 -51 48 45 42 40 38 37 36 -50 51 53 56 58 -96 94 93 92 89 -59 58 55 54 53 51 -43 42 41 38 35 -61 63 65 67 70 -97 96 95 94 93 91 89 88 -17 16 15 12 11 8 5 -17 19 20 23 26 -44 47 48 49 52 53 54 57 -53 52 51 49 48 47 44 -84 83 81 80 77 74 73 71 -24 22 21 18 15 12 -71 74 75 76 77 79 82 85 -5 8 11 12 14 15 18 21 -35 37 39 41 43 46 -41 44 47 48 50 51 53 -46 43 40 37 35 34 31 -30 27 24 22 19 16 13 -54 57 58 61 63 66 -77 80 82 85 86 -60 63 65 68 70 71 -83 85 86 88 89 90 91 94 -72 71 68 65 64 63 60 -59 60 63 64 66 -60 57 56 55 53 50 -54 57 60 61 62 -56 59 60 61 63 66 68 71 -57 58 61 64 66 -61 62 63 65 68 69 -32 30 27 26 23 22 -54 52 49 48 46 43 41 -20 22 23 24 25 -28 27 24 21 20 18 15 -75 73 70 67 65 -80 78 75 74 73 72 -37 36 34 31 28 26 25 24 -24 26 29 32 34 -86 89 91 93 94 95 97 -57 54 52 49 46 44 42 41 -75 72 70 69 68 65 62 61 -27 29 30 31 34 35 38 41 -17 20 23 25 28 -38 36 33 31 29 26 -98 95 92 91 89 -14 13 10 9 6 4 2 -24 26 29 31 33 -44 46 48 50 52 54 55 -46 45 43 40 39 38 36 -16 17 18 20 22 24 27 -89 90 93 96 97 -55 56 58 59 60 61 64 65 -68 69 72 75 77 -75 74 72 69 68 -63 65 68 69 70 73 -65 67 70 73 75 76 -72 71 68 65 62 60 58 56 -19 22 23 25 27 29 -35 37 38 40 41 43 46 -22 24 25 26 28 29 31 -54 52 49 47 45 42 -8 9 12 13 14 17 18 -55 53 52 51 48 -27 24 23 20 17 16 13 -65 67 70 73 76 77 80 83 -9 11 12 14 16 18 20 22 -18 20 21 23 25 28 31 32 -65 67 68 70 72 74 76 -17 20 23 26 28 31 -38 39 41 43 45 46 -69 71 73 76 77 79 -89 90 91 94 96 97 98 -87 89 92 94 96 98 99 -34 36 37 38 40 42 45 -13 15 18 21 24 26 28 -81 80 79 77 74 73 72 69 -51 50 49 46 45 -68 65 64 61 58 -56 55 54 52 51 50 -14 13 11 10 8 7 5 -9 12 15 16 17 18 21 -86 87 90 91 94 -87 86 83 82 80 77 75 74 -16 17 18 21 22 24 27 30 -38 40 42 45 48 49 -69 67 66 65 62 59 56 54 -60 58 55 54 52 50 -48 46 44 41 38 -96 94 92 90 89 -77 79 81 82 84 -99 97 94 93 92 89 87 -82 81 78 76 73 70 67 -75 72 71 70 68 65 63 -17 16 15 12 11 -41 43 45 48 51 54 56 -36 34 31 30 29 28 26 23 -69 68 67 65 62 -83 81 80 77 76 73 70 68 -44 41 38 36 35 32 30 -77 78 79 80 83 86 89 -45 46 48 51 53 55 -12 14 17 18 21 23 25 27 -39 40 42 43 44 45 47 -7 9 11 14 15 17 20 22 -65 64 63 61 58 55 -35 32 30 28 25 24 -7 8 10 12 14 17 18 -54 53 51 49 46 -39 38 37 36 33 -83 84 85 86 89 92 -23 20 17 14 13 11 9 6 -31 30 29 28 26 23 21 -37 39 41 42 43 45 -90 87 86 85 83 80 77 75 -55 54 52 50 49 47 -10 12 13 16 19 21 -51 53 54 56 58 59 61 -46 49 51 53 55 -83 85 88 90 93 96 97 99 -25 27 28 31 32 -34 35 38 41 44 47 49 51 -16 15 12 10 8 5 -52 50 47 44 41 39 -80 83 85 86 88 89 92 -34 37 38 39 40 41 42 -54 56 58 61 62 63 65 -23 26 28 30 32 33 -28 26 23 22 19 16 15 13 -52 55 57 59 62 -76 73 71 70 69 66 64 62 -73 75 78 81 83 86 87 90 -57 55 52 50 49 47 44 -74 76 79 82 84 85 87 -27 25 24 23 20 -91 92 93 96 98 99 -40 41 44 46 48 50 -45 48 50 53 54 56 -91 89 88 87 86 -13 16 18 20 22 24 26 -87 89 90 91 94 -81 82 84 86 89 90 -59 61 62 64 67 69 -32 29 28 25 24 22 20 -34 32 30 28 27 26 -21 22 25 27 28 31 34 35 -59 56 53 50 49 48 47 -74 71 69 67 65 64 63 61 -48 45 42 41 38 35 32 -51 50 47 44 43 42 -35 34 33 32 31 30 29 26 -83 80 77 75 74 72 69 -32 29 28 27 26 24 21 -68 70 71 74 75 78 80 -23 25 27 30 33 36 39 42 -35 36 38 40 41 42 43 45 -58 60 61 62 63 -35 37 40 42 45 47 50 -87 86 84 82 81 -33 36 39 40 42 44 -8 5 4 2 1 -68 66 63 61 58 -34 32 31 29 26 25 22 -3 6 7 9 10 11 12 -42 41 39 37 35 33 32 -54 56 59 61 64 67 68 71 -28 30 32 35 37 38 39 -23 21 20 19 17 -78 77 74 71 69 68 -38 36 34 33 30 27 24 -65 68 71 73 74 76 -41 38 37 35 32 -53 54 55 57 58 59 62 65 -59 62 65 67 70 71 72 -70 73 74 77 80 81 83 -97 96 94 91 90 89 88 -47 44 41 38 37 36 -62 61 59 56 55 -95 92 90 89 88 87 85 -14 11 8 7 6 3 2 1 -75 78 81 84 86 88 90 -37 35 33 30 29 28 26 24 -75 76 79 81 84 86 88 90 -78 76 74 72 69 66 -59 57 56 55 52 51 48 -50 53 54 56 59 -45 43 40 38 37 -12 14 16 18 21 23 26 -80 81 84 87 88 91 93 -59 58 56 54 53 50 -16 14 13 12 9 7 5 2 -18 21 24 25 26 29 -14 16 17 19 22 23 26 -92 89 86 85 82 81 -60 63 66 69 71 72 74 75 -62 64 65 68 71 74 75 78 -48 49 51 53 55 -78 75 74 72 71 -67 68 69 70 72 73 -21 23 24 27 29 30 32 -2 5 8 10 12 14 -30 28 25 23 21 18 15 -66 65 64 62 59 56 -48 49 52 54 55 -80 83 85 86 87 89 91 -52 50 48 47 44 42 40 -54 53 50 49 47 -86 89 91 92 95 98 -27 30 31 33 36 -32 35 38 41 43 46 49 50 -24 23 21 20 18 16 -89 86 83 80 77 76 75 74 -26 29 30 31 34 35 -45 44 41 39 37 -32 33 36 38 40 43 45 -74 76 79 82 85 -16 17 20 22 25 27 28 -28 30 32 33 36 37 38 39 -76 73 71 70 67 66 64 63 -16 13 12 9 6 5 -27 24 22 20 19 16 14 11 -24 26 27 29 31 33 -44 47 49 50 52 54 55 58 -29 27 25 22 20 17 16 14 -31 32 34 35 36 39 41 43 -44 41 38 35 32 29 28 -27 29 31 33 35 36 39 -89 88 85 84 83 81 78 76 -70 71 72 75 76 77 80 -69 67 66 63 60 57 56 -20 22 24 26 28 30 -86 83 81 80 77 75 72 69 -18 17 14 11 9 8 5 4 -53 54 56 59 60 61 63 65 -13 16 19 20 22 23 24 25 -42 45 47 50 51 -35 32 29 27 26 -28 29 32 35 37 39 40 43 -82 79 77 74 72 70 69 67 -66 63 60 57 54 -20 23 26 28 30 31 34 35 diff --git a/2024/tcl/input.03.txt b/2024/tcl/input.03.txt deleted file mode 100644 index 1da07fc..0000000 --- a/2024/tcl/input.03.txt +++ /dev/null @@ -1,6 +0,0 @@ -from()]mul(317,745)-+?;what()&{mul(67,323)select()~(+/}what()+when()[who()@))why()mul(41,576)?!*why()}{who()@%;mul(335,137)how(){mul(729,375)?mul(714,984)mul(86,727)[mul(148,442))@,) mul(659,930)why())/@'-select()$don't(){from()/mul(606,455)from()#select()(,when(560,861)from()mul(661,278)@@where(714,248)-) ;how()don't()+#}mul(511,224)[ <,*!,how()[mul(741,103)@ ,-;don't()?mul(405,226)~;mul(690,221)>when();~*][($mul(743,671)$,,!mul(904,48){?{,[<,when()how()mul(214,669){<*<%mul(313,778)<*>%]:~)&mul(328,558)from()why()^:][^)don't()/%/ mul(16,534)where(62,792)^}',do()$ ~&mul(591,671)why()?how()what()mul(158,309):!mul(305,375)+{from()#from()~mul(395,733){$]#,)how()/~who()mul(764,920)+mul(787,366)(&what()>who()~mul(260,940)$why()/,mul(904,953) >$mul(803,943)#@+how()what()mul(97,179)$ )[!:^::&mul(757,133) mul(949,638)/]: /when()mul(533,324)mul(177,653)[&mul(361,108)(,[mul(912,339)[#what()from()why()#don't()mul(130,4)<&what()^when()^-@]!mul(501,376)!(#~when()*'~mul(166,904)how()~mul(229,929)mul(481,574)select(),- {?@how() ?mul(989,487)where()who(),don't()/:@-[mul(398,359)when()what(440,393)}mul(110,756)who()how()!select()%[what()mul(300,194)}don't()-%who()>$^mul(598,480):'how()()#[/~;mul(644,80)%<@(select();mul(254,510)!~]{-!mul(432,50)&@;&from(442,218)mul(128,797)&where()}#mul(210,512)select())mul(22,316)~where()/#mul(228,533)@@?who(),])mul(444,403)why())why(161,374)@:mul(420,83))when()* :>]]%[mul(738,977)/)when()<;do()how()%why()]},}mul(739,424)mul(21,79)(how(964,229)$-mul(886,756)^mul(959]+mul(510,621){/$ %from(535,780)mul(942,849)#;who()select()(mul(884,418)?#}from()}-do()-mul(765,279)!how()~ select()how()mul(230,66)+#>+]}/[why()mul(830,643)]why(),@-+mul(549,381)+-}>)}[,>[mul(384,650)select())+:mul(156,98)?select(265,152)$mul(848,696)(*(}>-what()mul(916,489)<:*~when()why()[>mul(795,164)when():?mul(681,258)#mul(548,602)why()how()({from(791,741)<(]why()@<^,where()(mul(325,852)$from()$~when())mul(354,858)}/[@mul(452,532)mulwhen()&[mul(496,103)mul(670,785)how(776,494)-{&!select()~who()?%>&mul(59,896),mul(323,734)~:-:<,mul(930,720)>{~mul(55,98)how()from()@where()<>where():-;]?>do()>(when()select()&(:'select()-mul(519,249)when()where():*,#what()when()mul(433,688)$'{/&-;^;mul(487,902)?' 'mul(851,22)mul(571,264)[)mul(625,196why(),/%]mul(177,329)when()(what()]select()>%&mul(392,746)?!when(855,314)&-+}[^mul(244,411)~ what()*from()mul(27,419)from() &}mul(783,31)!mul(609,220)>#^!mul(835'*mul(26,372)-mul(968,770)who()why()]%from()}what() >mul(258,240)$mul(767&]mul(255,639)-&why()mul(682,513)][+!@@,{mul(267,914)#'who()+what()do()~)~%];mul(328,10)[$how()}+!<>-mul(286,443,; ;!(how()! do()what()+<(:mul(734,165)how(){:{]#]from(543,898)-mul(311:when()%mul(955,663)&*~>~;{mul(87,123)***mul(273,650)[mul(288,699)how()'& {'%from(){why()mul(677,973)({{>$!mul(962,447)~why()where();mul(193,727)^} '#;))select()mul(332,420)where()who()}%what()?mul(946,222)#)~/where()how()who() mul(784,547) }select()mul(868,939)how()-) when()/mul(766,690)$/(how():mul(289,854){what(){:-from()%{'$mul(616,797);!how()'mul(607,52),mul(634,542)/ ){how()])select(269,907)mul(746,163)])+&& >:where()mul(933,745)<])*select()#;do():+from()/';@:mul(549,673):where()!where(),*[who() *mul(182,300)++&how(14,499)from()[]&mul(674,397)why()from()mul(274,670)/-^/how()%-why()mul(631,257);~}$don't()$where()}#%select()(mul(222,921)select(875,756)+-why()[)+}why())mul(527,536)^*#@*mul(526,226)!mul(509,930)$who()when()/+)when(342,782)~mul(806,222)(],why()where()^mul(528,285)^#?#what()mul(875,506)from()^mul(537,399)/&?{mul(457,240)%^mul(16,257),}%%+?#>mul(780,949)}mul(570,933)when(749,935){mul(708,407)/mul(475,875)mul(124,766)'?where(308,370); '&mul(397,320){>'where()how()mul(558,514)}>#},mul(164who()why():;when()select()(mul(553,336)how()what()]who()why()select()mul(295,32)&from():^?mul(233,116)~]mul(429,202)when()what()select()mul(741,965)*{&#;#$,/how()mul(367,887) -mul(681,506) -^mul(484,363)@:when();where()from()select();mul(186,965)who()from()~who(442,513)who()-&*];mul(116,362)[~where()(where()!/^:mul(733,863):}'when()]^+;mul(75,849)mul(115,784#:@why()%from()'$@mul(592,93)select(773,179){[['>from()}mul(131,959)@who()]mul(394,818)$-(+'^^mul(996,181)select()<> #~*+*mul(53,343) where()when()!mul(954,569)**[don't()+what():%)$-why()#mul(452,447)*{mul(264,795)}how()#when()#from()why()when(745,720)mul(248,687): ^^,<+[when(889,956):mul(937,8)how(235,664)?]?{mul(137,328)?mul(503,926%mul(13,847))mul?why()?select()()mul(460,750)]%;mul(651,280)why()>>,how()when()$? mul(133,236)!<(what()^>'?^mul(748,823)who()where()mul(43,496)select()when()++why()';?mul(875,70)-when(402,701)&)why()'mul(982,841)>^do()>who()where()/]:mul(647,595);select(), ::mul how()where()select()from()&(/+mul(468,107)what()how()#what()>;]mul(957,478)where():?mul>when()%{where()?%mul(592,367)mul,why()mul(72,238)who()?:+<(mul(222,516)%]%#~mul(193,251)when()when())/why()@)@/mul(340,791)&/?who()why(){&,?mul(55,804)']{&%$/mul(316,546)when()who()mul(971,888)[mul(103,609)]*>)<[;~/what()mul(490,677)why(898,282)mul(170,318)*how():>&^)-where()from()#,when()mul(372,78)>?*select()from()!&]why()mul(449,613)'select()!'do()'<*mul(761,836)what(){!(who()why(634,576)mul(802,819)]/+who(){} select()$mul(203,130)<'mul(400,590)'mul(951,874)where()mul(186,662)who()[who():;@;mul(192,643)$'why()[:?don't()&(-select()!;*?mul(517where()#mul(484,952)/&[};<,mul(191,767who()'{:why()how()from()}mul(391,241)]mul(564,815)!@,~mul(327,855)mul(515,532)*([>{:don't()when()% mul(399,207)@->mul(176,348)why()what()mul(517,732)]:,mul(832,279)what()?*-<+>mul(158,912):@!^-!mul(630,685)(/*what()}from()@#!mul(737,751)'/$how()from()mul(952,556)what()~~},:,don't()[(how())^/why()why()when()mul(464,363)@select()? when()where()mul(380,587)mul(935@<;mul(311,283)-,+{>;&;~mul(217,900)from()when()){%@{+<~mul(861,412){mul(649,279)when()!->{mul(53,704)}>mul(124,780)(}^@]from(){where()#mul(323,768)]what():/'':select()mul(42,323)!select(),$mul(833,631)where(920,91));?select()mul(274,3)-]^^*~{/mul(195,31)~}#select()+[ why()mul(437,871)how()#where()$? what(265,149)[mul(53,447)@<-mul(182,3)}>#!/usr/bin/perlmul(836,288) -&/where(234,114)mul(230,255)(;{~*where()/+from())do()how(174,635)where()(>~(mul(547,383)how()(]( mul(394#when(217,999)[mul(520,655)@/} mul(883,280)(from()+#mul(993,6)@%,@}'*-mul(469,993)*})mul(329,69);<}}mul(94,7):{'mul(299,57)->where()who()><<@}mul(192,320);-< (mul(348,932)(+mul(565,629)/how(792,174)mul(994,456),&from()when()from()from()$select(){+mul(518,910)where()$mul(42,710)mul(447,192)what(); &mul(535,494)@&mul(39,121~where()>]@who()$mul(238,165)}{&how():)mul(293,498)@^ why(231,662)mul(91,213))@who()*when()mul(547,308):~~^how(179,495)(where()mul(334,412),!}}?,*what()mul(704,941)}:]^mul(215,465){~&!*@{where(719,643):[mul(653,594)who(){;-{}mul(307,823)^(?{><}+@mul^<]?,who()?mul(989,866)}when(881,287){)-who()::who()mul(642,431)@-mul(817,550)from()>'(when();!%&mul(315,78)%select()mulwhen()~(why()]mul(636,929)when()%->mul(53,720'](;!$mul(931,769)(---+[*>don't()+&when(88,906)*$where(),@mul(223,251)#]'<+,%mul(146,115)how()]mul(136,688),mul(222,174)#]mul(75,636)^who()mul(76,992]mul(280,202)]select()!>,when()when()#mul(68,678),:$$select()?why(302,488)>#what()mul(923,779)who())]>]mul(525,656)'%#mul(110,925)from()]$?>why()what()mul(485,123)?where()'!(@)/?%mul(62,61)#who()don't()'from()who()mul(863,433)])what()<{'[>{where()mul(955,358)+select()what()*from()from()how()mul(674,255)how():who()/[when()+mul(672,815)/{}mul(814,989)mul(522,617)][why();mul(938,866)?'mul(721,230),!how() %$^{^'mul(89,252)@how()!--what()@what()mul(66,916,;select()@from()>[mul(908,102)$how()[how()}/:mul(352,260):?where()how(418,410)<@*~why(){mul(288,873)^'}${+{when()select()mul(577,817);!<+)%#mul(398,599)?mul(410,933)![;~[(mul(372,736)-{^who(284,999);>$don't()~where()mul(946,342)',* >when()'from()~don't()>mul(48,678),-how()where()mul(521,176)*]mul(653,286)[what()';mul(527,517) :'%do()'how()when()why(638,246)~*&'mul(817,515)when():)^&;mul(902,760)when()who()+from() !&)/;mul(490,93)when()mul(999,859)?'mul(23,41) !where():>--']mul(529^who(824,944))/where(){mul(730,713)}~&**where()mul(783,314)when()![%@mul(192,618)mul(639,668)+from())&who()%*~ 'don't()*$from()-!when()]from()mul(176,706)< -#mul(985,33)$/,']mul(166,740)mul$)>!%]^-[mul(741,253),select()*mul(994,973){+$%%what(970,247)%#mul(569,793),where()$][-?&#:,mul(795,367)from()/~)mul(184,867)}where()when()^(mul(11,847)&mul(252,382)&how()what()*where()mul(42,377))select(451,494):^}*mul(519,853(]mul(645,935)[*,]-&]select()mul(205,327) ]),*)mul(411,698);^[[who(212,491)& -,mul(83,917):how()select()%((+&@mul(86,812)!%how()mul(555,734)(!#select()*'where()from()how()mul(815,589);~-^where()-select()mul(981,251)why()@what()]@*do(){what(874,233)mul(74<)'%[ )mul(461,683);]why()who()(when()*%-{mul(927,403)@/@~where(584,953)--mul(766,900)select()@['+:{)when()mul(919,825)mul(762,132),>%~from(364,888){who() )mul(783,336)where()~$?; ?!don't()mul(275,278)}what()mul(167,505)*^',;^from()mul(692,244)#'^>mul(835,721)!~what()',@mul(447,777){[from(133,514)what()mul(642,217)'(from()@/'how()<^{mul(831,368)@! what()why(434,98)@ don't() who()$]mul(40,963)mul(130,643))what()/select()mul(211,425)${mul(443,261)select()-<^ select()]where()!don't()}#!,where()how()mul(862,985) ,^!how()@don't()!:(what()mul(981,127)~'from()-mul(871,89) :]when()mul(467,236)mul(606,18)+!$:(mul(753<]who(){[how()from()#mul(986,891)#:when()mul(519,399)who()))#*mul(545,827)mul(638,830){select()mul(466,624) :)when() #mul(254,927)&what()where()why()}}#mul(827,465)};]what()>why()mul(242,606):';-/mul(404,75)mul(221,314)who()@who()*[select()>%mul(414,100)!what();why()~what():$ why()mul(315,402)]don't()!where()},from()#how():mul(286,647)+what()+why()%*!^when()-mul(902,822)when()>why()mul(7,343)select()where();},>&why()?&mul(564,706)()!*how(),why()>{mul(369,110)>,#mul(663,681*~@,@how()$mul(340,519)&)when()from()mul(590,642)*(/>'%$'where())mul(992,803)how()when()mul(863,400)@~from()>mul(708,294)>?@what())#$&mul(235,189)/~%-+)+&!~don't()>where()when())?mul(289,183)+$select()how()mul(597,749)why()mul(891,949)?mul(114,531) %+/,$from(493,501)-&^mul(591,30)}<@<[?;mul(91,804) -^%mul(449,407))mul(731,490)#+)(why()?:when()mul(666,844)mul* select()who()mul(930,953)+~@^-mul(739,539)@who()]?& when() mul(989,203)(:)?];where()$mul(862,477)mul(861,661)%~%~/!mul(224,714)[ mul(737,853,^from() mul(212,888)>mul(185,546);#'}%why(292,59)mul(428,503)where()#>from()>;mul(47,787)/,select()<;>?]where()mul(781,376){select()-}>mul(193,943)how(),how()-)from()$+-mul^^%#$from()>how()*why()%mul(760,582)mul(702,579)+:mul(640,791)what(47,178) &!^who()how()mul(649,839)/!^/why()mul(590,380)select()why()< >where()< mul(59,685)<+'when()#/select()!:mul(926,631)who()>how()}?}how()mul(766,724)*+]don't()/ >,~{who()[)mul(562,645)from()select()~where()why():mul(921,271)^where()where())mul(5,76)+;]select()+^>select()(^mul(327,476)-?<[who(665,286)where()mul(17,787)$/where()who()mul(797,991)*@when()]mul(288,945)!;%select()select(221,67)?where()(select()mul(103,613)>*$:#(<#mul(897,461),++'{:^mul(399,45)/[[$)what()?'mul(884,145)-<@ mul(907,419)$how()!mul(746,659)*%>why()}!do()-*why()where()mul(836,181@&>/@/)>#!;mul(511,857)what()^when(839,625)}why(642,188)mul(871,977)where()%where()select()#((when();,mul(996,95)<-from()}+mul(489,882)how()-]]&select()%~@select()mul(526,213)+where(){mul(196,64)>:#who()*(^why()(where()mul(305,841)^~&why(),@ )mul(33,152)%:+mul(276,813)?!how()-where()(>mul(166,466)mul(120,970)){+, #how()don't()<(select()/$from()!?mul(528,858),%%when()+#mul(582,880)[*how()what()-mul(880,694)why()-)how()mul(765,222)''how()'mul(568,629)'%mul(995,665)? ,};'[+mul(613,221)*)mul(90,933)how(){mul(873,519)#+how():*}#?^mul(568,189))mul(64,852)}from(101,629)!where()mul(883,789)mul(787,121)(who()'from()mul(904,116)(];[,?^mul(58,874)mul(825,942)-mul(966,765)mul(288,95)select()?where()%mul(362,992)]select()how()/select(){mul(731,806)&how(305,337)who()]when()}{why()where()mul(761,298)who()+{@;^?mul(261,9)who()mul(911,882)<;)who()/ mul(627,335)<+~-mul(975,402)what()]mul(952,216) why(),;:@when()how()mul(592,925)(!mul(12,402) mul(487,955)select():!~+>:who()@mul(777,428)^+what(385,392)'(:select()<'mul(492,807)@,mul(613,475): mul(787,127)&!,mul(289,109)?)*mul(863,691)!-/@$!mul(357,967)#:?' {?what()mul(824,697){&from()+how()mul(600,525)@mul(783,413):&*$>select()&mul(192,535)?select()who()when()@ diff --git a/2024/tcl/input.04.txt b/2024/tcl/input.04.txt deleted file mode 100644 index a6917f0..0000000 --- a/2024/tcl/input.04.txt +++ /dev/null @@ -1,140 +0,0 @@ -MMMSAMXAMMXSXXMAXAXXXSASAMXSAMXSAMXMAXSAMXSXSMSASAMXXXSASXSMSSSSXMAMSAXMSSXXASASMASXAXXMSMSSMMMSAMXMMMMXMXSXXMSXMAXXMAMXMSSXXMAMMMSMMMMMSXAX -XAAXAMXMASXMASMSSSXSASASAMXMXMAMXMAMXASXAXMAXAMXSAMSMMSAMASAAAAAMXMASMMMMMMSMMASAXAMMMSMSMAAAASMMXSMSMSASMAASXMASMMSXMASASASXMASXMASAAASMMAM -SMMSAMAMMAMXAMAMAAAMAMXSMMAXAMMSXSAMXASMSAMAMAMASXMASASAMAMXMMMMAXMAMAAAAAAAMMMMXMSAAXMASMMSMMSAMXSXAASASAMXMASXMAASAMAXMXMAXSASASASXSXXXAMA -XAAMAXMASASMSSXMMMMMAMAMASMSMSAAAXASMAMAMMXMXAMXMAMASXSAMXMASXSXSXMASXMSSSSMMAASAMXSMSMAMAMXMXXAMASMMXMMMXMASXMAMMMSAMXSXSMMMSASAMASAMASMSAS -MMMMMMMASASAMXMXMSMMAMAXAMMAAMMSSMAMMSMSXSAMXSSMSSMASMSXMAMXMASAMAMXMMAXAXXXSSSSMXMASMMASAMMMMSAMASXXAAAAASAMAXXMAXSXMAMMXAAAMMMXMAMAMAMAMMM -SASASAAMMAMXMASXMAMSASXSSSSMSMMAAMAMAXAXMMASAMAMAXMSMAXMSASMMMMXSAMAMMMMMMXMXMAXXSAMXXSASASXAMSAMXSXSXSMSXMMSSMSSSXSASMSMSSMSSXAXMXSSMAMSMXX -MASASASMMMXAMXAXSMMSMSAAAMXAMXXMMSAMXSXXASAMASAMAMMAMMMASXXAMMAAMXSXSASASASMAMXMXMAMMXMASAMMAXMASXMAXAAAMAXAAAAAAXAMAMXAAAXMAXMASXAAXAXMMXSX -MAMAMMXXAMSXSAMMXMASMMMMMMMMMMMXXMAXMAMSMMXSMMXMSSSMXAAMMXSSMMMSXMXMXMSASASMASAMASAMXAMMMMMASMMASMMAMSMMMAMSSMMMSMMMSMSMMMSMXSMSMMMMMMAMXASA -MXSXMAMSAXXMXAMASMASXSXMAMAMAMXMASMMXAMSAMXSAMXXAAXXMSSXXXXMAXAAMMXSMAMMMXMXAMASASMSSMMAAAXSMAMASAMAMXAXMXXXAXAXAAXXAAMXSAXAXMXAXAMMSMAXMAMA -MAMAMAXSXXAMSSMAXMMSAMASXSASXXSAMXAMMSXSAMMMMMAMMSMSAMXAMSAMXMASASAMMMMAXASMSSMMASXAASASXMXMMMMASXXXXXSMSXMSXMSSSSMSMSMAXMASASXMSXMAASMMMAMM -MMSSMMMXSXXXAXMSMMAMASAMMMMSAAXXXXSMAXAMAMAAAAAAAXAXXMMMMSAMSSMAXAAMXMSMSAXMXAXMSMMMSMMMASASASMXSMMSAAMAMMMSXMAXMAXXXAMXSMXMXMAXAAMSMMSXSMSS -XAAXAXMAMSAMMXMXAMXMAMASXAAMMMMXMAXMMMMXMMSSXSASMMAMXSAMMMAMAAXMASMMXXAMMXMMSSMMAMAMXAXSMMXSAMASXMASMSMXMAXMASMMSAMSSMSAMXAMASMMMSMXAASMMAAA -XMXSMMMAMAXASASMSMSMXSAMMMSSMXMXMAXASMSAXMAXAMAMXSMMASMSMSMMSMMXMXMAMMSSMMSAAMXSAXAMMAMXXSAMAMXSAMXSXXXMSMMAMXMAXXAAAASMMSASXSXXMMAMMXMAMMMM -MMMMMASXMXSXSASAAAXAAMASXMAMAAMAMMSXSASMSMMSSXXAAMAMXSXAXMAAMXSAMASAXAMAAAAMMMASMSSSMAXXAMXSAMXSAMAXMMAXAAMSMSMSSMSMMMMAMSXXMMMMAMAMXAXXMXMS -XAAXMASAMMXAMXMXMMMMMSXMMSAXSASXSXMMMAMXMAAMMSAMXSXMASXMSSMMSASASASASXSSMMSMXMASXAAMMSMMMSMXASASAMMSASMMMSMAAXAMXAAXAAMAMMMMXAAXXMSAXMSXMAMA -SSSSMMXAMXMXMAMXSMXMAMAXXXAXMXSASAAXMAMAXMMSASMMMAMXAMAXAAAAMMSMMAMAMMAXSMAMXMAXMMSMAMXSAAASXMASAMMXAXXAXAMMSMXMMMMXXXSXMAAAMXSSSXXAASAMMSSM -MAMXMXMMMMAXMMXAXXXMASAMMMSMSAMASMMMSAMMXSAMASXSXSXMASMMSSMMSMSAMXMMMMSMMMMSXMAXSMMMXMAXMAXMMMAMAMSMMMSXSMXSAXAASASXSMAMSSMSSXAXXAMXMMASXAAX -SAMASMSAAASMMXMSSSSSMXAAXAAXAXMMMAMASXMSAMASAXAXXXSMAAAAAAXXAAXMMSXMAAAASXMMMMMMSAXAAMMMSSSXSMMXMMSASAMXAMXAAXMAMXMAAMXMAXMAMMMMMMMXXMAMMSMM -SAMAXAMMSMAAMMSMAMXAMSSMMSSSMSSXSXMXSMAMSSMMMMSMMMXMASMMMAMSMSMXAMASMSSSMAAMMMSASXMMSSMAMAAASMXAAMSAMASMSSSMMMMSMMMSMMSMMXSASASAMASXXXASMMXS -SMMSXSXXAXSAMXAMAMSAMXMAMXMAXAXXMAMAXMAAXMXAAAAAAXMAXMXXMXMXAMMMASXMAMMXXSMMAAMASXXAAMMAMMMMMASXSMXAMAXAAAXXSAMXASAAASXXXXMASASXSASAMMMSASAM -XMAXSMXMAXMAMSASAMXASMSSSSSSMMSSMSMMXSMSMMSXMSSSMSSMSSSXMAXMMMMXAMMMSMAAXXXSMSSMMMMMSXSXSAAAMXMAAAXXMXMMMMMMSASMMMSXSAMSMXMMMAMAMMSXMASMXMAM -MMXXAXAXXASAMSAMXMSMMAMAAAAXAAAAAMAXXXXMAMASAMXXXAAXAXMAXAXSAMAMMSMAMMMMSMXMAMXMAASAMMSMSXSSSMMSMMSMMXMAAMSXSXMASMMXMAMXMAXAMAMAMMSASXSAMSAM -SSMSSMMMMMXMMSAMSAMXMAMMSMMMMMSSMSAMMXMSSMMAMMMMMXSMSSSSMASMAMXSAAMASAAXMMAMSMXMSMMAMAXASAXAMAMXAXXAAMSSSMSAMMSSMAMMSMSMSMSXSASASMXASAMXAMAM -XAAAAAAAXXSSXSAMXMAXSXXAAMMAMXAXXXAMASXMASMXMASASXMAXAAMMXMMXMASMXMSSXMSSMXSAAXMMXSAMXSSSMMMMSMSMMSSMXXAMXMXMASAMAMAAXAAMAAASASASMMMMMMSSSSM -SMMXXSMXSAMXAMXMAMXMAXMXSXXASAMXMSSMAXAXSAMSSMXMXAMXMMMXMSMXSAMXXSXXXXXAAXSAMSMSAMSXMMXAXXAAAAAAAAAAXMMAXMSAMXSAMAMSSMMSMMMXMXMMMXAAAXMAAAXM -AXMSAAAAMAMMXMAMASASXSSMAMMMXXXAMAAMAMSMMAXAAAMSSMMMXAAMMXAASMSMAMMSXSMSSMSAMXMMAMMASMMMMXMMMSMSMMSSMXSXMAXXXASAMXMAMASMMAXXMSAMXSSMSSMXMXMX -AMAAMMMSMSMMASMXXSASAAXMAMXSSMMSSSSMMSMASXMSMMMMAXAXSSMSAMMMMAAAAAAXAAXXAMXAMXSSSMSAMXAMASXSAMXAAAXXXXXAMSSSMASMMSSMSMMASMSMMASMXXXAMXMAXSXM -SXMMXMAXAMXSMAMSAMXMMMMMASAMAAMAAAXMXAMXMXAXXSAMXMMXAAAXMAMAMSMSSSSMSMSSSMSAMXAAAAMAXSXMMMAMAMSXMMSMSMSAMAAXMAMAMAAASXSMMMAAMAMMXAMXMAMMXXAM -AAXXSXAMMMXSMAAMAMASAXMAXMAMSMMMMMMSSMMMAMSMASMSAMXMMMMMXMASMMAAAXAAXXAAAXXAMMMSMMMXMAXSMSXMAMAMSAMAXAAXMMSMMMSAMMSMMAXXASMSMXSXMXMSSMSSMSAM -MSAMAMASAMXXMXXMSMASASXSXSXMXXSAAAAXXSXMASMMAMASXSXXAASXSAMXAMMMSMMSMMMXMMXMXSXXMAXXAMMXAAAXXMSXMAMXMMMXSXMAXAMAMAAXMSMSMMAXXMMAMXAAXSAAASMM -XMAXMMAXAMMASXSSMMXSMMMMASAMXASMXMMSASXSXSXMASAMMMMMXXSAMXSMMXAMAXXAAAAASMMSAMAMSXSAMXAMSMSAAAXXMSMAAAMMMASMMSSSMSMXMAAAXMASXAXAMAMMSMMSMMMS -MSMMXMMMXMAAMAXMASAMXAXMAMAAMMMSXSAMXMASAMMSXSAMAXAASMMXMAXASMXSASXSSMSSXAXMAMSMMASXXMXMMAXMMMMMMXAXSAXAMXMMAXAMAMAASMSMXMMSXMMAMXXXMAAXMXXX -XAAXSASAAXSSMSMSXMXSMMXSASXMXAAXXMAXAMXMAMASMSASMSXXAAMSSMSXMAMMMMMAMMMMMSMMAMXAMAMMXMMXMAMXSAMAMMAMXMSMMAXMAMSMAMSMMAAAAXAMXMAXXMASXMMSMSSS -SSXMSAASXXAMAXAXMMMAXAAXXSASAMXMXXMXSMMSSMMXAXAMAAXASXMAAXMMMAMASAMAMAASMMAMAMSXMAMSASASMXMASXSAXXXMXMAXSXSXAMXMMXXMMSMSMSASMMSXAXAXAASXAAAX -MMSAMSMMMAMMAMSAAXAAAMXSASAXASAMASMAXAMAXMSMSMMMMMMMMAMSSMMASMSASASMSSMSASMMAXMMXMAMAXMXMAAMSMSMSMMMXSAMMAMXMASAMXMSAAAAAAAXMAMSMMSXMMMAMMSM -XAXMXAXMAMAMXSXMMAMAAAAMAMMMMSASAMMASAMMSXAAAAMXMMAXSAMXMASASXMAXAMMAMXMAMASXXMXAXMMSMMSSMSXMASXAAAMMMMAAAAXMASXMASMSMSMSMXMMSXMMAXAXXXAMXAA -MMSSXMXXSXSXMAXASXSSSSMMXAXMXXXMASMASXMMMMSSMSAMXMMAXAMASMMMMXMAMXMMSXSASMMXAMSXMSXAXAAAAAXMSMMXSXMMXAXMSSMMSASAMXMXXXXXAXSXXXASMAMMMXMAMXMX -SAAMAXMAMXXAMASXMAMAAAXAXSXMASMSMMXXXAXAAAMAMXAXMSMSSXMXSMAASMMASXAXAMMAMAXMMMAASAMMSMMSSMMAAAAAMXSXSASXAAAXMAMXAMXAXMMSASAXXMAMMMSSSXSMSASX -MMSXMMAASMSSMAXAMSMMSMMSXMAXAAAAAXXSAMSMMMSAMXAMAAAXAASAMASMAASASMMMSSMXMXMXSMSXMAMXAAAMAAMSSMMMSASASAAMSSMMMSMSMSMXMAAXMMAMXMSMSXAAAAAASAMA -SXAMMSSXSAAXMASXMMAXAXAXASXMXMSMMSASXXAAXXMASXSSSMMMMMMASAMXSAMXSAXAMXMASMMXXAMMSXMSSSMXSAMXMXAAMAMAMMMAXAXMXXASASASMSMMSMXASXXAXMXSMMMMMAMX -AXMAXAXMMMMMMXSAASMMMMSSMMASXAXASMAMMSSSMSSMMMXAAXXAAXSXMASAMASMSXMXXAXXAAXAMXMAMAMAAAAXXSXAMSSMMXMXMAXMMAAAAMSMAMAXAXXAAMXAAAMMSMMXXAXAXAMX -MMXMMSXMAXXXMXSMXMSAMSMAMMASMAMMMMAMXAAAAMAMSAMSMMSSXMAXMXMMSAMMMAMMSSMSSMMAXSMXSSMMSMMMAMMMXAAASXMMSXSAAASMXSAMXMMMAMMSASMAMAXAAXMASMSSMMSM -XAMXAAMSAMSAMAMXXAMXMAAAXMASAMMAMSAMMMSSMSAMXSAXMAXMMMAMXMSXMMSASXSAAAAXAASMMXAXSAMXXAAMAMAXMSMMMASXAAMASAMAMAMXAAMMSXXMXXXMAMMSSMSAMAAXMMAX -ASAMMSXSAXSAMASXMSMSXMXMSMASAMXAMSASXMAXAMXMMMXMAMXAAXSMMAAMSAXASAMMXMSMSMMAMMMMXAMSMSSSMSSSXXAASAMMMSMAMXMMMAMSSSXAXMASMMXMAMAMXAMMSMMSXSAS -AMSXSXAMMMMXXAMAAAMXASAMXMASAMSSXSMMMMAMMMMMAMASMMMMMMXAASMMMAMMMMMSXAXAXMXAMXAAMMMSAMAAMAXMASXMMAMXXXMAXXXMMMXXXAMASASAAMMSAXSAMXMAAAXAAMAM -XMAMSMXXMASXMSSMSMXSAMASAMMSAMAMMMMAXMXSAAMSASAXAAXXAAMSMMXXSASAAMAMMMMXMMSMMSMMSAAMXMSMMMMXXAMXSAMXMMMSMXAMAMSMXXXMAXXMSMAMMSXAAXMMSMMMSMAM -XSXSXASXMASXAAAAAAAMAMSSXSASAMXSASXSXSASXSMSASASMMSAMSXMAMAMSASMXMASAMAXXMASMAAASMSMAMMMASMMMAXXMXXAAXAXXXXXASASMXMMSXSAXMSMMXXAMXXAMASMXXAM -MXMAXSMAXAXMMMMMMMMXXMXMMMASAMXSASAAAMXXAXASAMAMXAAXXXAMAMAMXMMXXSASMXSAASASMSMMSXAMMMAXAAAMSXMXMASMXMSSMXMSMSAMXAMAXAMMMMAASMMSSSMMXAMAMSSS -AAAMMMSXMSAMXSAMXMSMSXSXAMMMXSAMAMMMMMSMAMAMMMAMMMMMMSMMAMASMSAXXMASAAMSMMASAXMXXXMASXSMSXSMSAMXXMASAMXSAAMAMMXMSXMAMAMXAMSSMAAAAXASMSMSXAXX -MASXAAXXXAAMAMXMASAMSAMSXSAXMMMSMXAXAASMAMXMSXMSMSAMAAXSMSXXAMSSXSXSMMMAXAAMAMXMASMSSXAAAAMASXXAXMASXMASXXSASXSMMXMSSSSSSMXAAMMMSMMMAXAXMSSS -SMXXMSSMXSXMAMASMMXSMAMAMMMSMSAAMMMXMASAMAMMSAAAXMAMSMMAASAMSMXMASAMASMMSMXMAMAXMAXAXMMMMSMAMSXMSXAMAMXSMMXXSMSAASMAXAAAXXSXMXMXXMSMXMAMXAAA -ASASXMAMMMASASAMMMSXXSMMSAAMMMSXSASASAMAMMSASMMMSSMMXXMSMMAMMAAMMMAMAMXMAXASXSSMSXMSSMMAAXMAMMXSAMMSXMXMXSSXMASMMSSMMMMMMMMAMAMXMAAMAMXXMMSM -MMXSASXMASXMMAXXAMXAMMAXSMSSMAMMSASAMAXAMXMMSXSMXAAAXAXMASXMMSSSXSXMASASASMXAAMMMAMAAASMSXSAASMMMMAAAXXMASMAMAMAAMAXAXSASAAAMASAMSMXXXAMAMAX -XMASAMXMXXAAXAMXXMMXMSMMXXMAMASAMAMMSSMASMSXMASMMMMMSSMXAMMAMAMMXMASASXSAXXMMMMAMAMMSMMAMAXXMXAAAMXSSMAASXXAMXMMMSMMMMMASMSXSASXXAMMSXMAXXAX -SMXSMXXMASXMMXSAMXSMMAASXMSXMAMAMXMMAAXSMMMAMAMAAXAXXXAMSMMMMAMXXMAAAMMMMMMXSASMSSSXAAMXMAMSSSMMMMMAMMSMMMSMSXXSXSXMASMXMXXMAMMXMASASASMSMSM -SSMMMMXMAMAAAAMASXAAMMXMAMAMMMMAMXMMSSMXAMMAMASXMSSSMMXMAAAMXSMSMXAMSMSAAAXASMSAAAXXXMMMMXMXAAXAAXMAMAXAXXAAAMAMAMXXAXXSSXAMMSSXSXMASXMASAMS -MAMAAXXMMSSMMXMAMXMSMMMSXMXSASMSSSXAAAASAMXSSMXAMXMAXAASXSMSAMAAASMXMASMSSMMSAMMMMMMXMAXSAMXSMMMMXXAMXMMMSMSMSSMAMMMSSMAAAMSAAAXAMMMMAMAMXMA -SAMSSSMSAAAASAASXSMAXAAAMAXMASAAAXMMSSMMXMAXAXSXMAMSMSMXXAAMAMAMMAXAMAMXMAXAMXMMXMAXAMAXSASMXMXSASXSSSSXAXAAXMASXMAXXAAMSMMMMSSMMXSASMMSSMXM -SXXXAAAMMSSMMAXXAASASMSMMMSMSMMMMMMMAMMSXSXSAMXMSMSAAXAXSMSMSMAXSMSAMMXSMASMAAXMASXSMSSMSXMAXMAMMSAAAAXMMSMSMSMMMXSMXXXXAAXXAXAAXMMAXSAXMAXX -SMSSSMMMAMAAXSSMSMMXSMMAXMAMAAXXXSXMASXXAXAMXMXMASXMMMXMAAXAAXXXSXSXMSAMXAAXSSSMXSAAAAXAMMMSMMASAMMMMMMMXAAAAAXMAXXAMMSSMSSMMSSMMAMSMMMSMSSX -SAAAXXXMASXMMXAMAXMAMASXMSASMSMMASAMSSMMSMMMAXAMXXMAAAMSMMMMMSMASAMAAMMMMMSMMAMMMSAMXMMSMMAXASMSXSSXMXXXXMSMSMSMSSMXSAAAXAMAXAAAMMMXAAXAAASX -MMMSMMXSAXAXSSSMSXSAMAMAMXMMXXAXAMMMMMAAMAMSMSMSASXSMSMXAAAXAXMAMAMXMASMAMAMMAMMAXXXXSAMAMAXAMASXXMAMMMMSMAAMXSXAAMAMXSXMMSSMSXMMASMSMXSMMSS -XMAXAMAMMSMMMAXAXAMXSASMMSMSMSXMMSXXAMSMSAMXMAMMASXAXXXSSMSMMSMMSXMXXSXSASXSMMSXSSMXXMASMMMSMMAMSMSMMASAAMXMMMMMSXMXSAMMMXAXXMMSSMSAAMXMAMXX -SMAXAMAXXAXAMXMMMSMASXSXAASAAASXXAXSMXAAXXMMSMMMMMXSAMXAMAXXSAMMXAXSMXXSMSAAXMAMMAMSSSMMMAXAXMXMXXAASAMXSXSAAXXAAAXXMASAMMXSAMXAAXMXMXAXAMAS -XMSXMMAXSMSXMSASAAMMMXXMMXSMSMAMMMMMMMMSMAXMAAASASXMASXXMMMMSASXSMMMASMSMMXMMMAMSAMAAXMAXXMXMAMXSMSMMASMXASMSMSXSXMAMAMAMXMSAMMSSMSMSMSSSMXS -AXMASMMXSAMXMSAMSMMAAMMSSMMXMXMAAXAAASAMMMMSMSMSASMSXMASMMXAMXMAAXAXSXAXAAMXAXMXSXMMSMSAMSASXMMXXAXMXMMAMAMAMASAAMSXMASXXMASAMAAAASAAAAAAMMM -MSMAMASAMMMAXMAMAMXSAMMAAASXMXXSSSMXMSAMASAXXXAMAMMMASAXAAMXSMMSMSMMMAMSMMSXMXSAMMMSAMXAAXAMAMSSMMMAAXMXMSMXMAMMMMMASAXXAMXSAMMSMMMSMSMSMMAA -SAMXXXMAXXSMSSXMAXMXAMMSMMMAMMMMMMMSMXMXAMXSSMXSAMASMMSXMMMAAMAMAMXSMSMAXMAAMSMMMAXMASMMMMMSAMAAAMASXXAMXAMXMASXMMSXMASXSMXSAMXXASXXXXXXASMS -AXMASMSSMAXAMASXSSMXAMXAMSSMMAAAAAAMXAXMXSXMXMASASXXMAXMSAMMSMASAMSAAASXMMMSMAAAXSMSXXMAAAMAAMSSMSXMMSSMSMSSMAMAMMMSMAMXASAMXMXMASAMMSAMXMAX -SASASAAAMXMASAMXMAMSMMMMSMAAMSSSXMSSSMMSAAAMAMMSAMAAMASMSASAAMXMAXXMSMSXSAAMMMMMMMAAMMSSSSMXXMAXAXAXAAAAMXMXMASXMAASMSXSAMMSAMMXAXASAAXMXMSX -MAMASMMMMXSAMXSXSAMXXAAMAMMMMMMMAXAAAAAMSSMSMSAMMMSXMMSASAMXSSMSSMMXXAXASMXMAXAXAMSMSAMAMMMMXMXMMSMMMSSMSASXSASMSMSMAAXMXAMXASXMMSAMXMXSAAAA -MAMAMXSAAXMXMAXAAAMXSSSSXSMSXSASMMSMSMMXMMAXXMMSXAMAMAMXMXASAAXAMAAAMXMMMSSSMMMMSMXMAXMAMAAMMSSSXSAAAAXXSASXMASAXMAXXMXMMMSMMMMAMMMMSXAMMMMM -MXMAXSMMSSXMASMSMSSMMMAMAMAMAMMMSAXXAMXAAMAMXMXXMMSAMAXAXXXMASMSXXMASMSXMAMAMSMAAAAXAXMAMMXSAAMAAMXSMMSAMAMXMASMSSSSXXXXAAAAAAXSMASAMMSMSXSA -MSSMSSMXMAXXAAAMAMXAAAAMAMXMASXAMXSAMXSXSMSMMSSMMAMXXXXSMXXXXMAXMMXXSASXMAXAMAMSSSMSMSSSMSAMMSMMXMAXAXMAMAMXMASAXAAXMXMSMSSSMXMAXXMAMXXAXAAM -AAASAMXASMMSXMXMXMSSMSXXAXXSAMMXSXSAMXMAXMMAAAMAXSSSXMAMAXSMMMXMASAXMMMMMMSSSMXAXAAXAAAAXMASXAAXXMAXAXXXMASASMMMMMMMMAMMMAMXMAMXMSSSMAMXMMMX -XSXMXMSASAMMXMMSAAAAXAASXMMMSXSXMASAMXMASAXMMSXSMXAAAMSMSMSAMXMSAMXXMSMAMAMMAMMSSMMMMMSMXSMMMSSMXMMMMSMSSMSASXASXMXXMAXAXXMASXSMMAAXASAMXMSM -MMAMXMMAXAAMXSASMMMSMMMMSAAAMXSAMASAMXMASMMXSAXMAMMMMMMAMXSSMXMMMSAMSAMSMAMSAMMAXXAAXXAXAXASAMXMXAAASAMAAAMAMXMMMSXMSSSMSSMXAMMAMMSMMMXXXMMS -ASAMAXMMSSMSAMXSXMSXAXMASMMMXASXMASASMMXSAAMAMAMSASASMXXSMMAMXSMSMMMSASXSXXSASMMXSSSSMSXMSMMASAMSMMMSASMMMMMMXXAXMAMAXAMAXMMSASAMXAAASMSMMAX -XSASMSXAAMXMASAMAXMSSMMXSXSXMXMMMASAMXSASMMSMXMSMMSASXAAXASAMAMXMASASXMAAMXSAMXXXXAAAXXAMAXMASXMASMASMMAXXAXMASMXSAMASMMSSXAXXSASMSSMSAAXMAS -ASAMXXMMSSXSAMASXMMAMXXXMASAMXAXMAMMMAMASAAMXMXAMXMMMMMMSMMSMASMSXMASAMXMMAMAMXXAXMXMMSXMASMXMASASMAMXSMMXMMSMMMAMAMMSAAXXMMSASAMXAAAMXMSMAS -XXAMXAAAXXXXXMXMXAMASMSMXMSAMMMMMAMAMASASMMSASMXSAXAAAAAXAAXSMSASXSASXMAXMSSMMSMMXSASXMASXSXASAMXSMXSASASMSAMAAMMSSMSXMASXSAMMMXMMSMMMAXXMAS -ASMMMSSSMXMAMMSAMMMAXMAMXXXAMMXAXAXMAAAASAASAXXAMMSSSSSSMMMMMXSMMAMXSASXSXMAMMAMXXSASASXMMMXXXMAXSAXMASASAMXMXMSXAMXMAMXSAMASXMASAXMASMSXMAS -MMAAAXAMAAMASAMASXMSXSASXMXXMASASXSXSXSASXMMAMSSSMAAAAMAMXXSXASAMXMASMMSMXSXMXMMSAMXMAXMAAAXMAMSAMXXSASMMMMSMXMSMXMAMAMAMXMAMASAMXMMAXMAXMMS -XSSMMMAMSMSAXXXAMXAAASASMXAASMSAAMAMXAMMMMXMAMAAAMMMMMMASAAMMMSXMAMASXXMXMMXMAMASAMSMAMSSMMSAMXMMMMMMASXAXMASAAXAASXSXMASAMAMXMASASMSSMXMAMX -AXAMSSMMAXMMMSMXSMMMXMAMAASMMAMXMSSSMMMAAAMMSMMXMMXASXSASMAXAMXXXASXXMXMAMMSSSMASXMMMXMAMMMMAMAXAAAAMXMXXXSASMSMMMXMAXSASMSSSXSAMMSAAAMSSSXS -SSSMAAAMXMSAAMMMXASMAMXMSMMAMXMSXMAAAASXMSXMAAXSMXMXXAMXSXAMMMMMSASXAMSSSSXAAAMAMMMAMXMAMSAMASXSSSSSXMASXXMAMAMXXXXMXMMASXAXMMMAXXMMMSMAAXAX -MAMMSSMXSASMXSAMSAMXAXXMMSMXMASXAMXMMMMAXAASMMMAMSMSMAMASMMMSAAXMMMMMMAAXAMMSMMASAMAXXMAMXAXXSAAAAAMXSASXSMSMMXSAMXSSSXAMMSSMMSMMMMXXMMMMMMM -MXMAXAAAMAMAMSAMMAMSXSASAAXAMXSAXMXSASXSMSXMASAMXSAMXXMASAAAXMSMSXMASXMSMMAXXXSXSMSSSSMSXSSMAMMMMMMMAMAMAMAAXXAXAMXXAMMMMXAAAAAASMSAMMMSMAAM -MAMSSMMMMAMXMMASXXMAASAMSMSMMAMAMMXSASAMXMASXMSXAMMMMMMXMMMMMXMAXXSASMMMXASXMXMASAAAAAAAMAMMMXSAAAAMAMMMMMSMSMXSMMSMSMAMMMSSMMXMSASASAAASMMS -SAMAAXXXSMSAXMAMMAMXMMMMAXAXAASAMXAMXMAMXSXMASMXMXAAAAMMSXAASXMMMMMAXAAAAMMAMXMAMMMMMMMMXMXMXASXSSSSSSMSAAAAXXMAMXXAAMMXSAXXMMSMMAMXMMSMSMAM -SSSXSMSXMASMXMASMXMASAXSSSMSSXMASXXSASAMXMASMMAASMSSSXSAAMSXSAMSAMMSMSMMSXSAMAMASMSXSXMSAMAMMMSAMXAAAAASMSMSXXAMXAMSMSAAMXMAXXAMMMMAMXXAMMAX -SASAAAXSMASAXSAMAASXXXMXAAAAMMSSMMMMASAXAMAMAMMMMAAMMAMASXMAMXMMAXXXAXAAMMSXSXSAXMXAXAASASASAAMAMMSSSMMMAXMMMXSAMXXXAMMSSSMSSSMMAAXAXAMAMSMS -SAMSMMMXMAMMXMASXMMXSSSMSMMMSAXAAAAMMMMMSMASAMASMMMSSXMXXXMAMAMXSMSMMMMMSAMMMMMXSMMSMMMSXMASMXMAMXAAAXXMMMSAAAXMAMMMSMXMAMAMXAXSSSSXSASXMAAX -MAMXXXXAMMSSMSAMAXASAMXAXMXXMASMSMSSMASXXXXXAXASAXSAAASXMXSMSMSAAAXAAAAXMXMAAAXAAXAAAXAMAMXMMMMAMXMSMMSASASMSSXMMASAMMAMXSSMSAMAAAAASXMASMSM -SSMSSSSXSMAAXMMSAMXMSXMSMMSMMAAAMAMXMAMMSMMSSMASXMMMMMMASMSAAAMMSXSXMSSSXAXSXSSSMSXXSMSSMMXSAMXSMAXAXXXAMXMMAMASAMMASMXXAMAMSASMMMMMMASAMMMA -AAAAAAAAMMMSASXMMSXAXMMMAASAMXSMMASMMXSAAAMAXMAMXXMAXASMMAMMMSMAMMMAXAMAXMMMAMXMASXMMAXAXAAMMSAXMASXSSMXMSXMASAMAXMXMAXMAXAMSXMAXXMXSXMMXXXX -SMMMMMMSMXMXASAMAMMSMAXSMMSAMAMXSASASMSXSSMASMAMMMSMMAMASXMSXXMAMASMMMXMMMAMAMAMAMAXSXSXMMMSAMMSXAXMAXAAMMAMAMASXMSASMSSMSXXXMXMMMSAMXMSMSMM -MMMMXXXMAMAMAMXMASXXSSMAMMSAMXSAMASXXAMAMXMAMMASAXAMXSSMMAMXMXMASXMMASAMAXAMSSMMASXMMMSASXAMASASMSMMSMSSSSSMASAMAXMASXMAMAMSAMSAMXMAXAMAMAAS -XMASXMMMSMAMSMXSXSAMAMXMSAMXSXMAMXMXMSMMMAMSMMXMMMASAAAXSXMAMAMXSAASASAMSSMMMAASAMXAAMXAMMMSAMMMAMXAAAXAAAAXXMAMMMMMMMMAMAXSAMXMASXSMMSASXSM -MMASAAAAAMAMAMMAMMMMMMMXMMSAMXMMSAAMAAAASXMXASMSXSAMMSMMMMSXSAMMMXMMAXAMMAXAMXMMAMSSMSMSMMXSXMXMAMSXMSMMMMMMSSSMMXSAASMMSMXSXMASXSAMXXAAXMAM -XMXMMMMXSMMSSXMAAAXSXMMAAXMASMAASMSASXXMMMXSSMAAMAXAXAXAXMAMMASMSAMXSSSXSAMSSMXSAMAMMSAMASAXMMAMAXMSMXMXSAMXXAXXMASXMMAAAXASMSAMMMMMMMMSMMSS -XXMMSMSAMAMXMASXSMMSAMSSSSSMMMMXXXMMAMXMSMAMAMXMMMSXXSMXMASXSXSMSASAAXMAMMMXAXASAMXSASASAMMSASXSXSMAMAMAMAMSMSMSMASMSSXMMMASAMXMAXMASAAMAXAS -MMXAAAMASXMSSMMAXMASAMAAXAASXMSMMMSSXSAAAMSSXMAMAXMAXMXSXXXAAAXASAMMXAMMMAMSAMXSXMSMAMAMXXAMXXXMASXMSASASAMAAAAAMMSMASAAXMAMMMSSSMSASMXSAMMS -AAMSSMMMMMXXAMXXMMMMAMMSMSAMXSAAASMSASMMMXAAMSMXMAMXAMAMXMMMMMMMMAXMXMAMSAMMSMAMAXAMXMSMMMSSMSXMXMAXMXMASMSMSMMMSAXMASMMXMAMXMAAMXMASAAMXXXS -MXMMAMXXMASMSMMAAASXMMXXAMAMXSMSMSAMMMXMMMMXXAAASXSMSMAMAMAMAMXXSMMSAMMASMSAASMXSAMXMAXAAAMAMXAMASAMXXMASAAAAAASMXSMMSASXSASAMMSMMXAMMMSMMAS -XMASMMAMXAXXMAXXSMXAXSMSMSASAMXAAMAMXXMASXMMXMMMXAXAAXMMAXSXSSSMSXASAXAMXAMAMAXAXMMAMMSXMSSXMSXMASASAMXAMXMSMSMSAMXAAXASASASXSAXAXMMSAMXXXAX -SXMXXXXAAMSMSSMMMASXMSAAASAMASXMMMAMXXMMAAAAMSSSMAMSMSMSMSMAMAMASMMSAMSXMXMMMXMASXSXSAAASAXAXMASMSAMAXMASXMAMXMMMMXXSMAMAMASMMMSMMSMAMSMMMSS -SAMXSMSMASXAAMASMAMXAMMMMMAMMMMAASMMMSXXMAMXSAAAXSMXXXAAXAMXMAMMMAXMAMXASXMXSXAAAAXAMASXMAMMMSAMMSXMAMMSMMSMSMMAAAMMMAMXXMAMAAAAXAAXMXSAMAAX -SAMAXAASXAMXMXXMMSMMXMAXAMAMXAMMMSAAAXAMSMXSMMSMMAAXSSSSXMMMXMMXSSMSSMSXMASXMASMMSMSMMMXMAMMAMXSMSMMXSXAXAAXXASMMSAAXSMXXMXSSMSSMSSSMAMAMSSM -SAMXMSMSXMSSSMMSAMXSSSSSSSMXMMXSXSXMMSXMASMMMMMAXMMMMAAMXSAMAXAXXXXAXXSASMMAXAXAAXXXAMSAMASMASAXAMMSASXMMSSSSXMXMAXMSAMXSAMXAAXXAAXXMASXMAXX -SXSAAMAMXXAAAAAMASMMAAXAMXXAASASXSASAXAMXXMASASAMXAAMMMMASASASMMMMMMMASAMXMXMASMMMMSMMMAMAAXAMMMMMAMMMAXAAMAMAXMAXSMSASMMASXSMMMXAMXSASAMAMX -XASMSMAMSMMSMMMSAMAMSMMSMASXSMASASAMMASMXMSAMMSAMSSSSSSMXSAMXMAAAXAASAMAMXXAMXXAAMXSXAMAMXSMMSXSXMXSAXAMMXXAMXSAMXSASASASAMAMXMAXMMMMAXAMSSS -MMMXAMAMAAXXAXXMXSXMXAAXMASMAMSMMMAMMAXXXXMASXSMMXAXAAMSAMXSASMSMXSAMXMAMSMXSXSSMSAMXMXXMMAXMAXMASMSXSSXSSSSXMAXASMAMAMMMAXAMSMXMAAAMMMSMMAM -XAASXMMXSSMSSMSMMXXMSMMSMAXMAMXAXXXMMSMMMMMXMAXAXMMMMMMMXSAMMSAAAXXMMSXMASXXAAXAAMASMMXSAMMMXSXSAMAXAXAAMXAMXAXMMAMXMMMXSAMMMSAASXSMSAAXASMS -XXXSMASAMAAAXMAAMXXXAMXSMMSSMSSMMSSMAMAXMASMSXSXMMXXXSAMAMXSSMMMMMXMASAMAMMMMSMMMSXMAAASAMXSAXAMXSSMMMMAMMMMMSMSASXMXXXAMASXAMMMSAAASMMSAMAS -SMMMMAMASMMMSXSMMAMSASAXMAMAAAXAAAXMAMXMAMSAAXSAMMAMXXAXSAMXXAAMMSMMASXMMXAAAAAXAMASMMMSXMXMASXMASAMAAXSSXSAAAASAMXAMMMXSAMMAMAAMXMMMMXMAMSM -XMAXMXSAMMSAMXAMMSXSAMASMXSMMXSMMSSMSMSAXXMMMMSAMAAXMSMMXAAXMSMSAAASXSXSSXSMSSSMMSAMAMAMMAMMMMXMXXAXSSSMAASMSSMMAMXMASMMMASMAXMSSXSAAXXSSMMM -XSMSAMMMMAMASAMXAXMXAMXXAAXAMAXXAMAAAAXMSXSASASAMXSSMAAMSMMXMAXMMSMMAXMAMAAAAAAAAMMSAMAXMAMXMMMSMSSMMXMMMMMMMMMXMASMSAMASAXXMSSMMMSSMXAXAASM -XAAMXXAAMMSMXMSMMSXSASAXXXMAMASMMSMMMSMAAAXAMASMMXMAMSSMSAASXMMAXMMMAMXSMMMMMSMMMMXSASMMSAXASAAMMAAAMAMXAAXAMAAASMMMXASMSAMSMMMAAAMAMSSSXMMS -MMXMMSSMMXAMAXXXXAMSAMMMSSSSXMXAXXXXMMXMMSMAMAMAMMSAMXAASXMMAMSMSMASAMAXAMXXMXASXMXSMMAASASAMMSSMMMMMSXMXMSMSMSXXAAXXAMXMAMXAASMMSMAMSASXMAM -ASXMXXMASMMSXSMSMSXMMMMAMMAXXXSAMMSXMMAXAXMXSMMXXAMAXSMMMAMSMMAAXMASAMXSAMMSMSXMAMMXAMMMMAAASXMXAMMSAXASMMAAMAMMSSMSSXSAMMMSMMSAMXMMMMAMSMXS -SMAXMXMAMAAXAXAAAMMSAMSSSMAMXXMASAAASXMMMSMAMAMMMXSSMMXMMMAAMSMSMMXSAMAMXMAAMMMSMMASAMXXMSMMMAAMMMAMASAMASXXMAMMAAMAAXSMSMAMXAXAXXXXAMAMAMMM -MSMMSSMASMMMMMSMSMAXAMAAMMAXAMSXMMXXMAAAAAMASAMAXMAMAMASAMSMXAMAAXMSAMMSAMSMSAAAAXXXAMMXMAMXSMMMSMMSASASXMMMSASMSXMXSMSMAMASMASMMSXXASXSASAS -XAXXXAXASXMXSAAXXXMSSMMSMSXSXMAMMXMSMSMMXMXASASXSAMSXMASAMAXSASMSMASAAMMMAXASMSMSMMMSSSSSXSAAXMXAAXMASAMMMAXXAMXAASXXASMSSMMXMXXAAMSMMASAMAS -SSMMSMMXMAXAMSXMMMXAMAXAAXAAMAAMSAMXAMXSASMXSAMAXMXSAMAMXAMMXMMAMXMSMMXMXMMAMXAMMAXXXAXAAASAMXXSXSMMXMMMASMSXMMMSMMAMSMAMMMXXXAMMMXASMMMSMAM -MAAAMXMAXMMMMMSMAAMMSSMMMMMMAMMMXASMAMAMAXXXMAMMMSAMAMAMAMXXMSMAMAXXXAAXAAXMXMMXXAMSMAMXMMMSXMXAAXXMAXAMXXAAAASAXAMXMAMXMAAXMMSSMMSASXMAXXAS -MSMMSASMXMAMAAAMSSXMAMXAAAXAMMSMXAMMXMMMSMMMMAMAAMASXMXXSXSXAAMMSMMMSMMXSSMSAASMMAMMAAAMXMXXMSMMXMASASXSMMSMMMMASMMAMMXSMMMAXAAAAMMAMAMXMSAS -XMAMSASXASASMSMMAMXMASXSSSSSSMAAMSSMMMSAMAMMXAXXMXMMMMMMAAMMSMSMAMMMSAXXAAAAMMAASMMXMASASXMMAXXAASXMMMMAMAAAAXMAMAMAMXXAAASMSMSSMMMMSSMSMMMX -MMAMMMMXMSASAXXMASMMMSAAAAXAAXMMMAAMXXMAMSASXSSSSXSAAAXMMMMMAAAMAMAASAMASMMSXMSAMAMXMAMXXAAMSMAMXMMMXSSSMSXSMSMMSSSMSSMMSMAAXMAMMMXMMMAAXAXA -MSSMMAAAMMMMAMASAMAAAMMMMMMSMMXSMMSMMMSAMXMXAAAAAASXSAXAAAAXMSMXSMMMSAMMAAAXXXMASXMXMAXAMMMMAAASAAXSAXMAXXAXXMAXAAAMAXAXAXMMMMASXMAAAMXMSMSM -MAXASMSXSAMSASMMASMMMSAXXXXMASMXMMMMAAASAXXSMMMMMMMXMXSXSSSSMXMXXASAMASXSMMMAXAAMXMAMXSSMMSSXMXSMSMMXSMMMMMMASMMMSMMXMSSMXXMAXXSAXSMMXSXXXAM -MASXMAXXSAMSASXSASXMASXXXMAMSMMASAMXMAXMXSASASXMXSMMMMSXAMAMXAMMMAMASXMAMSAMXMMMSASAMXAAAAMAMSMMMMAMXMAAMASMXMXAMMXSAAXAXSSSXSAMMMXAMXSMMXXX -MAMAMMMAMSMMAMAMXSAMASMSSMSMXASAXAXSXSXSAMASAMMSAAAXXAMMMMSXXSMAMMMXMAXAMAMXMXAAMXXAMMXMMMSMSAAAMXAMMSSMMASMAMSMSMASMSMAMXAAMMMSXAXAMAXAXSSS -MASMMAMXAMMMSMXMXSAMXSAMMAAAMAMMXSMMXMAMXMAMAMAMSSMMMSSMMAXMAMSSSXMXSSMXSASAMSMSSMMSXSXMMXSXSMSMSSMSXMASMASMMMAMAMXMXXMAMMMMSAAXMSXMMSSSMAAX -SMAASXSMMXAMMXAMXSXMXMAMMSMXMXMXAMAMMMAMSMAMMMMXAMAAAMAAMXMAXXAXAMMAMAAMAAMMAAAXMAAMASMXSAMMSAMAXXXMASAMMXMAMSXMASXSMXSAXXAXMMMSAAASAAAXMMMM -XMXMAAXXMASMSSMSAMSXMSAMXMASMMXMASAMXXAMMXXMAAXMASXMSMXMMASXMMSMMAMAMMMMMXMXSMSMMSXMAMAAMAMAMMMMMMAMXMMSMASAMMMMAMAXAXSXSSSSMASAMMXMASAMXXXX -XMMXMXMMSAXMXAXXMSMXAXMSXMSMMAXMASXMAMXXSASXSMXSAMASMMSAMAXAAAMASMSSSXSXXAAMXMAXAAAXMMMMSXMXSAAASMMSASMMMASASASMSMMMSAMXXXAAMXMAMMAAAXMSMSMM -XMAMSXSAMMSSMMMSMAMMSMAMAMAAXSXMASMMAMXAMMSAAAAMASMMAASAMSSSMMSAMAAAAASASAXSASXMSSSMSAXXMMSMMMXSAAXMASAMMMMAMAMAXMASMAMAMMSMMMSAMXAMXMAAAAAA -XMASAXMASAAXAAAASASAAMAMASMSMMAMASAMASMAMXMMMMMSAMXMMMSXMAAAMAMAMMMMMMMAMAMSASMMAAAASMSAMAAAAASAMXMASMMMAXMSMSMMMXMASAAAMXAMXAMMSAMXSMSMSMSX -SSMSAXSMMMSSSMSMSMSXSSMSASMMMSMMMSXMAXXAMMSAMXXMMSXXSAMXMMSMMASMMSAMXXMMMXMMAMMMMSMMMXSAMSSSMSSSXAASXXXSXSAXAMXSSXMASXSMMSASMXSASXMASMXXMAMA diff --git a/2024/tcl/input.05.txt b/2024/tcl/input.05.txt deleted file mode 100644 index f8e5b0d..0000000 --- a/2024/tcl/input.05.txt +++ /dev/null @@ -1,1394 +0,0 @@ -66|44 -14|81 -14|63 -95|17 -95|47 -95|81 -31|66 -31|78 -31|79 -31|87 -32|57 -32|66 -32|42 -32|19 -32|47 -13|64 -13|95 -13|19 -13|31 -13|81 -13|37 -52|87 -52|84 -52|37 -52|36 -52|67 -52|66 -52|81 -21|67 -21|72 -21|76 -21|36 -21|25 -21|82 -21|77 -21|68 -34|95 -34|93 -34|31 -34|74 -34|84 -34|32 -34|52 -34|36 -34|49 -48|49 -48|29 -48|44 -48|54 -48|34 -48|38 -48|76 -48|89 -48|85 -48|14 -75|93 -75|57 -75|68 -75|59 -75|19 -75|66 -75|13 -75|63 -75|74 -75|31 -75|73 -59|98 -59|17 -59|47 -59|64 -59|52 -59|29 -59|89 -59|42 -59|72 -59|44 -59|79 -59|94 -57|87 -57|91 -57|37 -57|81 -57|48 -57|54 -57|47 -57|64 -57|21 -57|42 -57|93 -57|94 -57|66 -87|66 -87|79 -87|84 -87|37 -87|73 -87|64 -87|22 -87|94 -87|48 -87|42 -87|19 -87|82 -87|89 -87|17 -73|79 -73|92 -73|82 -73|52 -73|49 -73|29 -73|44 -73|47 -73|22 -73|64 -73|67 -73|72 -73|98 -73|54 -73|17 -89|98 -89|38 -89|36 -89|49 -89|34 -89|92 -89|25 -89|72 -89|75 -89|68 -89|74 -89|14 -89|44 -89|95 -89|13 -89|52 -42|67 -42|17 -42|14 -42|79 -42|21 -42|29 -42|54 -42|89 -42|38 -42|75 -42|72 -42|22 -42|64 -42|46 -42|76 -42|49 -42|92 -22|68 -22|44 -22|82 -22|54 -22|67 -22|76 -22|36 -22|13 -22|77 -22|34 -22|29 -22|92 -22|31 -22|21 -22|74 -22|49 -22|14 -22|72 -82|57 -82|13 -82|32 -82|34 -82|98 -82|74 -82|29 -82|49 -82|76 -82|46 -82|44 -82|89 -82|31 -82|92 -82|77 -82|72 -82|14 -82|36 -82|52 -67|36 -67|19 -67|63 -67|31 -67|81 -67|57 -67|77 -67|87 -67|78 -67|13 -67|95 -67|37 -67|76 -67|84 -67|75 -67|59 -67|66 -67|32 -67|68 -67|25 -77|95 -77|32 -77|13 -77|87 -77|57 -77|91 -77|31 -77|19 -77|93 -77|42 -77|64 -77|47 -77|84 -77|25 -77|78 -77|63 -77|73 -77|81 -77|59 -77|66 -77|74 -92|66 -92|95 -92|81 -92|84 -92|13 -92|78 -92|76 -92|75 -92|19 -92|77 -92|87 -92|36 -92|59 -92|63 -92|93 -92|94 -92|31 -92|74 -92|57 -92|68 -92|37 -92|32 -79|67 -79|98 -79|49 -79|82 -79|68 -79|34 -79|75 -79|29 -79|14 -79|89 -79|44 -79|74 -79|22 -79|52 -79|92 -79|46 -79|21 -79|54 -79|85 -79|72 -79|13 -79|38 -79|77 -84|21 -84|82 -84|94 -84|48 -84|59 -84|98 -84|29 -84|47 -84|81 -84|17 -84|89 -84|44 -84|91 -84|37 -84|64 -84|42 -84|85 -84|19 -84|22 -84|73 -84|66 -84|54 -84|63 -84|79 -64|89 -64|17 -64|67 -64|21 -64|44 -64|68 -64|46 -64|82 -64|75 -64|49 -64|76 -64|48 -64|54 -64|14 -64|85 -64|22 -64|98 -64|29 -64|38 -64|34 -64|72 -64|79 -64|92 -64|52 -19|91 -19|94 -19|73 -19|89 -19|29 -19|48 -19|44 -19|64 -19|66 -19|37 -19|98 -19|82 -19|21 -19|59 -19|17 -19|47 -19|49 -19|72 -19|54 -19|79 -19|22 -19|85 -19|34 -19|42 -98|29 -98|74 -98|46 -98|14 -98|34 -98|36 -98|67 -98|44 -98|49 -98|75 -98|38 -98|77 -98|32 -98|78 -98|52 -98|31 -98|57 -98|72 -98|92 -98|76 -98|95 -98|68 -98|25 -98|13 -94|21 -94|85 -94|38 -94|79 -94|73 -94|47 -94|29 -94|72 -94|54 -94|34 -94|17 -94|48 -94|46 -94|44 -94|49 -94|64 -94|42 -94|89 -94|52 -94|91 -94|22 -94|82 -94|67 -94|98 -47|42 -47|98 -47|64 -47|46 -47|48 -47|17 -47|34 -47|52 -47|89 -47|29 -47|67 -47|92 -47|54 -47|44 -47|38 -47|79 -47|22 -47|72 -47|75 -47|49 -47|14 -47|85 -47|21 -47|82 -54|74 -54|52 -54|82 -54|34 -54|68 -54|31 -54|77 -54|21 -54|49 -54|29 -54|75 -54|46 -54|44 -54|72 -54|38 -54|76 -54|13 -54|98 -54|36 -54|89 -54|25 -54|67 -54|14 -54|92 -91|79 -91|22 -91|82 -91|89 -91|54 -91|21 -91|47 -91|44 -91|67 -91|73 -91|34 -91|92 -91|98 -91|49 -91|72 -91|29 -91|85 -91|38 -91|52 -91|48 -91|64 -91|17 -91|42 -91|46 -46|19 -46|75 -46|36 -46|31 -46|57 -46|13 -46|25 -46|84 -46|81 -46|67 -46|52 -46|32 -46|14 -46|68 -46|78 -46|93 -46|74 -46|76 -46|92 -46|77 -46|95 -46|87 -46|63 -46|66 -76|68 -76|36 -76|25 -76|57 -76|87 -76|31 -76|73 -76|19 -76|91 -76|66 -76|81 -76|84 -76|37 -76|32 -76|63 -76|78 -76|95 -76|13 -76|74 -76|77 -76|59 -76|47 -76|94 -76|93 -68|84 -68|91 -68|73 -68|63 -68|95 -68|31 -68|19 -68|59 -68|66 -68|25 -68|36 -68|42 -68|94 -68|93 -68|13 -68|57 -68|37 -68|32 -68|87 -68|47 -68|78 -68|74 -68|81 -68|77 -72|31 -72|36 -72|84 -72|87 -72|63 -72|93 -72|76 -72|46 -72|25 -72|14 -72|77 -72|32 -72|49 -72|95 -72|78 -72|13 -72|57 -72|38 -72|67 -72|68 -72|74 -72|92 -72|52 -72|75 -85|21 -85|92 -85|72 -85|46 -85|54 -85|44 -85|74 -85|13 -85|98 -85|14 -85|76 -85|31 -85|77 -85|22 -85|68 -85|89 -85|34 -85|29 -85|38 -85|75 -85|52 -85|67 -85|82 -85|49 -25|59 -25|48 -25|78 -25|93 -25|95 -25|63 -25|32 -25|94 -25|73 -25|81 -25|85 -25|66 -25|37 -25|22 -25|19 -25|42 -25|79 -25|64 -25|84 -25|17 -25|91 -25|47 -25|87 -25|57 -37|46 -37|44 -37|34 -37|82 -37|59 -37|79 -37|48 -37|94 -37|64 -37|73 -37|91 -37|47 -37|98 -37|38 -37|42 -37|49 -37|89 -37|17 -37|22 -37|85 -37|29 -37|21 -37|72 -37|54 -36|95 -36|85 -36|19 -36|78 -36|32 -36|37 -36|63 -36|57 -36|25 -36|91 -36|87 -36|66 -36|64 -36|17 -36|94 -36|42 -36|48 -36|84 -36|93 -36|73 -36|79 -36|59 -36|47 -36|81 -78|66 -78|19 -78|42 -78|82 -78|21 -78|79 -78|81 -78|37 -78|84 -78|89 -78|94 -78|17 -78|63 -78|91 -78|87 -78|93 -78|54 -78|48 -78|85 -78|22 -78|73 -78|64 -78|59 -78|47 -74|81 -74|84 -74|87 -74|19 -74|36 -74|42 -74|13 -74|59 -74|32 -74|64 -74|66 -74|91 -74|78 -74|94 -74|63 -74|25 -74|95 -74|47 -74|37 -74|57 -74|93 -74|17 -74|73 -74|31 -63|81 -63|64 -63|22 -63|94 -63|37 -63|73 -63|47 -63|44 -63|82 -63|89 -63|66 -63|54 -63|98 -63|21 -63|59 -63|29 -63|79 -63|19 -63|91 -63|17 -63|85 -63|42 -63|34 -63|48 -93|94 -93|54 -93|81 -93|84 -93|98 -93|17 -93|64 -93|85 -93|37 -93|91 -93|89 -93|66 -93|82 -93|63 -93|47 -93|42 -93|22 -93|48 -93|79 -93|19 -93|73 -93|59 -93|21 -93|44 -81|64 -81|48 -81|21 -81|79 -81|89 -81|44 -81|17 -81|98 -81|72 -81|34 -81|22 -81|59 -81|94 -81|37 -81|42 -81|91 -81|54 -81|73 -81|29 -81|19 -81|85 -81|66 -81|47 -81|82 -17|34 -17|38 -17|85 -17|46 -17|22 -17|79 -17|89 -17|29 -17|98 -17|14 -17|82 -17|75 -17|49 -17|76 -17|44 -17|68 -17|77 -17|67 -17|54 -17|48 -17|92 -17|72 -17|21 -17|52 -38|63 -38|31 -38|32 -38|92 -38|95 -38|81 -38|84 -38|68 -38|87 -38|67 -38|46 -38|19 -38|52 -38|13 -38|93 -38|75 -38|76 -38|74 -38|25 -38|36 -38|77 -38|78 -38|57 -38|14 -29|49 -29|68 -29|25 -29|77 -29|57 -29|52 -29|92 -29|95 -29|76 -29|14 -29|38 -29|75 -29|74 -29|72 -29|13 -29|32 -29|93 -29|31 -29|36 -29|78 -29|46 -29|67 -29|34 -29|87 -49|31 -49|74 -49|57 -49|63 -49|93 -49|75 -49|68 -49|38 -49|67 -49|46 -49|52 -49|36 -49|77 -49|81 -49|84 -49|76 -49|25 -49|14 -49|32 -49|92 -49|78 -49|95 -49|13 -49|87 -44|72 -44|67 -44|75 -44|52 -44|25 -44|32 -44|14 -44|57 -44|78 -44|34 -44|76 -44|95 -44|77 -44|92 -44|74 -44|87 -44|36 -44|29 -44|49 -44|38 -44|13 -44|31 -44|46 -44|68 -66|79 -66|94 -66|98 -66|21 -66|48 -66|37 -66|49 -66|85 -66|38 -66|91 -66|73 -66|89 -66|29 -66|59 -66|64 -66|82 -66|54 -66|17 -66|42 -66|72 -66|34 -66|47 -66|22 -14|74 -14|32 -14|57 -14|93 -14|59 -14|76 -14|19 -14|36 -14|77 -14|68 -14|95 -14|25 -14|91 -14|66 -14|87 -14|94 -14|78 -14|75 -14|13 -14|37 -14|31 -14|84 -95|19 -95|87 -95|91 -95|82 -95|94 -95|78 -95|42 -95|93 -95|54 -95|37 -95|21 -95|59 -95|84 -95|66 -95|85 -95|64 -95|79 -95|63 -95|73 -95|48 -95|22 -31|32 -31|64 -31|91 -31|73 -31|59 -31|63 -31|81 -31|37 -31|93 -31|57 -31|94 -31|36 -31|95 -31|84 -31|19 -31|48 -31|25 -31|47 -31|17 -31|42 -32|78 -32|93 -32|94 -32|48 -32|84 -32|91 -32|37 -32|17 -32|73 -32|54 -32|85 -32|95 -32|64 -32|22 -32|63 -32|59 -32|81 -32|79 -32|87 -13|63 -13|94 -13|47 -13|32 -13|48 -13|25 -13|66 -13|78 -13|36 -13|42 -13|57 -13|17 -13|93 -13|91 -13|87 -13|84 -13|73 -13|59 -52|75 -52|19 -52|14 -52|13 -52|76 -52|95 -52|68 -52|74 -52|25 -52|32 -52|57 -52|63 -52|93 -52|92 -52|78 -52|77 -52|31 -21|52 -21|34 -21|44 -21|74 -21|14 -21|29 -21|46 -21|75 -21|89 -21|32 -21|49 -21|92 -21|13 -21|31 -21|38 -21|98 -34|75 -34|92 -34|76 -34|67 -34|14 -34|68 -34|46 -34|77 -34|38 -34|13 -34|87 -34|25 -34|78 -34|57 -34|72 -48|82 -48|72 -48|68 -48|79 -48|75 -48|77 -48|74 -48|22 -48|67 -48|21 -48|46 -48|92 -48|98 -48|52 -75|84 -75|95 -75|78 -75|87 -75|81 -75|32 -75|77 -75|37 -75|76 -75|91 -75|25 -75|36 -75|94 -59|48 -59|91 -59|54 -59|46 -59|22 -59|49 -59|73 -59|21 -59|34 -59|38 -59|85 -59|82 -57|17 -57|78 -57|95 -57|85 -57|84 -57|79 -57|19 -57|22 -57|63 -57|73 -57|59 -87|59 -87|63 -87|21 -87|91 -87|98 -87|47 -87|93 -87|81 -87|54 -87|85 -73|42 -73|38 -73|89 -73|85 -73|21 -73|14 -73|34 -73|46 -73|48 -89|57 -89|67 -89|31 -89|46 -89|29 -89|77 -89|32 -89|76 -42|48 -42|52 -42|98 -42|34 -42|82 -42|44 -42|85 -22|38 -22|75 -22|52 -22|98 -22|89 -22|46 -82|25 -82|75 -82|68 -82|67 -82|38 -67|93 -67|74 -67|92 -67|14 -77|36 -77|37 -77|94 -92|25 -92|14 -79|76 - -93,36,64,57,94,66,13,32,37,78,73,19,25,84,17,31,87,47,42,59,81,91,95 -31,14,72,52,46,38,49,76,74,22,98,68,29,75,89,21,77 -21,25,67,34,75,29,52 -34,72,85,91,42,29,82,98,19,79,44,47,89 -42,17,79,85,54,21,89,98,34,72,38,92,75 -74,13,31,36,25,63,37,59,64 -95,92,75,77,46 -36,78,84,81,66,59,91,47,64 -54,82,29,49,38 -73,42,64,17,48,79,85,82,98,29,72,49,52,67,92 -32,79,37,84,59,64,22,66,57,78,93,85,42,95,17 -82,89,98,44,29,34,49,38,52,92,76,13,32 -95,78,93,84,81,19,94,73,47,64,17,48,21 -36,25,32,78,87,93,84,63,81,66,59,94,91,47,42,64,17,48,79 -44,29,49,46,92,76,77,74,13,25,32 -48,85,22,89,44,29,34,46,52,92,14,75,77 -44,54,19,73,22,59,91,82,48,17,79,85,42,66,47,94,21,98,89,81,29,64,63 -36,57,87,93,63,19,66,59,94,91,73,47,42,64,17,48,79 -74,36,78,13,95,67,49,31,25,92,32 -64,92,73,72,22,79,44,21,89,52,49,48,85,54,38,98,82,47,17,29,34,42,46 -36,34,31,74,77,49,52,68,76,72,46,82,92,98,67,21,89,54,29 -46,92,14,75,76,77,13,31,25,32,57,95,87,63,19 -77,74,31,36,25,32,57,95,93,63,81,66,37,59,94,91,42 -47,85,22,54,21,89,44,29,52,67,14 -48,22,54,21,89,98,44,72,46,52,67,92,76,68,77 -37,42,64,22,29,34,38 -19,17,93,81,87,21,85,48,37,91,59,47,66,94,22,54,42,64,84 -68,29,34,98,75,79,72,82,85,44,52,77,48 -72,38,52,14,77,74,57,93,84 -29,72,49,46,52,14,13,36,57 -54,85,34,72,67,76,17,75,82,21,46,49,14,89,44,22,68,79,52,38,29 -81,19,37,59,94,91,73,47,48,85,22,54,21,89,44,29,34 -77,13,87,49,29,46,25 -84,94,37,95,75,68,66,59,25,76,74,19,31 -22,82,29,14,77,74,31 -19,42,57,95,94,63,84,47,78,85,93,79,17,73,87 -76,21,44,31,75,68,34,29,52,67,82,46,38,72,74 -75,14,57,74,95 -72,87,76,46,14,38,84 -94,95,85,84,32,87,17,47,22,19,93,48,59,63,57,79,78,91,37 -34,64,49,72,44,89,17,21,79,66,94,37,47,22,85,98,29,54,59,91,48,82,73 -37,63,36,13,93,14,25,68,76,31,81,87,78 -44,82,46,89,67,92,22,73,17 -68,31,57,78,66,91,47 -44,29,34,52,92,68,74,13,36,25,32,57,78 -54,34,72,44,31,13,21,22,75 -25,57,93,19,37,17,85 -54,82,42,59,93,21,79,22,19,78,91,17,66,85,47 -77,31,36,25,32,57,95,78,87,63,81,66,37,59,91,47,42 -52,94,17,82,29,85,79,49,47,64,73,91,72,22,48,21,34,38,89,54,42 -76,77,98,72,34,92,95 -14,63,49,32,68,57,78 -89,98,29,38,46,52,67,31,36,32,57 -98,29,34,72,49,38,52,92,14,76,68,74,13,25,95 -48,22,66,84,73,21,54,89,93,85,59,91,82,98,79,42,19,94,17,63,37 -87,54,89,85,66,47,91 -66,59,94,91,42,22,89,44,29,72,49 -63,81,19,37,59,94,91,73,47,42,64,79,85,22,21,98,29 -82,38,29,54,44,89,75,67,42,85,52,48,64,21,92,72,46,98,49,17,34 -57,94,81,87,37,42,36,84,19,63,48,95,17,64,32,66,73,91,93 -82,44,72,49,38,75,76,68,13,36,32 -67,92,75,76,68,74,13,31,32,57,95,78,87,93,63,81,19,66,37 -92,14,75,76,74,13,36,25,32,57,95,78,87,93,84,63,81,19,66,37,59 -72,59,42,37,38,48,64,34,21,29,17 -25,46,31,95,87,76,75,32,74,67,29,36,13,49,72,14,52 -36,81,63,77,74,57,42,95,87,78,94,73,19,91,31,59,84 -78,87,81,73,42,64,48,79,82 -17,48,79,85,22,54,82,89,98,44,34,72,49,67,75,76,68 -46,52,67,92,14,75,76,68,77,74,13,31,36,32,57,95,78,87,93,84,63,81,19 -93,84,63,81,19,66,37,59,94,91,73,47,42,64,17,48,79,22,54,21,82,89,98 -21,34,29,89,67,48,75,79,85,98,54,64,76,14,44,82,22 -94,81,42,22,21,84,66,85,98,59,44 -66,63,93,77,57,84,78,31,13,74,81,14,76,25,19,95,37,32,75,36,59,87,92 -94,47,64,17,48,79,85,21,82,89,98,29,34,72,49,46,52 -52,67,92,14,75,77,31,32,57,63,66 -38,67,31,68,46,44,29,98,74,92,72,34,36,49,75,77,32,52,82 -92,14,75,68,77,13,25,32,78,87,93,84,19,66,59 -22,37,54,21,42,63,78,91,93,19,66,87,47 -31,36,25,32,57,95,93,19,73,47,48 -91,94,17,79,21,73,29,72,59,34,46 -75,98,92,76,25,46,89,44,31,13,14,29,38,21,34,74,82,72,68,77,67 -95,78,87,81,66,37,94,47,42,17,48,79,21 -59,72,42,85,73,29,79,17,49,54,82 -59,42,48,79,85 -81,13,77,78,31,68,74,59,25,84,92,76,66,14,19,57,37 -76,81,78,36,59,73,13,87,57 -34,49,38,46,52,67,92,14,75,76,68,77,74,13,31,36,25,32,57,95,78,87,93 -89,92,38,98,13,52,76,77,57,74,75,36,32,25,72 -81,37,94,42,48,79,85,22,54 -25,32,57,78,93,84,81,19,66,37,59,94,91,73,47,42,64,17,48,79,85 -48,79,85,22,54,21,82,89,98,44,29,34,72,49,38,46,52,67,92,14,75,68,77 -98,47,17,29,54,82,89,19,91,73,66,48,94,79,64,72,21,34,59 -31,13,54,98,74,49,36 -54,21,82,72,42,47,91,89,49,66,94,64,17,85,22,48,59,98,29,73,79 -94,98,59,42,91,48,17,82,37,38,72,49,54 -81,19,37,47,79,85,89,44,34 -84,37,91,63,59 -46,67,92,68,77,31,36,25,57,87,93,84,63,81,19 -73,63,85,82,91,81,44,66,94,98,79,54,89,42,19,47,29,17,21,48,59 -76,81,68,74,93,19,37,32,94,13,14,87,36,78,95,25,75 -72,49,38,46,67,92,14,75,76,68,77,74,13,31,36,25,32,57,95,78,87,93,84 -66,37,59,94,17,21,44,29,49 -32,19,87,47,81,37,73,57,48,64,36,91,63,31,84 -14,34,95,76,87,57,36 -52,67,92,14,75,76,68,77,74,13,31,36,32,57,95,78,87,93,84,63,81,19,66 -59,54,85,64,84,63,66,91,93,37,47,95,17 -44,29,34,72,49,38,67,92,14,76,68,77,74,31,36,25,32,57,78 -72,67,46,52,95,87,74,76,75,13,25,38,34,78,77 -82,91,64,29,47,48,37,63,79,85,19,81,89,44,98,17,54 -36,72,34,32,75,77,92,25,52 -42,47,91,81,57,37,32,94,77,19,66,36,84,13,93,95,59,78,25 -19,66,94,73,47,82,89,34,72 -66,48,37,57,42 -74,31,25,57,95,78,87,93,63,66,37,59,94,91,73,47,64 -92,76,77,31,36,57,84,63,59 -29,49,14,68,77,13,31,57,87 -19,37,67,63,66,81,25,32,31 -98,44,29,34,72,38,52,67,92,14,75,68,77,74,13,25,32,57,95 -17,85,22,21,89,44,72,38,46,52,92,14,68 -42,82,22,67,72,29,14,47,52 -57,73,59,81,36,77,25,95,63,78,84,37,31,66,74,47,91,93,32,42,94 -85,54,89,44,34,46,75,74,13 -13,36,25,32,19,73,17 -36,25,32,57,95,78,87,93,63,81,19,66,37,59,94,91,73,47,42,64,17,48,79 -22,54,89,44,29,72,49,46,52,67,92,76,77,74,31 -93,84,59,73,47,42,64,85,82 -13,31,36,32,78,87,93,19,37,94,91,47,42,64,17 -79,85,22,54,21,82,89,98,44,29,34,72,49,38,46,52,67,92,14,75,76,68,77 -54,44,72,22,68,48,52,29,77 -38,52,67,14,76,77,74,25,32,57,95,87,81 -63,98,89,21,84,44,91,19,94,22,17,82,79,64,42,54,47 -14,49,54,67,72,85,82,29,68,21,98,38,52,44,79,34,74,76,77,46,92,22,89 -59,19,29,72,79,89,44,37,21,17,73 -19,66,94,91,42,79,85,22,54,89,98,29,34 -73,47,64,17,79,85,21,89,98,44,29,34,72,49,38,46,52,67,92 -72,38,14,32,57,95,84 -44,21,14,77,49,98,25,74,72 -34,47,46,48,82,14,52,72,29,38,54,44,49 -89,98,29,49,38,67,14,68,31 -17,42,22,85,73,38,79,92,47 -25,87,19,66,37,91,42,64,17,79,85 -52,67,92,76,77,74,13,25,32,95,78,87,84,19,66 -93,63,94,47,42,64,48,85,22,82,98 -13,31,36,25,57,95,78,87,93,84,63,81,66,37,59,91,73,42,17 -78,84,63,81,19,66,37,59,91,73,47,64,17,48,79,54,82 -81,19,66,92,77,76,75,67,93,57,74,84,14,87,95,13,25,68,32,36,52,63,31 -74,13,31,36,25,32,57,78,87,84,63,81,19,37,59,94,91,73,47,42,64 -75,93,78,92,34,95,87,49,13 -42,64,17,48,85,22,54,21,82,89,98,44,29,34,67,92,75 -91,98,21,47,89,94,22,81,79,73,63,29,66 -68,77,13,31,36,25,32,57,95,87,93,84,63,81,19,66,37,94,91,73,47 -47,64,17,48,44,38,46 -93,68,75,67,63,92,14,37,77,74,81,13,57,95,76 -87,66,19,63,84 -19,94,76,66,78,93,63,68,74,37,14 -42,47,59,32,37,78,57,31,63,87,84,48,91,66,81,25,64,19,95,17,93 -68,76,13,14,78,95,52,72,25 -36,67,82,52,29,68,21,89,49 -75,76,68,77,74,13,31,36,25,78,87,93,84,63,81,59,91 -82,89,98,44,29,34,72,38,46,52,67,92,14,75,76,68,77,74,13,31,36,25,32 -76,68,74,31,36,25,32,57,87,84,63,81,59,91,73 -77,95,81,25,31,78,32,46,93,63,19,87,52 -57,95,78,87,93,84,63,19,66,59,91,73,42,64,48,79,54 -95,78,87,81,19,66,47,42,64,17,79,85,22 -72,34,73,54,98,79,17,47,49,94,44,89,42,85,48,91,82,22,29,64,59 -44,78,38,76,46,14,57,29,72,31,49,77,25,52,92,13,95,36,67,68,32,75,34 -91,48,22,89,47,64,82,73,21,34,85,44,42,54,59,38,72 -57,31,87,75,13,67,32,77,37,66,93 -67,92,14,76,77,74,13,31,36,25,32,57,95,78,87,93,63,81,19,66,37 -66,77,31,74,37,84,59,95,68,19,87,73,36,63,57,78,93,47,32 -52,76,68,36,32,95,87,81,66 -48,52,82,89,67,34,72,44,73,17,64,21,22,85,79,49,91,98,46 -85,59,22,46,89,72,29,44,47,17,42,48,64,38,94,34,54 -36,25,57,95,78,87,93,84,63,81,19,37,59,94,91,73,47,42,64,17,79 -31,32,57,95,87,84,63,59,94,73,47,42,64,17,48 -59,44,22,85,47,42,81,17,66,94,21,91,48,29,19,54,82 -13,14,72,25,75,21,34,38,52,74,76,92,68,89,46,36,77,29,67 -64,17,79,22,54,89,98,44,34,72,38,46,52,67,92,75,76 -49,42,85,29,98,94,79,47,38,54,22,46,89,34,21,44,64,82,59,48,72,73,91 -79,21,98,29,34,49,38,46,52,67,92,14,76,68,77 -38,46,67,92,14,76,68,74,31,36,25,32,57,95,78,93,84,63,81 -91,47,42,64,17,79,85,22,54,21,89,98,29,34,72,49,38,46,67 -81,76,59,87,84,66,32,78,95,63,74,25,75,14,94,19,31,36,77,57,68,93,37 -54,22,59,37,95,57,17,19,64,42,84,66,91,93,81,78,47,79,87,94,48,63,73 -87,59,64,54,21,82,89 -72,49,46,52,67,92,75,76,25,57,95,93,84 -46,75,74,25,32,57,63 -89,94,21,98,17,54,22,91,44,49,79,82,48,66,34,47,72 -63,36,73,47,25,19,68,59,37,94,87,91,66,32,57 -52,66,87,19,68,95,13 -13,81,77,75,68,76,92,37,84,67,63 -98,38,68,92,74,77,29,34,85,75,82,72,44,46,21,13,89,67,22,52,14 -49,89,14,76,29,68,75,92,32,98,74,82,72 -84,36,57,37,94,25,76,68,32,59,81,87,75,77,95 -57,95,93,84,19,37,94,91,48 -95,78,13,93,68,81,31,36,77 -78,66,25,36,64,37,91,73,32,84,48,42,79,81,57,47,95 -85,22,54,72,38,52,67,14,13 -17,79,82,98,44,29,68 -46,44,42,17,98,94,54,72,48,22,79,73,29,47,91,59,21,82,34,64,49,85,89 -91,73,47,64,17,48,79,22,21,98,29,34,72,38,46,52,67 -75,76,74,36,32,57,78,93,84,63,81,66,37,59,94 -89,85,17,48,67,82,72,49,29 -75,74,87,93,19,94,91 -13,32,87,93,81,91,73,42,17 -37,64,85,54,82,72,38 -68,31,57,95,87,63,81,66,47 -77,81,87,38,63,13,74,67,14,31,46,32,36,92,93,68,76,57,52,78,75 -57,95,78,87,93,84,63,81,19,66,37,59,94,91,73,47,42,64,48,79,85,22,54 -63,81,66,37,59,94,91,73,47,64,48,79,85,22,54,21,82,89,98,44,29 -38,34,32,68,36,13,89,31,76,72,74,92,29,75,57 -64,82,89,34,44,38,54,98,47 -25,74,31,75,78,37,68,32,84,36,59,87,92,19,93,81,63,57,77,76,66 -37,93,95,87,19,79,17,42,85,32,22 -13,67,75,76,31,57,14,38,72,49,98,44,29,34,25,46,74,32,77,89,68,36,52 -81,47,79,63,54,42,87,17,37,59,66,64,93,85,82,73,91,19,84,21,48,94,22 -49,38,46,52,67,92,75,76,68,74,13,31,36,25,32,57,95,78,87,84,63 diff --git a/2024/tcl/input.06.txt b/2024/tcl/input.06.txt deleted file mode 100644 index 0cfd1af..0000000 --- a/2024/tcl/input.06.txt +++ /dev/null @@ -1,130 +0,0 @@ -.............#........................................................#...#...........................................#........... -.....#...............................#.........................................#...#...............#........##...............#.#.. -..................................#..................#.......................................#...#................................ -.........................................#................#....#..............................................#................#.# -........#.........................................................#...........#.......#..............................#............ -........................#.............................#.......................#.......#.......................#........#.........# -................................#.......#............................................#...........................................# -...........#........#...#..#...........................#..................#.............#.......#..........................#...... -............................................#........#.......#..#......#..............................#..#................##...... -............#..#...#......#.........................................##.......#..........#.......#...................#............. -.....................................................................................#.....#...................................... -.......................................................#................#.....................................#................... -...........#.....#.#....................................#.......#.#...........#................#.......#.................#........ -............#.............#....................#....#............................#.........................................#...... -.#..........#......#................#........................#............#..#..............#..................................... -..................#....#...........................................#.....#.....#.........................................#.#...... -.............#..............#..#...........................#..#..........#...............................#........................ -.................................................................................................#................................ -.......................................................#..............#..............................................#..#......... -......#............................#.......................#................................................................#..... -..........#.........#..................#....#....#...#......#.........#.................................#........................# -..#...#............................#............#.......###.................................#.............................#...#... -.................#....#...................#........................................................................#..........#... -....#..........................#......................................................................#.....#......#.............. -.#........................................................................#..........#............#..................#............ -...................##.#.......................#....#.#........................................#.........##........................ -#...........................................................#..........#........#.#..................................#............ -.......#...#.........................................#.......#........#...............##..#....................................... -......................#....#...............................#......................................................#..#............ -......#.....................................................#...............................#......................#..#........... -.........................#.#...................................................................................................... -.......................................#...............#...................#................#..........#.#......................#. -.......#......#...#...........................#.........................#...............#..#...............#.............##....... -.....#..#..#..................#............#......................................................#...#.........................#. -#.#...............#...........#................#...................................................#..........#................... -..........................................................................#...............................................#....... -.........#.......#..........................#.##.............................#..##...#.......................................#.... -....#...............#..........#........................................#.....#.........................................#......... -...........#................................................#....##...................................................#..#........ -........................#........#...........#...#............................................#......................##........... -......#........................................#...#.............................................#................................ -#.....#......#..................................#.............#..#...............................#................................ -..................#......................#..........#...................#............................................#....#....... -.................#.............................................................................#.......#.......................... -......#........................................................................................#...#....................#......... -....#......................#..................##..................#.......#.......................#...........#.........#..#...... -............................................................#......##.............................#.#.....#............#.......... -..............#.......................#...^.....................................#.....................................#........... -..............#...##......#..#.....#..........................................................................#.......#.........#. -.#................................................................#........##......#....#.......#................................. -....#.....................#........#...........#.............................................#........#................#......#..# -...................#.............#.........#.........................#...........#..................#...................#....#.... -.#...............................................#.....#..#...#................................................................... -........................##............#.....................................#........#..................................#......... -..............#................................#.....................................#...................................#........ -...........#..........#...........#........#...................#..#..........................#.................................... -.#..............................................................#....#.......#.....................................#.............. -.....................#........#......#................#.............#........................#.......................#........#... -.........................#..............#...#....#..................#............................................................. -..#............................##.........................................................#...........................#.#..#...... -.....#............#...##........#..........#....#......#................................#.................#...............#....#.. -.....#...............#.............................#............#......#....#........................................#............ -...#..........#.........#.....................##.......#.....#...................#................................................ -.................................#...........................................#.................#...........................#...... -..........................................................#........................#.......#.................................#...# -..#......#......................................#...#..#....................#...........#....#.............................#...... -..#........#.............#......................#...#.....#....#........................#..#...................................... -.........#...........#.......................................................................#.........#....#...#................. -..................................#....#.............##....#.......#.........#.........................................#.......... -....#.................................................#.......#...........#.......................................##.....#........ -..............................#.........................................................#.....#........................#.......... -...#........#...........#..#..................................................#..............#.............................#...... -................................................#...............................................................#.....#..#.....#.. -...............#.........................#..#...................#....................................#................#........... -............................#...........................................................................................#......... -.....#.........................#.......#..#..##.............................#................##.......##............#............. -.........#........................................................................................................................ -.........................#............................#........................#.....#..........#.....................#...#..#.... -.......#........#..............................#..........................#...#.................#............#.................... -#...#..#...............................#..........................................#...#...#.........................#............. -...........................................................#..............#..........#..................#......................... -...........................................................#..............................................................#....#.. -...........#.......................#................#......#.....................................#..................#.....#....... -.....#.................................#........................#.#...................#.....#............#........................ -...........................#.#............#..............#..............#..#...#..........................#................#...... -.........#...................#........................#......#..#..................................................#.............. -.............................................#.................................................................#.......#.......#.. -#.......................#...............#.......................#...........#................................#.................... -......................................#............#....................................................##...................#.... -#...............#...........................................#......#....................................#...............#......... -...#...............#.................................#..................................#..#............#......................... -......................#..#............#..#..............................................#......#....#...............#............. -..................#.....................#.....#...................#..#................#....#..........#......#..........#......... -.......................#.....#..............#..........................#............#...................#.#....................... -......#...........#..............#........#........................................#......................................#....... -............#................#..##....................................................................#........................#.. -...........#....................................#.............................#.....#....#...#.#......................#........... -...................................................#...............................#....................#.........#............... -........#......#..#................#..................................................................#.................#......... -.............................#................................................#...........#.....#....#............................ -........#.............#.........#............#....#.....................#........#...............#................................ -..#................................#................................#..#......#.............................................#..... -.........#...........................................#..................................#....#..#.....................#........... -.....................................................#.........................................................#.................. -.........#...#.#.....#.......##................................#...#..........................#........#.......................... -......................##...............................#.......................................................................... -.........#...#.....#........................................#................#........#............#........#..................... -...............#............#.................................................................#................................#.. -......#..............#...................................................#............#.....................#..................... -.........#.........#.............................................................................................................. -.#........#...............#..##......#..............................#...........#..#.........#...........................#........ -...................#................................................................................#...............#............. -..............................................................................#........................#................#......... -...........#.....#..#.#....................................................#......#......#..#................##................... -....#......#...................................................................#..............#.....#.........#..................# -..#...........#...#...........#.......##..........##......................#......................................................# -..................#................................................#.#............................................................ -#................................................................#............#...##..........................................#... -......#............................................#.......#.#.................................................#.................. -..............................#..............#.#....#............#..........................#..................................... -............................#..................................#.................#..#...........................................#. -.........................................#................#..................#...#............................#..#......#........# -....................#..............................................................#..............................#..........##... -...#......................................#...........#..#............................................#.....#....#................ -................#..#....#......................................................................................................... -...................................#...................#...............................#................................#.......#. -..........#.................#.............#..................#...............................................................#.... -.....#...........#........#................#.........................................#..........................#......##......... -..........................#................#..............................................................#....................... -........#.................................................................#......................#.#..........................#... diff --git a/2024/tcl/input.07.txt b/2024/tcl/input.07.txt deleted file mode 100644 index 19ed730..0000000 --- a/2024/tcl/input.07.txt +++ /dev/null @@ -1,850 +0,0 @@ -194558: 2 6 664 40 874 40 7 -127536599: 49 4 21 65 99 -26009943184: 6 6 83 31 25 72 5 4 39 4 -250121527725: 8 8 1 32 907 4 7 7 2 4 7 4 -5493508: 3 893 785 38 86 -161265973705: 3 9 827 19 380 94 50 4 -4735417467: 61 728 59 433 177 -909846124: 2 8 843 3 3 17 37 6 124 -198029: 769 307 904 1 29 -901816: 80 819 2 731 88 -946927645: 7 97 6 461 6 33 344 23 -2582705613: 2 5 2 9 1 9 992 41 1 8 9 3 -24881687: 8 261 1 6 26 5 826 83 4 -511149612: 38 13 1 149 612 -54898116619876: 859 9 2 9 291 71 987 6 -55844: 6 310 30 44 -252947: 2 3 82 514 1 59 -22739623: 7 2 3 1 992 849 5 1 1 1 -73154904: 320 193 62 48 23 -2286886554: 535 69 7 74 7 7 31 27 -542670: 97 82 1 9 81 6 534 5 -115202021757: 858 2 944 790 18 -29019948080: 6 1 494 4 6 7 6 8 97 6 40 -228355615: 6 2 4 93 102 3 8 5 609 6 -820: 51 8 274 94 2 3 39 -1416461924: 35 3 496 809 4 -84121042752: 973 62 27 3 39 6 27 8 4 -1871396: 4 6 196 588 9 4 -19587620: 6 115 8 1 2 7 8 86 4 6 3 6 -10470432342: 726 5 6 6 8 5 12 8 2 4 3 8 -1798582066: 8 42 8 98 52 78 5 506 6 -91357812180: 7 2 7 186 578 121 80 -5793402260: 9 6 602 142 1 5 113 20 -1651110912: 9 4 6 94 6 6 9 3 88 89 4 -50185405: 3 2 2 2 8 8 1 21 44 3 7 8 -282464694: 1 9 614 4 6 3 4 1 9 3 324 -3102553: 251 9 583 55 3 -4157153115552: 4 730 58 90 7 947 288 -245934: 8 10 8 9 7 933 3 -631132: 8 49 573 462 673 -91096: 8 45 6 630 23 6 -219915564: 895 13 656 79 7 242 -60397606: 4 4 6 9 326 4 5 28 63 9 1 -94631: 43 22 31 -396843552: 78 7 8 94 31 65 1 8 61 3 -133007016751: 826 213 876 863 7 -341510: 28 76 9 415 4 42 6 8 42 -8537072: 706 6 492 44 7 6 5 976 -49336: 332 84 59 2 248 -99225319: 59 5 309 336 974 521 -314206: 91 2 2 863 74 -696348: 841 69 3 4 1 -53703: 71 335 631 8 1 7 17 3 -301330900: 595 4 164 5 772 -4218324: 936 345 9 545 4 6 -28857538: 28 403 454 121 417 -39920709: 8 97 179 7 17 53 5 203 -17958912: 8 43 2 9 5 53 47 9 4 6 3 6 -93614691785: 67 755 17 5 361 37 5 -1747635: 670 8 629 5 650 1 263 -315550: 301 9 63 72 91 59 -13819: 3 855 8 2 2 87 -746659: 7 514 914 1 8 1 6 65 4 -16269: 9 71 8 8 7 1 2 182 8 6 5 3 -1148007: 8 4 318 328 9 -6313: 7 665 9 99 166 -35955356: 666 772 5 5 5 347 9 -8088777769: 6 6 3 2 6 442 1 4 6 7 8 9 -67700160: 7 240 5 374 411 3 40 2 -3324: 4 244 7 32 358 178 8 4 -112224: 2 7 654 7 24 -2064271306: 616 2 335 9 68 338 -334602: 8 697 6 1 4 38 -28180072: 5 6 18 2 4 7 34 2 7 5 75 2 -45865818: 917 2 8 2 5 8 30 4 5 429 -1427910715: 81 4 1 2 57 1 73 1 439 -14101338935: 31 98 9 860 5 1 778 7 5 -2513920830: 2 137 1 9 9 38 9 208 2 9 -41654011: 83 2 22 86 5 11 -12444729: 12 118 5 422 992 1 89 -1690796: 9 71 3 3 294 -979542634: 3 26 5 3 1 426 34 -350857: 837 34 402 6 709 -6460006: 5 58 4 994 97 -1142179697677: 8 767 154 29 599 33 7 -2857698: 23 9 58 98 54 3 6 -12929728: 5 334 5 2 387 58 -45864: 475 697 4 39 -17839: 2 5 5 98 5 39 -1192516584039: 9 66 478 40 3 9 70 6 4 1 -3960792: 49 50 95 4 8 -3168957792: 6 176 7 673 637 -1633567788: 408 5 8 867 230 267 4 -20484122: 870 218 12 9 842 -359372136: 44 9 5 8 3 8 5 7 653 9 9 3 -87365659: 6 8 3 1 143 2 2 4 5 11 5 9 -966115: 4 4 7 2 863 8 6 1 113 2 -2811977: 1 9 80 6 1 8 4 54 1 65 4 8 -24013292: 744 5 48 5 8 2 637 940 -6460261: 40 61 6 67 6 5 3 9 2 -3495387174: 753 8 8 3 219 3 7 7 1 6 1 -51810186372: 781 2 823 6 1 86 2 9 8 2 -217580: 787 16 4 2 3 98 5 1 44 -39456720: 361 444 226 3 49 502 -905124433: 434 471 124 43 1 -6576876002: 9 7 732 3 5 766 16 45 2 -1963126: 99 31 6 2 638 -1266080275: 8 9 314 8 82 5 191 83 -153864480: 30 102 1 5 7 181 184 -38532375521: 2 92 6 87 32 372 3 521 -37401: 1 3 3 133 4 446 3 4 8 9 6 -5360171: 337 1 3 2 28 7 6 80 727 -85271: 11 76 7 9 71 -1575033: 54 81 1 360 2 391 -528186760: 27 799 3 19 60 -19697: 120 1 395 38 6 3 118 -22753653: 418 2 42 6 7 6 8 9 6 2 3 3 -41407327531: 29 193 6 2 62 3 7 5 3 1 -1712838837: 28 547 3 6 837 -528793: 4 770 13 504 90 -12327567953: 9 3 4 91 9 4 32 7 788 7 3 -261635970: 987 965 502 6 267 -102576: 2 3 482 7 6 5 91 5 -33741910866: 9 50 4 7 702 989 33 2 -48987981277: 5 56 1 585 2 89 1 74 9 7 -217696: 166 311 9 1 447 7 -69372864552: 965 8 2 9 6 3 1 6 5 2 6 79 -13713662815: 904 928 7 705 467 5 -9450002: 5 43 433 5 89 959 7 9 -106661489: 9 653 9 41 963 1 492 -41544: 4 6 1 6 9 -424930: 424 928 2 -836885854509: 7 61 2 97 88 585 4 50 7 -276397099569: 6 90 99 27 489 4 9 -8389707840: 19 5 5 1 963 7 3 6 240 -1311240: 97 8 1 2 7 2 420 -11910: 234 60 3 5 4 6 4 -12163840: 35 4 24 1 1 3 7 1 2 5 64 -1041844064: 787 75 3 32 1 8 46 818 -3670018: 9 7 1 21 257 40 58 -62316: 72 917 450 2 584 3 3 2 -3315060: 31 4 9 88 6 443 4 35 4 -321250943782: 6 87 4 9 8 1 9 5 1 2 949 2 -1410596320: 9 17 218 1 7 6 3 8 7 7 8 1 -70412251: 400 3 64 7 13 6 5 1 90 -188560348: 177 2 822 648 116 8 -16477580: 8 2 71 56 6 29 368 6 2 -8613: 3 7 71 6 3 33 -13922328: 828 7 1 3 56 -55602893520: 544 4 56 78 5 65 40 6 3 -16660258566: 8 8 6 2 6 3 9 8 4 3 641 -10450080: 2 36 6 65 78 9 5 354 2 5 -750311520: 550 9 7 4 2 7 73 2 2 46 7 -559642: 1 86 300 164 2 -9370369726: 98 2 8 886 3 117 5 4 7 -56385: 99 4 2 537 -3586445: 5 7 3 988 242 5 -22802009: 56 98 74 8 2 2 57 780 2 -1339248: 873 59 26 6 1 56 -1309905070: 925 53 2 25 744 4 4 9 -625303: 8 9 7 4 5 31 7 3 9 44 6 7 -70044: 1 1 26 898 3 -3871: 7 19 9 3 68 -71230992: 772 56 1 922 38 -264685: 42 63 5 2 7 5 -2223: 370 74 159 8 3 8 382 -21742264: 771 705 1 6 4 -102401: 6 626 9 3 9 3 2 7 2 8 958 -6084806902304: 784 8 99 679 89 76 97 -9090: 8 9 4 8 86 4 55 4 314 9 -13685898: 68 2 782 76 98 -129444037960: 878 732 804 371 8 59 -376605: 99 3 97 9 5 7 6 495 -566681: 367 792 8 61 653 436 -99712: 3 776 128 -429: 6 6 17 60 3 -34883897: 38 9 70 461 23 2 7 8 8 2 -2279769: 8 346 322 2 9 -3845250: 4 1 6 21 7 7 2 708 75 2 5 -170445: 9 68 69 5 339 31 950 5 -2789204: 4 734 95 2 -2280711039: 8 95 2 1 8 1 9 5 45 6 3 9 -41412584: 54 33 476 579 5 -72694487724: 1 875 73 659 575 8 3 -3021552: 9 182 478 905 552 -2962182: 1 6 482 14 57 8 6 -109122351: 544 4 12 116 1 7 2 9 4 -11262: 11 26 3 -14319625: 2 4 596 6 8 5 4 78 4 8 7 -99052425: 99 3 32 766 1 1 965 -616079365: 64 8 676 5 4 1 89 4 1 -9952486: 7 4 8 6 376 2 6 5 9 5 7 61 -794397365918: 78 138 2 383 9 369 8 -2742: 73 21 714 1 494 -6174: 87 224 32 3 6 -7426557: 9 5 565 73 10 596 8 4 1 -1256: 32 9 7 2 6 7 2 1 3 1 9 638 -31469: 3 1 4 66 3 -88: 5 1 76 6 -390349: 43 331 9 99 3 270 -41380442: 55 930 809 44 48 -17304255028: 93 79 9 41 50 28 -302: 61 23 165 42 3 8 -17421399: 1 5 2 990 2 58 9 717 9 9 -76944407761: 248 6 455 6 2 436 66 1 -386: 37 1 1 8 4 -2001328: 5 7 82 5 1 9 4 2 8 628 4 7 -334561605: 645 7 741 99 6 -135758349: 9 683 1 6 4 7 2 4 4 7 6 9 -1575996: 75 31 5 676 56 860 -61228739: 4 608 28 608 131 -765608: 4 761 51 7 1 9 6 -58492: 3 35 557 1 7 -189165130: 2 86 1 48 5 658 -131316: 7 9 7 7 3 3 4 1 4 269 14 5 -1396348044: 20 248 528 47 52 -118440144: 5 56 423 114 27 -226846130: 1 78 127 38 595 -10532284261: 4 134 7 33 62 2 98 4 7 9 -4470342: 4 996 4 742 1 89 6 -20923: 6 9 2 357 72 859 -3344414346: 41 1 13 17 81 98 -671956: 60 7 1 956 -1030961356: 697 1 827 19 94 -702: 7 1 5 54 -327285011213: 1 4 3 385 700 5 5 6 213 -657285: 59 6 7 4 3 6 8 3 9 57 11 6 -7021190: 8 46 86 4 72 27 4 6 4 29 -280298: 79 43 402 14 521 -27840: 88 244 1 4 69 919 12 -4557: 13 32 9 63 325 -621809048003: 516 2 17 4 20 66 6 2 8 3 -9981290920: 92 5 35 4 31 28 963 76 -256794364800: 89 9 6 8 27 7 432 6 25 -30170: 287 7 5 1 719 -7877646991: 9 847 8 46 991 -1238161: 90 859 1 74 4 4 -985340154: 9 84 7 3 2 6 7 7 25 290 4 -1803833: 9 7 9 70 58 2 7 554 8 9 -1210344: 33 2 66 339 695 766 6 -2519853298: 796 316 449 3 270 26 -3223373148: 2 73 49 2 856 517 1 4 8 -522185543879: 322 92 21 398 858 7 1 -8406787598: 256 304 5 410 8 -1332308: 8 880 2 3 5 8 -41169: 9 1 7 59 3 456 6 3 5 9 85 -174020: 6 24 17 38 70 -26880: 833 1 6 32 -500519468937: 5 884 3 8 4 849 3 5 9 37 -169122020: 1 1 31 67 4 1 730 -58437765776061: 146 5 47 207 2 20 8 61 -134891688: 95 4 8 330 6 46 6 6 43 2 -254874138: 48 3 4 894 3 99 5 123 -883147390: 117 16 80 33 830 -739350: 78 9 617 35 34 8 -3576000: 6 4 800 447 -709932: 709 9 32 -948508: 16 75 925 4 35 93 -116262378: 65 954 396 3 621 -8340815451056: 23 7 54 644 5 46 48 22 -180370542845: 54 657 74 33 843 -2049814: 4 761 1 892 3 -5299296: 16 20 2 736 96 -30797: 8 744 3 4 6 589 -1938563869: 554 9 6 9 4 3 2 6 58 70 -6355523967: 72 98 214 61 1 7 6 5 69 -14486244: 3 915 2 37 4 -106933506: 8 8 696 67 3 2 700 96 8 -504: 315 3 95 1 2 89 -1904749: 724 9 52 1 29 -36501111: 50 92 91 76 877 87 -489615: 93 5 111 5 3 9 49 29 -5070676579: 843 2 1 1 6 76 570 9 -30287088: 6 709 3 7 123 1 77 4 54 -1534953: 21 6 58 8 79 7 -4501: 8 4 1 6 2 6 21 5 4 55 8 9 -1364553: 361 58 4 614 2 7 711 9 -951296: 9 8 7 537 80 6 -157469187: 477 42 82 78 46 37 -18308: 5 366 8 -71574724: 4 83 8 5 8 4 9 4 3 1 840 4 -15909264: 3 22 69 49 8 3 432 -2572928: 257 21 7 66 64 -368787: 58 578 11 24 -131429520: 214 2 4 5 2 8 639 6 4 1 -20710: 10 10 710 -117843317739: 6 4 3 6 72 8 22 1 5 913 3 -545921: 155 34 575 508 5 6 -26574: 1 5 40 311 8 73 2 -10108225092: 85 947 7 2 59 588 -115864: 3 286 26 40 4 -533300: 1 37 6 6 7 71 52 6 92 -5887: 79 6 8 8 97 7 -78471498: 87 69 935 3 47 5 7 218 -7130225595: 5 3 1 1 6 787 5 1 5 78 8 9 -94324754748: 36 5 8 37 989 47 7 8 8 3 -10450960: 2 14 485 3 54 4 4 6 4 9 7 -922: 5 7 7 9 3 3 2 5 351 2 -118080: 31 92 1 80 12 -47895: 74 632 955 99 73 -17637: 1 758 1 3 4 7 16 -2010585052452: 29 308 82 686 452 -3755524: 76 8 489 4 -39377794273: 5 6 384 8 8 2 9 9 8 2 57 5 -234573439: 39 71 4 799 22 59 -81485214698: 31 783 8 512 9 46 96 -299816765: 6 7 1 4 791 4 38 282 2 5 -20315377: 84 26 44 93 85 -29909838650: 119 639 354 6 25 -24012371: 1 67 797 83 3 87 7 1 -5799427230: 72 2 675 7 9 43 96 30 -96592181: 539 5 43 72 833 -67110: 6 2 7 8 145 5 89 4 317 -3985: 34 2 267 569 4 1 363 5 -455038: 2 675 96 7 94 -422313647: 9 424 407 1 3 650 -1324756: 3 5 9 1 3 8 9 6 532 3 7 76 -57185: 871 698 6 6 1 679 8 14 -569264: 81 3 72 8 94 -2026: 530 3 40 324 72 -414: 60 7 6 4 8 -10619851: 53 683 3 790 96 97 1 -4313455: 478 65 3 79 55 -76428: 282 3 880 6 5 44 -298105: 8 283 9 59 9 810 18 7 -1555206589901: 32 5 3 8 5 9 7 32 2 1 9 9 -416: 13 1 32 -7890761221: 36 49 4 5 5 7 8 6 9 8 42 1 -4851699947: 7 453 17 777 9 8 9 -1340172906: 2 40 199 6 306 5 55 1 6 -3060357: 45 170 76 13 4 -36750787: 799 3 65 12 7 9 9 3 55 7 -2626008: 11 2 904 6 132 -160823754: 27 320 6 7 91 846 -575944059: 1 420 4 79 1 438 2 59 -34100955: 1 81 81 664 25 5 3 21 -948113: 71 3 735 1 13 -11843363: 5 86 23 8 3 878 21 1 -414514: 816 95 65 7 9 -1441652696: 6 69 6 3 8 1 4 58 4 693 1 -383650: 684 2 8 4 7 3 4 1 86 5 -22135637: 7 4 7 932 8 77 821 704 -918291: 5 1 89 6 1 872 200 8 9 6 -1505741: 395 28 9 5 39 391 -11771: 78 39 69 2 -80708: 7 39 294 345 4 97 -421192773: 140 2 5 1 5 6 3 7 5 9 1 3 -860808: 88 4 1 4 1 78 1 31 -33372: 17 6 6 3 970 5 4 6 6 -17146536118: 5 70 9 7 2 36 9 4 2 2 7 90 -533228686848: 8 86 33 306 78 1 984 -1737309600: 1 409 50 26 538 3 90 -222943937895: 708 45 45 7 535 5 999 -636399160: 63 563 5 764 1 60 -788745: 97 116 7 529 6 -22728734: 3 78 8 6 732 -1875535455: 1 23 8 563 71 7 2 51 5 -871082: 3 769 2 47 7 3 8 1 2 6 50 -30066368: 46 9 778 9 64 -45751548: 904 89 8 740 71 -2527247: 6 30 6 117 47 -1688: 2 602 82 2 394 6 -4399: 10 338 63 71 885 -71096: 716 99 90 78 44 -3995056485: 116 4 739 5 343 -7628: 5 92 8 71 9 5 -1972250398: 23 437 584 4 6 29 8 7 6 -135886610: 7 987 5 32 9 817 3 3 85 -635383260: 698 7 981 4 90 -96912: 484 2 5 7 55 -152775: 22 689 2 8 3 94 75 -78984174: 2 7 4 405 6 1 75 6 2 4 8 -4312419238: 8 113 449 451 3 8 22 6 -418704221: 837 393 5 77 21 -195822: 1 87 38 5 8 473 3 -471: 8 149 3 -759714: 599 181 5 62 7 312 -56005: 4 175 8 5 -103: 5 8 9 31 1 49 -1923392: 8 2 7 134 1 4 1 67 2 6 16 -1260: 150 5 8 20 1 -6938: 61 3 5 38 -1540044487170: 812 2 83 83 53 63 10 3 -1134769023: 7 89 8 54 3 86 6 8 1 7 6 3 -6335: 61 77 886 9 743 -985535: 5 4 5 45 393 2 7 24 4 5 1 -2747160758: 337 85 6 4 65 7 56 -14972873: 592 2 883 85 22 1 -215170709446: 1 8 5 6 2 2 9 92 776 7 7 7 -941373552: 6 6 3 5 5 5 8 84 9 28 7 12 -6429165688: 3 5 8 5 1 8 14 291 4 2 2 4 -8531: 861 825 5 5 70 6 -16943371610: 778 6 5 626 6 8 5 8 2 10 -162627956: 3 3 1 6 5 5 95 7 2 3 956 -2151926: 5 796 3 8 49 3 11 744 -102253056: 91 9 8 7 5 7 765 1 2 4 8 -37464508: 62 44 6 508 -59290776: 7 70 770 77 6 -29405232640: 95 780 624 9 4 492 4 -11838789900: 151 7 3 1 7 6 45 3 5 881 -34152034: 682 84 17 5 9 1 3 623 -709309696188: 2 536 4 4 92 358 1 8 6 2 -49216062: 614 22 97 7 5 33 8 -3363902892: 791 59 9 968 861 1 82 -245385018: 7 9 869 2 18 249 -2723318400: 82 528 68 925 -13986: 199 3 3 146 1 2 2 46 9 -1482122661189: 90 2 694 973 3 843 -171957897: 5 174 4 49 1 6 4 4 1 7 -2328172: 90 149 4 2 108 8 39 4 7 -362: 4 33 3 9 2 -21949953: 427 71 724 441 4 -3241877525: 304 6 8 75 24 53 5 5 25 -1477881: 7 2 74 4 9 507 1 108 9 -1584451: 35 3 7 8 25 33 299 1 7 1 -245523: 44 5 18 62 3 -408: 3 44 4 2 4 -6491391180: 7 15 766 321 65 12 -49688662: 616 806 99 291 62 -7767789: 3 7 65 4 5 350 8 111 9 -333456: 4 5 7 96 6 2 32 152 5 7 4 -60014021472: 43 55 330 7 108 712 -2628581: 494 76 4 5 7 441 -844582: 97 8 68 136 4 858 310 -74777: 610 2 988 355 1 329 -4763814: 99 9 3 84 278 42 6 -94440: 7 7 5 6 2 787 1 -4016774580: 88 229 696 69 90 182 -5836537069: 567 42 7 95 65 70 2 35 -17838201034: 7 27 164 38 943 -424573: 6 70 3 965 608 -37912: 3 79 11 -16398628155: 55 763 727 49 39 707 -3809: 3 4 2 4 8 38 1 88 14 6 9 -703384666831: 1 1 8 9 5 6 7 6 93 3 366 5 -647136: 627 43 3 6 4 -210792608671: 5 81 370 4 52 661 8 -2436100: 1 7 3 49 8 6 4 3 1 241 85 -1592324703: 66 1 197 9 4 1 9 93 799 -346507254032: 39 82 841 7 3 87 25 7 -13518: 6 3 751 -126939680: 35 60 696 85 944 2 -24678: 1 6 411 8 10 -201423: 9 3 4 23 189 4 9 8 6 4 9 6 -231349613724: 27 3 4 54 27 84 94 5 9 6 -2927815253: 36 9 5 76 7 64 8 9 53 -8630377: 768 94 17 2 84 79 -462193759: 5 3 9 4 9 86 1 8 537 6 1 1 -607518720: 70 1 91 6 19 7 824 6 -468102094: 66 14 638 978 66 -128956255: 307 3 7 7 1 9 5 4 6 7 442 -193259: 1 24 5 687 59 -162357: 69 94 1 2 1 978 9 -442600: 7 4 8 2 8 5 74 992 683 8 -3767103580553: 4 1 85 6 706 45 9 50 -14847610: 9 9 5 6 8 9 9 6 7 602 2 6 -743: 68 6 7 53 275 -3050362: 35 8 8 17 2 93 4 2 8 5 2 -82156803: 2 772 3 76 3 7 22 -628792: 264 3 42 7 3 98 8 -130836627: 7 554 23 3 2 9 33 621 -144521: 260 5 1 4 5 7 410 82 37 -1792577: 55 6 95 5 4 88 3 5 19 3 -2091684: 2 9 2 843 1 9 202 4 980 -74537554512: 59 68 1 97 192 586 -1855461604: 277 9 9 93 800 4 -224859805: 587 17 1 40 2 9 929 5 -2400360483472: 8 62 8 85 54 4 1 24 1 28 -614540871: 607 7 435 8 1 164 70 -366295433435: 45 3 67 551 49 435 -91587264: 4 3 6 9 8 1 60 588 92 4 4 -630961: 6 68 5 575 478 -893: 365 73 366 2 87 -5056137: 508 1 3 74 2 3 288 9 -95290: 99 1 93 229 10 1 -582845322: 4 551 4 8 4 70 4 6 7 3 4 2 -5535: 9 7 4 79 479 -395: 2 39 5 346 3 -178405757400: 1 24 934 238 900 6 -145435392: 2 794 96 6 159 -5250: 1 25 996 5 142 3 1 -759649461: 2 8 2 1 9 8 7 298 9 5 2 9 -56934838: 4 3 885 52 62 360 9 86 -105669: 7 1 21 21 31 531 -14746: 9 390 3 2 4 686 -5769: 7 592 2 40 9 -9608753689: 479 340 188 44 59 1 -643168552301: 4 6 6 5 2 61 94 9 793 7 2 -229419862: 731 4 374 62 462 833 -2713155156616: 34 606 57 98 8 5 77 2 4 -6413421303: 28 851 75 60 81 7 9 -256402417600: 1 4 4 7 513 512 28 35 3 -1460366163: 81 4 598 16 722 3 -4060: 1 46 85 16 49 -2110348408810: 42 8 3 6 3 2 6 3 4 4 1 410 -2902057811: 731 7 1 9 105 7 67 9 8 1 -23258816649: 927 65 1 386 646 -29206983: 91 5 887 4 99 3 3 -5861730159: 94 76 9 618 157 -22973: 6 9 54 82 5 1 7 140 2 11 -371623000: 93 217 6 449 41 517 -3588: 34 7 5 26 3 -1941395: 7 2 3 6 77 70 81 840 4 -672968880: 433 7 6 3 77 4 584 8 3 5 -15674455: 7 311 36 2 52 -243523: 1 42 1 565 8 -19516: 2 458 9 6 1 41 -453896: 542 49 96 8 1 3 4 -267007884: 74 84 50 398 858 -40330241015588: 8 42 6 984 210 9 62 9 8 -585: 3 55 9 372 87 2 57 -2396434: 2 8 3 89 9 9 40 4 52 9 57 -16119246: 111 2 2 566 63 6 909 2 -20568735: 83 22 847 855 9 -7813814546: 678 1 24 8 49 35 4 7 5 6 -27282024: 3 11 9 2 1 4 354 21 836 -2964: 944 3 30 92 10 -827647: 4 4 2 764 7 -1176186495: 35 642 33 123 372 -201735728: 1 2 382 526 502 -35413156795: 235 7 3 4 4 7 7 1 3 5 9 5 -8399713: 44 49 472 4 3 -2343605: 279 7 40 30 5 -6450624: 12 5 13 52 5 6 98 30 6 8 -443217280: 6 395 16 785 88 -48700: 8 6 3 6 1 7 60 66 73 774 -80580: 7 68 56 7 3 8 3 580 -130511451943: 54 45 38 537 45 946 -8108763812: 8 2 90 9 8 763 810 1 4 -182283859: 17 43 57 3 57 3 852 7 -24897070: 46 89 28 4 755 95 2 -111250171648: 99 484 8 346 404 -23755: 5 920 55 96 5 -436019: 56 972 8 5 64 496 -928922: 9 619 662 149 205 -6451307248: 3 212 7 7 7 7 30 7 2 5 1 -86980: 8 65 13 978 2 -9786271: 7 6 89 869 59 -1532160: 89 3 106 293 79 64 6 7 -24403000: 842 97 5 94 2 55 8 2 5 -1953: 2 6 5 4 93 -990319: 990 189 130 -11412188576: 620 6 263 76 92 -249050630: 98 78 84 786 955 -742373: 5 386 1 8 15 9 6 8 7 94 1 -474024: 7 2 6 800 9 3 -142885: 28 3 9 8 8 8 15 12 8 2 -6930420: 11 98 60 870 7 -122733492: 256 38 3 38 26 42 -831978: 2 6 26 93 8 93 7 -29926896375: 554 2 54 94 9 4 69 74 5 -219383717: 22 9 958 1 785 2 930 -3407325164: 4 859 94 746 4 -6078060: 33 7 13 973 1 8 537 12 -299554515: 935 63 5 15 30 1 5 -9437408425: 1 344 72 348 12 7 19 6 -267406: 5 99 9 3 4 64 5 9 97 -6553232: 9 64 36 4 835 8 18 1 1 6 -96001080: 23 902 5 619 920 -84355: 3 5 31 540 8 4 76 7 -24298114896: 35 284 3 407 1 564 -5953350: 6 996 608 8 22 9 7 50 -79652: 7 948 6 7 89 68 -22886: 1 4 1 57 8 6 -624448: 77 97 8 6 8 -3359340: 50 74 4 2 270 -622: 2 2 3 7 538 -507934685: 3 22 396 2 3 11 2 2 46 5 -1019: 1 12 74 36 30 65 -203478: 665 11 3 6 7 8 -19277025840: 8 631 9 58 70 963 2 6 5 -344954166: 5 8 3 3 984 90 6 3 8 3 1 6 -48340800932: 8 7 10 6 746 72 2 7 1 2 2 -146059200: 9 78 741 1 1 9 245 5 8 2 -4436052529: 9 1 78 9 2 3 9 7 8 972 4 9 -43699067: 5 97 68 36 9 7 -88848: 2 6 77 3 217 9 619 8 8 -1656: 47 1 34 6 52 -9799: 41 2 42 4 18 871 -7946031: 1 6 12 63 1 7 945 86 -720410: 8 599 3 5 30 9 64 1 5 3 5 -24848528: 421 1 3 20 44 982 -867: 3 397 1 346 1 95 8 7 5 4 -94969178216: 9 82 2 275 1 7 4 879 8 4 -7272: 2 6 606 -12214232427600: 512 9 63 842 15 6 7 60 -28632: 84 9 3 15 717 -144280559: 681 43 3 498 40 -1138408: 5 2 50 638 405 -12128950928: 5 4 7 39 58 1 553 2 1 4 9 -20820892347: 8 2 1 56 716 1 2 2 8 3 9 1 -1198976: 50 1 549 488 2 -900841950944: 2 9 7 4 9 54 854 5 9 416 -346736: 30 28 42 898 104 -7603435: 25 48 8 467 3 67 8 200 -242741004: 2 4 26 99 41 9 82 5 7 9 -563920: 7 82 720 880 1 -2443160712025: 3 5 7 3 3 8 913 6 2 85 25 -2147242: 352 61 36 6 -220646436: 3 8 27 847 5 84 9 9 81 6 -149809323: 25 102 746 8 587 -144884479: 3 3 163 6 9 98 6 1 27 76 -9249: 2 8 5 7 64 3 9 58 7 4 82 -7338803: 1 810 4 3 9 9 1 21 1 7 1 2 -764: 7 8 612 1 91 45 -7381740: 9 3 29 55 74 60 -5928: 72 7 47 615 8 -466888312086: 5 53 77 93 74 3 8 20 86 -210325257: 23 7 82 3 567 8 46 3 9 -221180: 418 6 2 44 476 -6249064885203: 88 90 255 6 955 810 4 -334647013: 3 9 14 855 13 -639109705: 83 770 963 7 6 -23307480: 2 877 7 6 7 420 9 -1552566965: 51 4 321 24 79 91 3 65 -87715339226: 45 958 608 874 14 12 -12858752: 23 61 5 51 60 675 4 -1351937: 643 71 7 3 7 -9467274375: 3 1 300 6 7 1 8 7 9 1 433 -5224: 4 65 5 31 8 4 290 2 32 -364104316: 4 32 410 4 3 16 -11572855: 756 43 356 6 1 -3454145741: 345 40 62 83 741 -758500646221: 9 916 820 646 128 93 -363957360: 8 8 430 71 52 6 -338029: 67 498 5 4 2 5 527 -10068480: 4 1 9 17 8 4 25 874 8 8 2 -8299784: 27 2 4 3 2 8 44 6 1 927 4 -20579790: 520 17 3 66 462 5 -613581611446: 6 1 358 1 5 9 9 5 7 4 42 4 -60066: 7 39 136 664 71 -155277: 84 6 80 469 9 27 -96729: 8 5 3 806 9 -897244658151: 9 3 83 9 385 9 1 814 2 9 -7035873: 764 92 70 73 -4445733605: 7 6 1 2 210 1 8 891 66 5 -10609173795: 968 86 18 5 8 6 9 885 -3695: 3 70 8 44 131 -1050504: 1 5 4 1 7 95 59 12 481 -14585643: 1 918 5 9 74 38 8 9 9 43 -54685258320: 5 9 6 5 7 308 461 5 3 98 -2800483: 32 9 1 281 9 78 624 7 7 -168530073: 4 287 9 51 7 3 367 2 5 3 -395246313: 3 4 5 9 2 2 632 8 7 1 7 9 -4064256: 36 21 1 896 6 -262310522628: 2 427 9 5 4 1 83 24 49 3 -86049: 23 82 818 26 133 1 -601: 4 4 8 63 370 -1026420084: 2 5 4 95 8 737 6 522 -101164: 40 320 281 2 2 -10817105: 49 4 4 864 425 9 5 -3420: 5 4 9 299 9 -69689: 57 69 5 66 89 -265686: 70 4 948 152 52 34 8 -32990988: 688 4 54 37 2 6 1 -157066012: 26 863 70 12 -58787499: 790 78 2 3 6 53 67 43 1 -114207: 3 6 28 111 654 304 3 -4729: 23 651 1 7 4 -1292818885: 99 5 41 908 835 31 -66775434: 196 2 34 67 434 -115887: 9 2 245 1 43 2 -462669: 4 88 1 3 517 3 2 7 2 7 4 7 -135: 5 3 9 -75750: 69 941 75 -9632: 29 38 92 2 8 8 -577121008: 9 2 93 3 28 5 20 5 5 8 8 2 -6697752: 9 2 7 6 5 367 4 3 23 9 2 -3680318803: 5 9 11 9 7 7 9 8 5 437 7 7 -160907427: 300 9 9 91 9 733 -35049202177630: 22 729 703 3 295 514 -5010054861: 5 52 3 835 545 3 61 -3680392: 3 677 5 5 43 76 1 44 6 2 -540881440: 5 5 27 44 5 360 4 -84819882: 6 585 3 231 35 618 -7230186: 1 92 8 738 97 -31833026: 588 20 9 21 540 5 18 8 -8703829: 8 695 8 732 97 -2645256721889: 7 7 816 470 40 77 9 59 -96200: 128 1 4 6 74 -10937584095: 797 35 2 5 560 7 95 -69479877: 301 374 764 6 613 5 -1670542: 8 19 9 3 87 1 29 189 4 2 -57158970624683: 849 9 834 4 42 6 8 683 -155: 3 5 3 2 38 70 -80353681: 803 48 5 677 4 -243932835: 9 73 72 988 8 1 31 4 -65346: 59 79 6 7 4 2 -335768981464: 3 9 659 844 7 92 142 -89019612087: 6 9 70 9 7 680 9 2 5 6 2 7 -125382104: 376 6 8 789 52 536 -28451: 5 5 4 674 4 30 38 8 19 -5738099522: 810 920 7 7 1 77 155 -30304670: 5 9 5 4 3 97 71 695 4 6 -158763: 5 5 5 8 561 -526356306: 7 114 41 6 3 8 2 403 4 9 -1079: 240 96 579 2 66 96 -109098: 3 6 38 7 5 95 2 7 52 54 -39502269: 2 1 3 56 2 5 5 5 42 586 9 -32609: 6 54 82 127 -3070: 8 21 68 3 99 -640811159: 8 31 306 4 1 7 4 9 9 97 -2000439000: 5 281 45 791 40 -171068: 25 6 19 20 3 9 6 20 28 5 -27921957: 1 5 999 7 7 63 3 9 3 1 5 6 -612228: 250 9 34 8 26 202 -2963917: 216 14 3 98 36 59 9 -4363811: 2 132 47 33 5 22 4 33 -2568: 955 600 419 530 64 -3215582024: 3 1 902 87 8 9 99 757 4 -153840815856: 51 868 6 481 28 258 -11386: 9 6 39 52 3 -60434: 6 4 85 52 67 -23737612: 76 571 547 -3533198: 2 88 1 2 63 31 90 8 -663363: 3 1 8 603 22 41 -5587084944: 53 6 6 498 4 1 7 8 12 7 -216867168: 959 3 943 616 84 97 6 -890979341: 989 925 52 9 23 18 -7: 2 5 1 -3647893260: 793 46 9 32 60 -75777: 538 747 4 573 5 76 39 -19834461: 6 28 538 733 17 -12198733538: 22 99 98 73 35 35 -254720: 87 37 761 8 8 -60001422: 3 729 872 9 94 -31934565: 46 6 886 6 137 691 -8096760: 313 9 15 3 168 17 -38124834120: 6 660 5 53 5 7 3 7 6 5 12 -23452364967: 3 5 5 5 5 72 8 5 833 90 -30005379: 384 88 736 869 547 -3722710422: 8 1 7 966 38 2 412 8 1 1 -457: 155 216 25 25 36 -19880960508: 638 82 2 31 71 38 2 8 -25328336: 34 209 81 21 37 44 -1929959244: 5 900 7 665 97 81 93 6 -10383955921: 5 19 97 706 9 948 1 -2267298543: 7 7 752 54 93 54 3 -100433212: 80 4 6 41 1 2 271 5 9 68 -116610592490: 4 451 202 1 4 4 2 2 1 88 -20491672: 2 8 36 5 7 3 794 7 4 4 5 3 -1180313416: 419 113 257 97 3 50 -171227269984: 8 9 9 3 560 7 9 176 34 -455846: 98 9 71 43 4 41 -1674562864: 57 794 45 5 37 29 -35: 2 3 31 -87046876: 5 79 334 4 858 1 68 76 -1877: 1 6 19 289 3 610 1 -364: 4 63 15 2 95 -76836001065: 19 674 75 8 10 65 -45790962: 9 41 58 3 7 59 -3460: 7 34 2 6 2 9 3 2 9 8 5 725 -65011686: 3 4 6 235 1 5 3 8 7 1 1 6 -930: 8 8 866 -2401: 3 4 5 32 -301269: 69 9 431 -13699: 136 97 2 -317: 42 6 6 26 3 -15794075: 7 3 3 331 8 1 5 225 395 -129161328: 8 1 97 76 3 9 98 1 4 3 4 8 -567: 199 23 5 332 8 -190423850: 4 4 9 54 68 582 9 46 4 -27411835281528: 17 52 252 75 1 31 52 8 -4170: 4 9 63 2 5 50 4 7 3 -461435: 22 312 46 6 14 70 5 95 -1386: 64 665 8 400 246 3 -357696003: 10 8 5 5 5 9 4 1 345 4 6 3 -77837763: 60 1 924 27 52 -3811398362: 4 4 7 4 74 1 5 622 9 5 1 4 -292049: 5 6 91 2 26 3 2 9 8 2 1 1 -4165920: 5 254 4 198 80 -6672: 494 88 7 10 835 -43553: 8 5 2 267 313 8 362 -789021489: 950 55 86 413 284 83 -17159844237: 42 196 721 44 237 -663874848670: 45 37 6 91 73 11 1 1 6 3 -5483954201: 4 568 2 3 9 1 1 3 5 6 7 94 -1540007: 101 146 46 8 657 -9727: 27 358 58 -225373634: 385 2 5 4 4 2 1 568 73 4 -99539283888: 8 9 989 1 5 6 583 9 4 47 -392: 2 2 307 1 81 -42059103300: 941 425 612 73 -8770: 161 649 9 9 9 577 885 -190409235602: 59 1 362 89 8 77 5 602 -79553678: 2 27 137 4 1 34 8 839 2 -159028761020: 24 9 7 9 4 709 6 5 5 2 20 -1300: 37 5 925 -243433313: 805 7 6 6 3 4 6 1 8 53 3 -3124500: 103 8 67 283 30 -302625: 3 5 8 56 57 392 25 9 -1137: 18 15 346 3 -639368: 971 57 8 617 9 5 137 5 -79939450: 5 793 1 39 44 4 6 -2228247208: 4 557 221 26 208 -134042534: 446 80 38 6 8 2 3 8 83 1 -510500610672: 95 6 324 3 98 2 23 1 78 -4111: 658 6 84 8 71 -45999: 81 6 119 8 138 127 6 9 -60030845: 74 7 39 5 3 2 5 831 6 8 -35770: 9 16 197 98 72 70 -10927513483: 5 147 954 82 919 619 -10051898: 8 5 38 815 105 168 98 -131228541: 72 5 181 3 54 3 -10512: 8 438 3 -223: 3 4 9 15 192 -488096: 56 9 6 957 26 -657202356: 40 7 7 4 7 7 9 7 2 1 9 876 -1078687453562: 14 77 687 453 555 4 -13425: 4 1 3 75 3 -92796195: 30 4 36 84 5 6 27 3 -38173361: 47 8 5 729 42 419 -430285450: 896 41 4 14 48 7 -83841: 79 1 3 839 4 -237475: 2 15 377 6 8 3 22 75 4 -680057: 7 7 64 3 42 3 6 298 115 -281219: 5 7 9 5 941 752 7 6 1 7 3 -137606014: 12 3 42 1 54 91 -81445062312: 302 995 7 16 2 5 4 9 24 -430044160: 948 46 65 13 64 8 -2214: 724 6 2 6 3 -126136158224: 1 926 4 5 8 8 7 17 11 2 2 -1367286683: 72 728 470 4 1 281 -13304: 244 6 86 113 8 -691914: 4 74 662 609 90 -2198982: 1 4 2 9 546 139 4 7 2 -676192: 9 6 3 4 7 17 3 2 717 68 8 -17217: 8 5 1 2 3 9 8 22 5 894 9 4 -342783: 523 652 938 94 754 -812: 57 8 3 8 1 4 -153626591: 8 4 8 6 2 380 271 3 78 -719278: 9 5 94 103 1 83 2 -2478427: 548 14 441 7 -369291042: 3 8 8 63 413 6 6 85 3 9 -3973077: 471 1 87 84 969 -40382: 97 2 2 918 4 13 13 4 9 8 -2096301704: 300 8 104 7 481 5 67 9 -34559536583: 627 74 85 407 9 58 1 -171414: 532 894 3 7 5 8 5 3 6 -1092591435: 569 8 4 64 3 8 3 3 1 -11768133: 5 7 422 691 2 761 790 -1168: 48 4 30 506 576 4 -270957: 967 31 123 9 57 -49751803: 407 955 64 2 9 58 56 -75672: 575 2 955 2 89 24 -12708470: 66 588 413 6 6 9 4 862 -18233446903: 4 651 778 129 7 -459: 2 72 4 7 374 -10314: 5 4 49 1 6 -215952960: 565 796 6 972 80 diff --git a/2024/tcl/lib.tcl b/2024/tcl/lib.tcl index 048bce5..588a5e8 100644 --- a/2024/tcl/lib.tcl +++ b/2024/tcl/lib.tcl @@ -5,7 +5,7 @@ proc setup {n {mode lines}} { set n [string range 0$n end-1 end] upvar input input - set fd [open input.$n.txt] + set fd [open ../input.$n.txt] switch -- $mode { lines { @@ -19,6 +19,17 @@ proc setup {n {mode lines}} { fd { set input $fd } + grid { + set input(raw) [string trim [read $fd]] + set input(lines) [split $input(raw) "\r\n"] + set input(grid) {} + foreach line $input(lines) { + lappend input(grid) [split $line ""] + } + set input(h) [llength $input(grid)] + set input(w) [llength [lindex $input(grid) 0]] + set input(debug) $input(grid) + } } } -- cgit v1.2.3-70-g09d2