commit f0405677f3e176647cbc68cb87e18fcb6aad109d Author: jzitnik-dev Date: Mon Dec 2 10:50:22 2024 +0100 Initial commit diff --git a/1-2.js b/1-2.js new file mode 100644 index 0000000..c336b30 --- /dev/null +++ b/1-2.js @@ -0,0 +1,38 @@ +const fs = require("fs"); + +function parseInputAndCalculateSimilarity(filePath) { + const fileContent = fs.readFileSync(filePath, "utf-8"); + + const leftList = []; + const rightList = []; + fileContent.split("\n").forEach((line) => { + if (line.trim() !== "") { + const [left, right] = line.split(/\s+/).map(Number); + leftList.push(left); + rightList.push(right); + } + }); + + function calculateSimilarityScore(left, right) { + const rightCountMap = {}; + right.forEach((num) => { + rightCountMap[num] = (rightCountMap[num] || 0) + 1; + }); + + let similarityScore = 0; + left.forEach((num) => { + if (rightCountMap[num]) { + similarityScore += num * rightCountMap[num]; + } + }); + + return similarityScore; + } + + return calculateSimilarityScore(leftList, rightList); +} + +const filePath = "inputs/1"; +const similarityScore = parseInputAndCalculateSimilarity(filePath); + +console.log(similarityScore); diff --git a/1.js b/1.js new file mode 100644 index 0000000..aa26bdf --- /dev/null +++ b/1.js @@ -0,0 +1,34 @@ +const fs = require("fs"); + +function parseInputAndCalculateDistance(filePath) { + const fileContent = fs.readFileSync(filePath, "utf-8"); + + const leftList = []; + const rightList = []; + fileContent.split("\n").forEach((line) => { + if (line.trim() !== "") { + const [left, right] = line.split(/\s+/).map(Number); + leftList.push(left); + rightList.push(right); + } + }); + + function calculateTotalDistance(left, right) { + left.sort((a, b) => a - b); + right.sort((a, b) => a - b); + + let totalDistance = 0; + for (let i = 0; i < left.length; i++) { + totalDistance += Math.abs(left[i] - right[i]); + } + + return totalDistance; + } + + return calculateTotalDistance(leftList, rightList); +} + +const filePath = "inputs/1"; +const totalDistance = parseInputAndCalculateDistance(filePath); + +console.log(totalDistance); diff --git a/2-2.js b/2-2.js new file mode 100644 index 0000000..32d5956 --- /dev/null +++ b/2-2.js @@ -0,0 +1,50 @@ +const fs = require("fs"); + +const file = "inputs/2"; +const fileContent = fs.readFileSync(file, "utf-8").trim(); + +const reports = fileContent.split("\n"); + +let safeCount = 0; + +function isSafe(numbers) { + const isIncreasing = numbers.every( + (num, i) => i === 0 || num > numbers[i - 1] + ); + + const isDecreasing = numbers.every( + (num, i) => i === 0 || num < numbers[i - 1] + ); + + const isValidJumps = numbers.every( + (num, i) => i === 0 || Math.abs(num - numbers[i - 1]) <= 3 + ); + + return (isIncreasing || isDecreasing) && isValidJumps; +} + +for (const element of reports) { + const arr = element.trim().split(" "); + const numbers = arr.map(Number); + + if (isSafe(numbers)) { + safeCount += 1; + continue; + } + + let isSafeAfterRemoval = false; + + for (let i = 0; i < numbers.length; i++) { + const newNumbers = numbers.slice(0, i).concat(numbers.slice(i + 1)); + if (isSafe(newNumbers)) { + isSafeAfterRemoval = true; + break; + } + } + + if (isSafeAfterRemoval) { + safeCount += 1; + } +} + +console.log(safeCount); diff --git a/2.js b/2.js new file mode 100644 index 0000000..8e70a0a --- /dev/null +++ b/2.js @@ -0,0 +1,35 @@ +const fs = require("fs"); + +const file = "inputs/2"; +const fileContent = fs.readFileSync(file, "utf-8").trim(); + +const reports = fileContent.split("\n"); + +let safeCount = 0; + +for (const element of reports) { + const arr = element.trim().split(" "); + const numbers = arr.map(Number); + + const isIncreasing = numbers.every( + (num, i) => i === 0 || num > numbers[i - 1], + ); + + const isDecreasing = numbers.every( + (num, i) => i === 0 || num < numbers[i - 1], + ); + + if (!(isIncreasing || isDecreasing)) { + continue; + } + + const isValidJumps = numbers.every( + (num, i) => i === 0 || Math.abs(num - numbers[i - 1]) <= 3, + ); + + if (isValidJumps) { + safeCount += 1; + } +} + +console.log(safeCount) diff --git a/inputs/1 b/inputs/1 new file mode 100644 index 0000000..fcc8031 --- /dev/null +++ b/inputs/1 @@ -0,0 +1,1000 @@ +17113 23229 +55260 78804 +92726 24891 +79691 90526 +97979 99871 +28198 44110 +33527 52030 +22794 55253 +54386 67440 +28290 47430 +72856 96191 +81386 33514 +98181 68533 +17398 21683 +20326 98429 +43166 93579 +52439 70188 +53255 78804 +44259 74528 +92407 49689 +81207 81964 +45060 78804 +17144 42906 +42014 22912 +87580 74797 +18771 79006 +19437 33718 +53851 59298 +98207 31436 +36084 70810 +47638 64100 +63813 64256 +66589 96811 +47882 23287 +73077 42906 +69312 97079 +59952 80142 +71570 88283 +11028 71176 +10205 49983 +63022 72653 +74396 22834 +53209 26046 +16122 29328 +86391 13321 +39959 96494 +48754 71974 +30100 18048 +41051 27354 +61072 75304 +39493 88283 +87729 31850 +98733 70379 +59455 20268 +26046 83127 +45020 31850 +14486 70611 +56582 72113 +98429 32880 +24976 61043 +75079 59298 +42852 26775 +32354 44934 +43039 31328 +71406 85342 +19671 62154 +80427 61907 +46509 49624 +52983 57820 +52973 93107 +57013 85777 +15790 87358 +90076 59298 +25962 64256 +55074 93673 +57179 96811 +40841 27328 +45699 88283 +96749 15577 +47064 11294 +43467 59973 +79006 46538 +64100 92439 +20638 92043 +83036 15078 +75308 37789 +24011 96811 +28731 64100 +82030 98429 +51086 77849 +15528 74498 +75818 55253 +52966 26782 +54065 85446 +94632 98429 +71345 96659 +21237 90494 +62133 26040 +27566 69167 +26630 63361 +38345 78564 +23417 36059 +90631 71570 +82476 80062 +83859 75838 +74867 14965 +66862 96811 +34984 26526 +46711 78804 +92950 95788 +50682 55229 +16577 67662 +51100 29648 +85741 13916 +63501 42906 +69772 50682 +61831 66914 +68936 16393 +23439 72653 +66025 14757 +97886 73451 +34525 74021 +59890 70611 +25794 72282 +90658 53071 +15858 69320 +80166 74561 +77306 59298 +36279 51086 +23706 96811 +69097 61043 +39622 84847 +13945 60451 +73634 44370 +39506 79006 +72099 65904 +10711 79218 +72942 78804 +50126 85460 +42873 35570 +62173 23894 +96851 57820 +33994 98429 +15129 25067 +88205 17956 +47499 77657 +50872 95788 +36657 15370 +58577 46971 +28775 87189 +47436 42906 +74496 78804 +93457 78804 +26612 40354 +10996 59298 +62565 72653 +46311 70095 +27040 20573 +33619 34869 +74406 94188 +12022 84307 +15397 61173 +62696 18735 +89144 35419 +30786 71570 +12339 58492 +20172 88283 +65223 59925 +38793 56474 +83462 85446 +41320 24231 +97955 71388 +72939 96811 +87629 70087 +56201 95157 +81347 63375 +87491 78804 +32409 35765 +11899 98315 +90582 18711 +38166 96811 +41064 94388 +87339 31310 +74560 31690 +96849 50948 +45846 56819 +64668 23702 +73929 71570 +59305 47671 +72161 85446 +18851 42906 +47143 74339 +31142 36295 +83358 83372 +86726 26046 +20570 98429 +94849 98429 +95888 64320 +44701 72113 +62859 34589 +64290 88625 +52371 98429 +88896 74339 +44664 98429 +46240 50211 +99654 70673 +29548 64100 +23117 50682 +67044 79006 +55532 70611 +57909 30161 +74797 64051 +24274 47311 +15645 94033 +54723 79006 +33329 72653 +20473 72576 +51889 96811 +75639 74917 +55282 14381 +35230 77500 +70611 64100 +55253 72113 +52367 57820 +81509 82227 +73775 71570 +40713 96565 +55493 20615 +30248 98429 +14139 75952 +61677 54698 +98776 74453 +11359 98987 +23419 25825 +61608 95642 +11700 50682 +88617 27540 +17154 40371 +51560 83091 +40348 26046 +10393 64100 +70105 71877 +36655 52994 +78804 94388 +15520 98429 +42007 50682 +94692 96811 +51332 31850 +47111 42906 +14566 27377 +45473 27113 +73774 24517 +52733 23322 +18675 98564 +95008 71570 +78497 65736 +52389 79006 +27248 63003 +84985 74015 +79069 92404 +61844 21552 +16699 53744 +65852 29202 +16704 71570 +42436 47345 +94631 59298 +13220 31956 +57368 99539 +54268 24876 +83050 57820 +84234 34967 +42906 31850 +85446 37715 +15057 38091 +76144 76437 +57612 78804 +49079 38146 +46775 88283 +14485 81565 +81217 95788 +96795 57820 +97778 27838 +86682 40348 +44594 22997 +66113 74339 +60070 70611 +24623 74797 +38947 59298 +65561 48445 +96811 85551 +10139 80475 +68714 99823 +60817 91822 +57820 20826 +62849 79859 +87852 75210 +80279 36984 +93990 64100 +93045 51086 +51003 80859 +54603 57820 +21216 86165 +93301 82788 +93210 62681 +67882 55284 +41519 72574 +81043 52030 +54207 78804 +68937 74874 +68413 59298 +73957 51067 +66167 40348 +91985 74245 +10523 19192 +11825 31850 +85668 93743 +88821 51086 +57039 23854 +45164 83875 +13476 71981 +77162 29504 +30938 64100 +13718 38472 +10486 35879 +78593 49315 +34561 19075 +67892 23183 +64635 94388 +21867 70673 +71436 32906 +31425 69383 +43317 85446 +18374 22112 +14765 31850 +64173 70611 +11486 87328 +92256 45322 +92494 27969 +71981 59298 +40701 50682 +50437 48043 +38167 38731 +90756 34381 +66182 11306 +34327 74339 +19787 80910 +29802 68457 +63265 52681 +46942 86530 +85458 64100 +26891 88283 +68508 24231 +95988 25420 +90320 55253 +18567 60822 +72768 18918 +33734 57882 +25771 57820 +62484 30068 +41897 81919 +44909 27222 +69758 96811 +63905 95788 +22166 71220 +96433 42918 +90290 96811 +11123 70611 +65711 88574 +10348 24643 +82619 71443 +25887 59298 +29764 26004 +33668 52073 +25349 35511 +93516 75054 +61491 14595 +53961 52030 +65868 72392 +33240 74716 +11788 94388 +64537 22970 +87221 53882 +37347 50682 +90140 42179 +35810 58521 +41037 31791 +94815 96811 +59575 66912 +42556 25155 +33987 31098 +80894 78804 +66053 81565 +60922 62532 +49241 73994 +16861 94929 +86533 91297 +20077 40348 +15734 98495 +16723 33825 +86591 17352 +94388 93695 +93673 94388 +13315 21870 +40830 51935 +82991 13775 +47510 76355 +60367 44803 +42991 96811 +68133 97121 +12428 85446 +92458 59298 +23447 77362 +69386 55285 +87983 51820 +19536 45124 +61043 39158 +36359 40999 +54106 32977 +27770 50682 +97994 50513 +97139 71570 +59487 28066 +78513 54094 +15414 48255 +86953 72653 +38441 98429 +33679 48233 +60100 50682 +33907 34601 +10124 88283 +11220 93952 +15138 98429 +26274 99867 +36249 87426 +13627 26046 +36226 86751 +25154 37461 +41695 74797 +81565 70611 +32563 86070 +93404 50682 +96620 72496 +24973 31850 +19904 10910 +55206 49606 +93915 40163 +34934 95770 +10265 46648 +79354 71250 +85569 52999 +77297 36485 +90937 81617 +97132 64100 +96756 42906 +98381 51086 +61349 72697 +85328 49286 +52030 42713 +56714 81367 +93948 36187 +38301 53896 +47479 83419 +53684 79679 +53121 96811 +96478 74339 +74646 93673 +88470 18402 +45305 34790 +81551 98429 +41245 64100 +85932 26773 +86668 88659 +33628 88492 +32554 24203 +37025 20978 +91036 70673 +76587 61846 +62748 64100 +90639 34769 +91562 40057 +26461 91210 +72046 56098 +66695 94812 +36065 61043 +99518 72653 +83934 66788 +92811 65107 +91389 94388 +94675 52030 +59272 66960 +21199 38563 +88109 74797 +77145 50682 +48782 14125 +15012 31850 +20350 32442 +55440 96253 +97974 32093 +98551 89149 +92344 34435 +20717 19666 +64754 28738 +69981 28136 +52305 52030 +95067 61128 +63324 40701 +87751 77588 +51000 52030 +74532 26437 +65957 35681 +16811 33442 +23693 70375 +21802 20326 +93547 42906 +32481 24315 +68943 88283 +75697 26046 +17283 45376 +25159 30097 +52161 91481 +76541 92369 +51274 30715 +23416 20326 +23132 59298 +86677 84925 +80233 96656 +44474 84330 +30098 98429 +67164 31850 +91166 71981 +78854 72653 +90762 52030 +41492 72653 +28347 96811 +72812 78804 +72408 61326 +83897 38869 +85054 18018 +65758 71570 +13245 38815 +48161 55421 +58204 66788 +60617 42906 +10327 23944 +13964 42906 +41660 64187 +39627 95788 +59237 61587 +95549 21424 +98289 52030 +58433 89108 +18693 52077 +51457 96811 +65976 40711 +89417 83230 +22641 57413 +13529 70611 +88690 73009 +65879 94388 +20808 39722 +28788 24251 +44418 58443 +87158 64256 +79022 88283 +54446 72653 +26062 91265 +90640 10843 +23116 88283 +95292 11447 +19232 88283 +11116 78586 +43868 89893 +90539 59298 +75441 31850 +76692 52326 +48862 44061 +34930 31850 +50595 31850 +58670 85233 +53507 16440 +82107 10132 +75846 57547 +99835 67161 +56075 99694 +67296 64100 +64256 11103 +91056 78804 +28021 47329 +11379 96811 +81085 47612 +31336 57820 +17779 96572 +88057 47613 +47972 60086 +61344 20741 +43231 64184 +67779 62191 +49640 89260 +10835 37168 +97080 52030 +88903 11194 +62011 26365 +24971 67832 +80793 99363 +45123 35187 +31966 44533 +74528 40348 +74601 17051 +88853 71570 +45209 41925 +71343 93083 +34456 20451 +33827 39511 +98152 94480 +47431 87694 +38458 85104 +27159 75853 +91443 78075 +96552 64100 +75660 81565 +42836 32719 +54697 59298 +58472 86075 +40825 34181 +28861 42906 +10358 68420 +80732 11766 +80150 53732 +11958 75643 +17301 72653 +15279 59298 +34102 65277 +72633 76714 +71810 51086 +11156 71570 +48131 88413 +73249 96811 +76299 35234 +87833 54202 +51068 76152 +51618 52030 +40827 24126 +39214 74797 +12413 24231 +80696 24253 +86927 53048 +20911 58521 +79954 91697 +75654 72653 +83677 56434 +82291 86048 +92409 72653 +84096 50682 +82397 48070 +42879 71570 +86705 70534 +59170 21958 +66482 26046 +91136 91398 +23650 27728 +99493 34344 +21956 26046 +13197 53502 +25952 74281 +36758 31850 +28902 61333 +88284 43229 +98539 50407 +50311 94388 +85893 98429 +71747 12547 +59298 16936 +75456 27595 +52597 93673 +85501 33154 +13322 42980 +41766 80539 +76709 94718 +46677 51224 +34272 34471 +49668 33250 +18142 57823 +66483 42995 +99423 61131 +29355 57820 +49611 32391 +10681 79504 +92288 40877 +21485 80560 +47844 10970 +41566 20326 +73942 56745 +95716 30859 +11417 88283 +39901 27962 +48515 72653 +92854 95788 +83788 14482 +85809 42906 +83369 46409 +67216 11280 +63187 72653 +40836 42906 +48169 70747 +93475 61043 +95539 19674 +79772 18492 +85336 96701 +27052 26961 +19908 53479 +32169 48038 +77703 70611 +98416 42906 +79603 45260 +22158 24520 +43444 21432 +16784 51094 +80373 18684 +29615 19779 +56706 78629 +78999 73960 +69792 16059 +50574 88731 +43085 48822 +40424 70669 +40659 70673 +60951 50682 +41601 51086 +81592 94388 +42681 76889 +87581 65868 +40459 95788 +17969 95255 +63595 64963 +74221 96707 +28922 42906 +46071 31649 +42637 14131 +63288 51472 +97600 70673 +72959 81565 +47142 30591 +32530 80283 +47758 56746 +85217 55253 +40682 79009 +72653 18941 +94919 71570 +90029 74951 +81036 50682 +17904 78804 +15101 71981 +26769 63627 +78892 50682 +95883 95788 +45661 55253 +11689 25718 +98567 71889 +15971 11729 +23868 99762 +33359 17733 +40012 85446 +58662 82121 +46377 50682 +98838 13274 +61061 55585 +94085 65381 +55691 31438 +98482 57820 +91548 28789 +49386 53382 +56553 52030 +28575 44903 +98113 60486 +27515 52030 +42472 40366 +36329 12658 +99313 88283 +54905 14798 +44030 98429 +73520 97320 +61505 30200 +32325 76047 +13604 24231 +98622 35732 +41298 41486 +88802 58191 +20423 26046 +37518 19787 +79067 91752 +36272 71502 +69856 52869 +85655 83333 +13412 21014 +66788 97244 +58189 79824 +42086 20326 +75726 74777 +37893 56588 +39283 61043 +95411 13244 +88657 79006 +37945 64814 +86146 35278 +87759 50682 +35055 88283 +37376 88377 +92315 29292 +17581 98429 +49321 55921 +97315 47331 +43297 93825 +84695 80805 +63922 96811 +50122 78365 +41396 69606 +77903 27637 +57282 22485 +84703 95788 +48942 69159 +56565 18261 +36812 17200 +88789 64926 +45642 42517 +63148 74493 +54947 25946 +74339 20725 +10397 31473 +19061 36904 +32245 25691 +18475 57808 +12780 91641 +54127 29122 +97341 63885 +46608 52030 +35994 51086 +96325 40477 +75194 59574 +34747 82983 +73974 42520 +39820 52030 +89442 51086 +43464 78804 +80188 83704 +16539 56792 +95788 30010 +27562 85446 +55974 25811 +64976 42906 +17911 31850 +49625 39754 +59333 26088 +61262 25480 +86710 31850 +50589 77141 +95614 52030 +23767 82669 +13983 32783 +55623 94388 +55673 52493 +40972 58178 +84655 23326 +32258 57820 +81841 72653 +27119 72653 +64466 38420 +82208 74254 +97984 45065 +94802 29150 +75481 64831 +24536 49169 +51773 23775 +59372 77788 +18923 46078 +88283 23745 +22820 51086 +79410 50682 +46925 94350 +26424 72113 +26457 52030 +38519 98125 +22397 42906 +10986 98705 +11783 11848 +61166 71570 +44915 65782 +60772 77169 +64272 57206 +62342 15208 +37677 15026 +24478 83868 +80585 42906 +36302 52043 +85630 71570 +29282 38594 +18294 59049 +47810 80251 +87777 17594 +36170 78804 +10332 59298 +92037 51086 +39743 79598 +24231 14834 +85100 26691 +16145 80328 +33807 24231 +54349 56810 +16488 48476 +71690 99852 +57119 42906 +13765 50067 +72515 62944 +81148 27356 +23757 65868 +13537 19185 +62084 57820 +34055 94293 +85617 52030 +70458 81565 +40529 66788 +43772 24231 +77818 96811 +60639 52030 +97001 94388 +54665 51320 +57968 98429 +56851 70611 +32614 61208 +53468 17942 +92837 99750 +68324 43638 +35832 17188 +17250 14295 +37188 70673 +10666 94388 +56749 64256 +86911 87480 +66675 43225 +39119 83042 +48026 20614 +81847 94819 +41594 60990 +94731 57274 +66701 85446 +85513 21776 +18880 36162 +54141 63061 +47560 31532 +19848 91990 +97554 33600 +24344 63021 +13553 88283 +72113 77649 +91672 59298 +31850 72653 +59206 20326 +95743 74339 +94493 28964 +67415 64100 +94195 71570 +56742 90541 +65316 59761 +23396 26046 +11406 58551 +74349 26046 +71377 60422 +77729 54781 +88023 78370 +17652 79006 +27233 53102 +60776 99834 +59784 78804 +54660 31850 +10994 27445 +46676 14719 +76436 74339 +70673 68390 +65192 70429 +66948 23099 +44572 88283 +40935 58761 +37124 94678 +57606 63291 +30461 74112 +64079 45380 +46535 51086 +58521 17069 +77559 24186 +73603 57820 +59649 52030 +12671 24231 +34305 36208 +12525 48556 +88852 10662 +48757 42906 +45044 81565 +52094 71011 +85075 62377 +45072 50682 +13192 61043 diff --git a/inputs/2 b/inputs/2 new file mode 100644 index 0000000..21576b4 --- /dev/null +++ b/inputs/2 @@ -0,0 +1,1000 @@ +38 41 44 47 50 47 +75 78 79 82 85 85 +11 13 16 19 21 25 +39 40 43 44 50 +75 77 80 78 80 83 84 87 +17 20 23 21 22 23 24 22 +80 82 79 80 82 82 +50 51 49 52 56 +78 80 82 83 80 81 82 88 +43 45 48 50 52 52 55 +34 35 38 38 41 39 +51 54 57 60 62 63 63 63 +24 26 27 30 33 33 34 38 +24 25 26 26 27 28 33 +33 35 37 41 44 46 +55 58 60 63 66 70 71 70 +90 93 94 98 98 +63 64 67 69 73 77 +13 15 18 22 25 28 34 +60 63 68 70 71 74 76 79 +76 79 82 89 87 +63 66 69 71 74 76 82 82 +55 57 63 64 66 70 +63 64 67 68 74 75 82 +47 45 46 47 49 +22 21 22 24 27 26 +67 64 65 67 69 72 75 75 +24 22 24 26 28 31 35 +50 48 49 52 57 +69 67 70 71 68 69 70 71 +38 37 38 39 42 41 38 +34 32 31 32 32 +14 13 14 17 19 18 22 +76 74 77 79 80 83 81 88 +89 87 87 90 92 +86 85 87 90 90 92 93 92 +34 33 34 37 37 37 +91 88 89 92 92 96 +84 82 83 86 88 88 95 +10 8 10 14 16 18 +67 64 66 68 72 70 +31 30 32 36 38 38 +64 61 65 66 69 70 74 +61 60 61 65 68 75 +56 53 55 56 63 64 +37 34 35 36 43 44 42 +41 39 41 44 50 51 51 +36 33 34 40 42 43 45 49 +45 44 45 47 50 57 63 +84 84 85 87 90 91 92 +40 40 41 43 46 49 47 +24 24 25 28 30 30 +86 86 88 89 91 94 95 99 +28 28 30 33 35 37 38 43 +74 74 76 73 76 +85 85 86 84 82 +93 93 92 93 96 96 +70 70 73 72 76 +49 49 48 49 54 +12 12 13 15 18 18 21 +59 59 61 63 66 68 68 66 +28 28 31 31 31 +89 89 89 91 95 +24 24 26 28 28 31 32 39 +70 70 71 75 78 81 82 +45 45 48 50 54 51 +42 42 46 48 50 50 +12 12 13 17 19 21 24 28 +4 4 8 11 18 +18 18 19 24 26 +45 45 50 52 53 50 +60 60 62 65 68 74 74 +49 49 51 58 60 61 64 68 +21 21 28 29 30 36 +69 73 76 79 82 +5 9 11 14 17 18 15 +4 8 10 12 12 +62 66 68 69 73 +2 6 7 9 10 11 13 19 +54 58 55 58 59 62 +1 5 7 4 5 3 +55 59 56 58 61 64 64 +85 89 86 88 90 93 97 +79 83 82 84 89 +40 44 44 45 46 +19 23 24 24 23 +28 32 33 33 36 36 +28 32 32 35 38 42 +47 51 52 52 53 59 +29 33 35 37 41 42 +75 79 83 84 85 88 85 +41 45 49 51 54 55 55 +36 40 42 44 48 52 +16 20 23 25 29 36 +47 51 54 55 57 62 63 +87 91 93 99 96 +15 19 21 26 26 +37 41 44 49 52 55 59 +9 13 20 21 28 +16 22 23 26 29 +34 41 43 44 47 48 46 +3 10 12 13 14 14 +16 23 25 28 31 35 +18 24 26 28 29 32 37 +59 66 69 70 73 70 72 +40 45 46 49 46 49 46 +14 20 22 24 27 24 24 +75 82 83 86 84 88 +14 21 22 24 23 26 29 36 +1 7 10 10 11 13 14 16 +2 8 9 12 14 14 12 +2 9 9 12 13 14 14 +10 15 17 17 21 +54 59 60 60 65 +70 77 79 83 84 +21 28 32 35 36 38 37 +26 33 34 38 41 42 43 43 +4 11 12 16 17 18 21 25 +25 32 33 35 38 42 45 50 +19 26 28 29 34 37 40 43 +39 46 51 53 56 57 55 +1 8 13 15 15 +55 62 65 66 71 72 76 +42 49 56 57 58 59 61 68 +78 76 75 74 76 +30 29 27 26 24 23 21 21 +16 13 11 10 7 3 +41 40 38 37 34 32 31 25 +49 46 48 47 44 41 +71 69 71 69 71 +6 3 5 2 2 +94 91 88 86 83 84 82 78 +35 33 30 33 30 25 +43 40 38 38 36 35 33 +34 32 30 29 28 28 27 29 +61 58 58 55 54 52 52 +79 77 76 76 73 69 +81 79 76 73 73 71 66 +20 19 17 13 10 +94 92 89 88 86 83 79 81 +55 54 51 47 47 +27 26 24 21 17 15 11 +20 19 18 14 13 10 4 +50 49 48 47 45 39 36 34 +82 80 74 71 74 +93 92 89 88 83 81 81 +98 95 89 88 85 81 +28 25 23 20 18 11 9 2 +6 7 4 2 1 +52 53 51 49 50 +7 9 8 7 6 5 4 4 +89 90 88 86 83 81 77 +29 32 31 29 28 21 +68 70 72 69 68 65 64 61 +85 87 86 85 87 89 +46 49 48 49 49 +83 84 82 83 79 +32 35 33 35 28 +14 17 16 16 14 +46 47 47 44 47 +15 18 16 13 13 13 +11 13 12 12 11 8 4 +92 93 92 92 89 82 +39 41 38 37 33 31 +12 13 12 8 6 5 3 4 +70 73 70 67 66 62 59 59 +17 18 17 16 15 13 9 5 +39 42 38 35 32 29 27 22 +54 57 54 49 47 +51 54 52 50 45 48 +24 25 24 17 16 16 +32 34 27 25 21 +38 39 37 32 27 +14 14 11 10 7 5 2 +87 87 86 85 82 81 82 +50 50 47 44 43 43 +78 78 76 73 69 +21 21 20 17 16 13 12 6 +53 53 56 53 51 49 48 45 +92 92 95 93 91 89 87 88 +6 6 7 5 3 1 1 +98 98 96 98 95 93 92 88 +15 15 17 14 13 12 9 3 +38 38 38 35 34 33 31 +42 42 40 39 39 36 38 +32 32 31 28 28 27 27 +9 9 9 8 5 1 +49 49 47 44 42 41 41 35 +49 49 48 47 43 40 +61 61 58 56 52 49 46 49 +87 87 83 80 80 +91 91 89 85 84 80 +27 27 26 22 17 +91 91 90 89 82 81 78 +50 50 48 45 38 39 +12 12 6 3 1 1 +84 84 82 81 74 72 70 66 +50 50 47 45 43 38 37 31 +82 78 77 74 71 +94 90 89 86 89 +16 12 10 7 7 +85 81 80 77 73 +86 82 79 76 69 +90 86 85 86 83 82 +46 42 39 36 38 41 +16 12 15 13 10 7 4 4 +38 34 37 35 33 31 27 +53 49 47 44 46 45 38 +58 54 54 53 50 +69 65 63 61 58 58 57 58 +28 24 23 22 21 21 21 +32 28 28 25 22 18 +19 15 13 13 10 4 +63 59 56 52 49 47 46 45 +32 28 25 21 19 17 15 18 +62 58 57 56 52 52 +93 89 88 87 83 79 +94 90 87 83 76 +72 68 65 60 58 55 +44 40 37 30 32 +69 65 64 63 61 58 51 51 +82 78 76 70 69 66 62 +62 58 52 51 45 +90 85 82 81 79 78 75 72 +76 69 67 66 69 +68 63 61 60 58 56 56 +72 65 62 60 56 +81 74 73 71 68 65 58 +69 63 60 63 62 60 +69 62 61 60 58 57 60 61 +57 51 53 51 50 49 49 +26 20 18 21 19 15 +44 39 36 37 30 +48 41 41 39 37 +29 24 24 22 23 +38 31 28 28 27 27 +97 92 90 90 88 84 +53 46 45 42 42 35 +72 67 64 60 58 55 53 +69 64 63 62 60 57 53 56 +32 25 22 18 16 16 +24 17 13 12 8 +31 24 21 19 15 9 +41 36 29 27 24 21 20 18 +22 15 10 7 5 7 +56 51 50 48 42 39 38 38 +59 52 49 43 39 +89 82 81 78 72 69 64 +8 10 11 12 14 15 16 13 +18 20 21 22 24 26 26 +36 37 39 42 45 48 50 54 +15 16 18 20 21 28 +10 13 10 11 13 +87 90 93 96 98 99 97 94 +96 97 98 96 96 +6 7 4 5 8 12 +53 55 53 55 60 +26 27 29 30 30 32 33 +43 44 44 47 46 +31 33 35 35 38 41 44 44 +13 16 17 19 19 21 22 26 +29 31 31 34 35 37 40 45 +83 84 86 87 91 93 96 +78 80 83 84 88 86 +1 2 3 5 9 11 11 +3 4 8 9 10 14 +66 69 73 75 80 +15 18 19 21 28 29 31 +74 76 79 84 86 89 87 +17 19 22 24 31 31 +13 14 15 18 23 25 27 31 +26 27 29 34 37 44 +38 35 38 39 40 41 42 +78 76 78 79 81 80 +8 6 7 8 9 10 10 +56 55 56 59 62 63 65 69 +43 40 42 45 47 48 53 +88 86 85 88 90 +75 74 77 75 76 77 80 77 +7 6 9 6 8 8 +54 52 53 52 53 54 58 +32 29 30 33 32 37 +66 63 64 65 65 66 +85 82 82 83 82 +71 69 69 70 71 71 +82 80 83 86 88 88 92 +92 89 89 90 93 94 99 +72 70 72 73 75 79 80 +51 48 49 50 54 55 58 57 +72 70 73 75 79 80 80 +71 68 71 72 76 80 +49 48 52 55 56 59 65 +42 40 41 44 49 50 +65 63 69 70 71 70 +46 44 45 48 49 54 55 55 +20 18 20 23 30 32 36 +29 27 30 37 40 45 +86 86 88 90 92 +79 79 80 83 86 89 92 89 +73 73 76 79 81 83 83 +61 61 62 63 65 67 71 +87 87 90 91 98 +48 48 51 50 53 56 +54 54 53 54 52 +92 92 91 92 95 95 +31 31 33 36 37 34 35 39 +55 55 52 53 58 +82 82 83 84 86 86 87 89 +20 20 20 21 20 +27 27 30 30 31 31 +22 22 23 23 24 27 28 32 +82 82 84 85 85 87 93 +41 41 45 46 49 50 +61 61 65 67 69 68 +54 54 58 61 64 64 +48 48 52 55 59 +16 16 17 21 26 +18 18 21 24 29 30 32 33 +26 26 29 35 32 +15 15 18 21 24 25 32 32 +63 63 65 71 73 77 +36 36 39 42 45 46 53 60 +40 44 45 47 50 52 +3 7 9 11 12 15 12 +39 43 45 48 49 50 53 53 +1 5 6 9 10 14 +81 85 88 90 91 92 99 +25 29 31 34 32 35 +71 75 77 76 73 +38 42 39 40 42 44 44 +1 5 8 10 9 10 14 +80 84 85 84 86 92 +72 76 78 81 81 84 85 +85 89 92 92 93 95 94 +89 93 93 94 94 +8 12 13 14 15 16 16 20 +57 61 63 66 66 72 +82 86 89 90 93 97 98 99 +4 8 10 14 15 13 +4 8 9 11 15 15 +26 30 33 36 37 41 45 +10 14 16 20 22 29 +3 7 12 15 18 +72 76 78 79 82 87 90 89 +71 75 77 82 82 +71 75 82 84 88 +15 19 26 29 34 +66 72 74 76 78 81 +13 19 22 23 20 +43 50 53 56 58 58 +67 72 73 76 78 82 +67 73 75 77 80 83 84 89 +71 78 77 80 83 +23 30 32 33 32 31 +31 36 39 36 36 +35 41 43 46 45 48 52 +36 43 40 42 48 +49 54 55 57 57 60 63 64 +42 49 52 52 49 +65 70 73 73 75 77 80 80 +61 66 66 69 70 71 73 77 +32 38 38 40 47 +65 72 74 75 77 81 84 +42 48 49 51 55 53 +47 54 56 57 61 62 62 +7 14 16 20 21 22 26 +45 50 52 55 59 62 64 71 +37 44 49 52 53 +27 32 38 40 42 45 46 45 +47 52 58 59 61 61 +1 6 7 12 13 14 17 21 +40 47 53 55 56 63 +74 73 72 70 68 66 63 66 +11 9 7 5 3 3 +38 35 33 31 29 25 +66 64 62 61 60 59 56 49 +20 17 16 17 14 12 11 10 +88 87 88 85 82 81 80 83 +40 37 40 38 37 34 33 33 +13 11 13 11 8 7 3 +64 61 60 63 62 55 +28 26 26 23 22 19 +13 10 7 6 6 7 +53 50 49 49 47 45 45 +71 68 66 65 65 62 60 56 +80 77 75 73 72 72 69 62 +39 37 34 30 29 27 +40 38 37 33 34 +39 37 33 31 29 26 24 24 +60 57 53 51 47 +26 23 19 18 11 +57 56 51 49 48 47 46 44 +75 74 67 66 63 62 61 62 +26 25 20 17 17 +30 29 27 21 19 18 14 +86 85 79 78 71 +38 39 38 35 34 31 30 +52 53 50 49 46 44 45 +92 93 92 91 90 90 +24 27 25 24 23 19 +29 32 29 28 25 24 18 +77 78 81 78 77 75 +21 22 21 19 21 22 +32 35 32 31 32 31 28 28 +81 83 84 82 80 78 74 +23 24 21 18 17 18 15 8 +20 22 21 21 18 +54 57 56 55 53 51 51 52 +11 12 10 10 10 +45 46 45 44 42 42 38 +69 70 67 65 65 64 58 +15 16 15 11 10 9 8 +37 38 34 33 31 29 27 29 +46 49 46 45 41 38 37 37 +41 43 39 37 36 32 +82 85 81 79 77 74 69 +85 87 84 82 81 76 73 71 +75 78 73 70 73 +43 45 38 36 35 33 33 +62 65 59 58 55 51 +31 34 32 27 24 17 +11 11 8 7 4 1 +94 94 93 91 90 87 86 87 +26 26 23 20 19 17 17 +12 12 10 9 7 3 +79 79 78 76 75 69 +16 16 17 16 13 +38 38 35 34 37 36 33 35 +37 37 36 37 36 34 32 32 +48 48 47 50 48 45 41 +53 53 52 49 51 49 42 +78 78 78 76 75 +91 91 90 87 85 85 82 85 +58 58 56 54 51 51 51 +29 29 27 27 26 25 23 19 +71 71 71 70 69 64 +17 17 14 11 7 4 3 1 +21 21 19 15 17 +28 28 26 22 22 +51 51 50 46 42 +26 26 25 21 20 17 11 +72 72 70 65 63 61 58 56 +84 84 78 77 80 +40 40 39 36 31 29 28 28 +22 22 21 18 13 11 10 6 +63 63 61 56 54 47 +91 87 84 81 78 77 +97 93 91 89 86 85 84 87 +19 15 14 13 13 +20 16 13 12 10 6 +96 92 90 88 86 83 76 +97 93 95 94 92 89 +47 43 41 38 36 38 40 +85 81 84 81 79 76 76 +80 76 77 75 71 +32 28 26 29 27 24 23 18 +30 26 24 24 21 19 18 17 +22 18 16 16 18 +77 73 71 71 69 68 67 67 +41 37 36 34 31 31 28 24 +97 93 91 88 85 85 79 +47 43 39 36 34 +29 25 23 21 17 19 +55 51 48 47 43 43 +91 87 86 83 79 78 74 +54 50 46 45 40 +42 38 37 32 31 +40 36 30 29 28 25 24 27 +55 51 44 43 40 37 37 +45 41 36 33 29 +74 70 63 61 54 +38 31 29 26 24 23 +55 50 47 44 41 39 40 +64 57 56 54 53 50 50 +26 20 19 17 13 +86 79 76 73 67 +21 15 12 9 6 3 6 3 +90 85 83 80 82 84 +59 52 54 51 51 +41 35 37 34 31 28 24 +48 42 40 38 35 34 36 31 +40 35 34 34 32 +69 62 62 59 61 +79 73 71 68 67 67 65 65 +57 52 49 48 48 47 45 41 +37 30 29 29 27 26 19 +45 38 35 31 28 +80 74 70 68 66 64 61 62 +91 84 80 78 76 76 +22 16 13 11 7 3 +34 29 25 24 22 15 +87 82 76 73 72 +29 22 19 13 10 13 +86 79 73 72 72 +71 66 65 63 56 55 51 +37 32 25 22 19 18 11 +87 87 86 85 78 76 76 +7 11 13 15 18 +47 46 48 50 51 56 58 63 +35 35 36 35 33 30 32 +38 34 32 25 24 26 +46 41 38 35 32 32 +19 19 15 13 12 5 +22 18 17 16 13 10 9 5 +65 69 72 77 78 +23 22 25 25 24 +3 2 4 5 12 15 +21 21 20 13 11 +45 45 44 43 42 40 38 41 +66 64 63 62 64 64 +39 32 31 27 20 +23 20 18 18 15 12 9 5 +44 41 42 45 48 49 52 56 +10 14 17 18 16 +86 81 75 74 68 +77 76 73 70 69 69 +25 23 26 32 30 +16 20 23 21 24 28 +80 80 83 85 85 82 +21 21 18 20 21 24 26 +26 29 28 26 21 +9 15 17 19 20 21 23 28 +57 58 61 63 65 69 70 75 +72 75 78 81 86 88 90 91 +66 68 69 74 79 +16 15 15 16 17 24 +60 66 67 66 69 76 +46 42 43 42 41 39 34 +31 31 34 34 34 +18 18 14 13 11 7 +1 1 4 5 6 8 15 +43 47 49 55 59 +11 11 14 17 16 +31 34 32 30 29 28 29 +99 99 97 97 95 98 +66 68 72 74 78 +6 13 15 16 19 19 20 21 +91 92 91 91 89 90 +33 39 42 46 52 +51 50 51 52 52 +41 38 40 43 47 48 52 +40 36 34 32 32 29 29 +35 34 37 39 43 44 47 +89 87 86 83 81 79 78 71 +33 29 26 21 20 15 +70 72 73 74 77 77 78 78 +86 87 85 87 89 92 95 +56 59 58 56 55 55 52 52 +8 8 10 11 12 11 17 +29 30 27 26 23 22 20 20 +47 53 55 56 57 59 56 56 +8 8 10 11 15 19 +15 15 16 21 24 27 28 25 +55 52 55 58 65 67 67 +74 68 65 64 62 60 58 52 +30 34 36 35 37 +64 60 59 57 54 53 52 47 +34 36 38 36 39 42 46 +36 30 30 29 26 25 22 22 +95 96 98 96 95 +49 47 44 41 37 +8 14 15 15 18 19 16 +40 42 40 40 33 +50 48 51 51 51 +18 17 20 23 26 26 27 31 +87 91 92 93 93 97 +50 53 56 60 62 64 +71 75 79 81 81 +74 76 70 68 63 +27 22 19 21 20 20 +67 63 62 58 56 54 52 48 +83 85 88 91 92 93 96 96 +67 74 76 74 75 78 80 78 +60 60 57 53 53 +16 15 14 17 20 22 25 29 +66 69 66 66 62 +65 69 72 75 74 74 +52 45 42 40 43 +17 17 20 23 26 31 35 +35 40 42 44 45 44 +80 79 80 82 83 83 84 +25 24 20 17 16 13 8 +88 81 80 77 73 75 +70 69 69 67 61 +9 14 15 21 22 19 +40 40 43 44 45 46 49 52 +78 73 72 70 71 68 +14 20 23 25 31 37 +16 22 23 24 26 25 26 +32 28 26 24 24 +24 21 24 27 28 32 38 +47 48 47 45 41 +45 49 53 54 57 63 +37 40 42 44 45 47 50 55 +42 42 39 42 44 47 47 +45 41 42 41 39 38 35 31 +13 9 7 6 2 2 +63 63 60 59 58 55 54 +44 41 40 38 37 32 28 +33 28 24 23 20 19 19 +27 21 18 18 17 16 15 16 +11 14 13 14 19 +87 83 80 77 70 68 65 65 +15 13 11 8 10 +35 39 40 39 41 39 +46 50 50 53 56 63 +76 79 77 70 68 +63 65 69 72 74 77 75 +30 34 36 38 41 42 46 +20 16 15 12 10 8 5 3 +41 45 45 48 45 +27 33 33 34 38 +78 83 84 90 92 96 +28 29 28 25 22 19 15 15 +81 83 83 80 78 75 +74 69 66 65 62 61 58 54 +89 83 81 79 78 77 77 74 +58 58 56 57 60 61 62 66 +9 12 14 17 19 22 25 24 +14 14 11 9 8 6 7 3 +22 22 20 17 19 14 +43 43 44 51 53 55 62 +75 75 74 73 73 70 +61 61 64 66 66 70 +38 35 35 33 31 29 32 +41 41 39 37 36 33 31 24 +73 70 72 69 76 +91 91 90 89 88 84 +12 16 20 23 25 27 30 34 +84 86 87 89 90 93 +94 92 89 86 85 84 83 82 +49 46 45 44 41 +21 19 17 16 14 12 10 +23 24 25 28 30 31 34 36 +15 12 10 8 6 +67 70 71 72 75 77 +27 26 24 23 20 17 14 +74 75 76 79 81 84 85 88 +35 34 31 29 26 24 23 +9 8 7 4 2 +17 16 13 10 8 6 4 3 +45 47 50 52 54 56 58 +28 29 30 31 32 35 38 40 +69 68 66 64 63 62 60 +43 44 47 48 51 52 +21 24 26 28 29 +29 27 25 22 19 18 16 +86 83 82 80 77 76 73 71 +23 21 20 17 16 15 12 10 +7 8 9 12 15 17 20 +26 28 30 33 36 38 +29 28 25 24 21 19 17 +86 84 83 81 78 77 74 +5 8 11 13 16 18 +70 71 72 73 76 77 +28 31 32 33 35 37 +27 25 24 22 19 +36 35 34 31 30 29 +30 28 25 22 20 18 15 13 +27 30 31 33 34 35 36 +15 17 18 21 23 24 +23 26 28 29 31 +76 79 82 83 86 87 90 91 +32 31 28 25 23 +3 4 5 8 9 10 13 16 +8 11 13 15 17 +58 56 55 54 52 51 48 +41 44 45 47 50 52 54 57 +66 65 64 62 60 59 57 +69 66 63 60 58 55 +27 30 31 33 34 35 36 39 +43 40 39 38 36 35 +42 41 39 36 33 +77 79 82 85 88 89 91 +14 13 12 9 6 4 3 2 +47 49 52 55 56 +88 91 92 93 96 97 99 +99 97 96 93 91 90 +74 77 79 82 85 88 90 +1 4 5 7 10 11 +16 18 21 24 26 28 30 +99 96 93 90 89 +70 69 66 64 63 60 58 57 +77 75 72 69 67 64 +30 27 25 23 21 18 +87 84 83 81 79 77 +20 21 24 27 29 +29 26 23 21 20 17 16 14 +43 41 40 39 38 36 35 +61 64 66 68 70 73 74 75 +39 41 42 43 44 46 49 +17 20 23 25 28 29 30 31 +37 40 43 45 48 49 51 54 +49 52 54 57 58 +15 18 21 24 27 30 +20 18 16 15 14 +86 85 82 81 80 77 +62 61 60 58 56 54 53 52 +16 13 10 9 6 4 3 2 +14 13 11 9 8 7 6 5 +55 56 57 59 62 63 66 +59 61 64 66 67 69 72 75 +14 17 19 21 22 +52 49 47 46 43 +80 82 84 85 88 +18 15 13 11 10 +86 83 80 79 78 75 74 +50 49 46 44 42 41 +46 48 50 52 54 55 58 +64 61 59 57 55 52 +10 11 14 17 19 20 +86 85 83 80 78 77 74 +57 55 54 53 50 49 +72 70 69 68 67 64 63 60 +60 59 56 55 53 52 +46 48 51 54 55 58 61 +24 23 22 20 17 15 12 +71 74 76 78 80 81 84 +30 33 34 35 37 39 40 43 +67 68 70 73 75 78 80 81 +53 51 49 46 43 42 +46 47 48 49 50 52 +16 17 18 20 23 25 27 28 +74 72 71 69 66 65 64 63 +98 97 94 91 88 87 85 +49 48 47 45 44 42 41 38 +83 84 85 87 88 89 90 +41 44 46 48 50 51 52 53 +56 58 59 62 65 67 70 +33 32 31 28 27 25 +57 58 61 64 66 69 +60 59 56 53 50 47 +69 70 72 73 75 78 +39 42 44 47 48 +57 60 61 62 63 66 68 69 +2 3 5 7 9 10 +66 67 68 69 70 71 72 +9 8 7 4 1 +86 84 81 79 76 73 72 +56 55 54 52 50 +35 38 41 42 45 46 +41 39 38 35 34 31 +85 82 79 76 73 71 69 +10 13 14 15 16 19 22 +31 28 26 24 22 19 +89 88 86 83 82 81 80 +50 47 46 44 43 42 39 38 +64 63 60 59 56 54 51 49 +43 41 40 39 37 35 33 +64 61 58 57 54 52 50 +41 44 45 47 49 +89 90 93 94 96 +39 36 33 30 27 25 +30 28 27 25 24 +83 84 86 88 89 92 95 +42 41 38 35 32 +30 29 27 26 23 22 21 20 +8 10 11 12 15 +59 56 54 52 51 +64 63 61 59 56 54 53 52 +68 69 70 73 75 76 79 +62 64 66 68 70 73 75 +33 35 36 37 39 41 +49 52 55 56 59 61 +46 48 51 53 54 57 60 61 +24 26 29 31 33 34 35 +41 39 36 35 34 33 30 +98 96 93 90 87 86 84 +31 29 28 27 25 22 21 +28 31 32 34 35 36 39 +76 77 80 82 84 86 +10 12 15 17 18 19 22 +75 76 79 81 83 +44 43 41 40 38 35 32 31 +63 65 67 70 73 75 77 78 +69 66 63 62 60 +17 20 22 24 26 27 +90 87 85 82 81 78 +95 94 93 90 87 85 83 80 +18 21 23 24 26 +43 41 40 38 37 35 33 32 +70 71 72 74 75 78 79 80 +32 30 27 25 23 21 +55 57 59 62 64 67 69 +52 53 54 56 59 61 62 65 +29 27 24 21 20 +41 42 44 45 46 47 +67 69 70 73 76 +24 22 21 20 17 14 13 +73 72 69 67 65 63 61 +19 20 22 23 24 25 28 29 +37 36 35 34 31 30 29 27 +42 43 44 46 49 +79 82 85 88 90 +27 25 22 20 18 +47 49 52 55 57 +68 66 64 62 59 56 +89 87 84 82 80 +93 91 90 87 86 +31 28 26 25 22 +12 9 7 4 2 +27 26 24 22 21 +71 74 76 79 81 82 +24 23 20 17 14 11 10 +58 55 52 49 48 +97 94 92 89 87 86 85 82 +91 88 87 85 83 82 +63 60 57 56 53 52 51 49 +63 66 68 70 73 76 +22 20 19 18 15 13 +65 63 62 61 60 59 +97 95 94 91 88 85 +13 15 18 20 21 23 +66 67 70 71 74 77 +61 60 58 56 53 52 49 +17 15 12 11 10 7 6 3 +86 87 88 89 91 92 +78 80 83 86 89 91 92 94 +66 65 63 62 61 59 58 +84 86 88 89 92 +80 83 86 87 88 +69 68 65 62 60 59 56 53 +57 59 62 65 68 69 72 73 +11 14 15 16 18 21 22 +20 21 23 26 29 31 33 +26 25 24 22 20 18 +25 28 29 32 34 +63 62 61 60 59 57 56 +69 72 75 77 80 82 83 86 +59 56 53 50 48 45 42 +30 33 34 36 37 40 +51 48 45 42 41 +79 81 83 85 87 89 90 93 +59 61 63 64 66 69 70 72 +44 45 46 49 51 54 57 59 +40 41 42 43 46 48 51 +10 13 15 17 20 21 23 25 +11 9 6 5 4 3 +88 90 91 93 94 97 +94 93 90 87 84 83 80 78 +72 74 76 79 82 83 86 +91 90 89 88 87 86 +24 27 30 33 35 37 38 41 +54 53 50 48 45 43 40 +75 74 72 70 68 66 63 +86 85 83 80 78 75 +72 73 76 77 78 79 82 +81 79 78 77 76 74 71 69 +11 14 16 19 21 +83 80 77 74 71 70 +75 77 79 82 85 87 89 91 +38 40 41 44 47 49 +37 39 40 43 46 48 51 +26 25 22 21 19 16 +28 25 24 22 19 17 15 14 +99 96 93 91 88 87 86 +68 67 66 65 62 60 58 +36 38 41 43 46 +69 71 74 76 78 80 83 85 +37 34 31 28 27 26 +70 73 76 77 78 80 81 83 +65 64 61 59 57 54 52 +13 10 9 6 4 +85 88 91 93 94 +77 78 80 83 86 87 90 93 +36 37 38 39 42 45 46 47 +66 69 70 73 76 79 80 +81 80 77 75 74 71 69 +56 53 50 47 45 42 40 +75 72 70 67 65 64 61 59 +35 33 30 28 26 24 21 +13 14 16 17 18 20 23 25 +30 31 32 33 36 39 +40 37 35 34 32 29 26 25 +19 17 16 14 13 12 11 9 +54 53 50 47 44 +65 64 62 60 57 54 +37 35 32 29 27 +28 29 32 35 38 40 43 46 +87 90 92 93 95 97 +9 10 13 16 17 18 20 +60 57 55 54 53 52 50 47 +74 73 71 69 66 +62 63 66 69 70 71 +37 39 42 43 44 46 48 +15 18 19 20 22 +62 59 58 56 55 54 52 50 +29 26 25 23 20 19 +62 63 66 67 68 70 +97 96 94 93 92 91 88 +42 40 37 35 34 +65 63 60 57 56 54 51 +39 38 37 36 35 33 +45 42 39 36 34 33 +37 35 33 30 28 25 24 22 +20 19 16 15 12 9 +41 38 35 34 33 31 30 29 +69 67 65 63 62 59 +77 75 73 71 70 68 65 63 +3 5 8 10 13 16 18 +21 23 25 27 30 33 35 +67 66 64 62 60 +95 92 90 87 84 +66 63 60 57 56 53 50 49 +47 46 44 41 40 +39 42 43 44 47 +57 56 53 51 48 47 +23 24 25 26 28 30 31 +78 79 80 81 83 86 87 +13 16 18 20 21 24 +90 88 86 83 82 80 78 77 +82 80 79 77 76 73 71 68 +64 65 67 69 71 +64 66 68 69 71 73 74 +25 27 28 31 32 35 36 39 +54 55 57 58 59 +58 55 52 49 46 +18 15 12 9 8 5 3 +13 15 17 19 22 25 26 28 +77 79 82 85 88 +59 61 63 66 69 +15 12 11 8 7 6 +60 63 65 67 70 71 74 +75 74 71 68 67 65 63 +39 40 43 46 48 +67 70 73 75 76 78 81 +73 70 67 64 61 +22 24 25 28 31 +62 64 67 69 71 73 +44 41 40 37 36 33 32 31 +50 47 45 43 41 39 37 34 +36 38 40 41 42 +93 92 90 87 86 84 83 82 +17 14 11 10 8 +90 87 86 84 81 +56 57 60 63 64 66 67 69 +38 36 33 32 31 +67 64 63 60 57 54 52 51 +76 77 79 81 83 +82 83 86 87 88 +39 40 43 45 46 49 52 +67 68 71 73 75 76 78 81 +25 24 21 18 17 16 15 13 +89 86 83 80 78 77 75 72 +20 21 23 25 27 28 29 +1 4 6 9 12 15 18 19 +51 52 53 54 55 56 57 +71 70 68 67 65 62 61 +29 26 24 21 18 17 15 +55 53 52 50 49 48 46 45 +24 27 28 29 32 33 34 37 +61 64 65 66 67 68 +82 80 77 75 74 +71 68 66 63 61 58 56 54 +27 28 30 31 33 35 38 41 +12 13 16 19 21 24 26 +46 49 51 54 55 58 59 61 +63 62 60 57 54 +78 75 74 71 69 66 64 +84 82 80 77 75 72 +75 72 70 68 67 +52 54 57 59 61 64 +42 45 47 49 50 53 +80 83 85 86 88 91 93 94 +29 32 33 36 38 +4 5 7 8 9 +37 36 35 33 31 29 +58 59 62 63 65 67 +60 58 56 55 53 +76 79 81 82 84 86 87 +87 89 90 92 93 95 96 +59 61 64 65 68 +63 65 68 69 71 74 +81 83 86 89 90 91 94 95 +54 53 51 50 49 47 44 +78 81 83 86 89 92 +64 65 68 69 70 +30 28 25 22 21 18 17 +36 34 33 32 30 +31 30 27 24 23 22 21 18 +62 64 65 66 69 72 +9 6 5 3 1 +6 8 11 13 14 +51 49 48 47 45 43 41 +76 75 74 71 68 65 63 61 +83 85 88 91 92 93 +51 49 47 45 44 43 +69 66 64 62 60 58 +6 7 9 10 12 13 16 19 +45 44 43 42 41 +56 58 60 63 64 67 68 +71 73 76 78 81 83 84 86 +83 82 81 78 75 72 70 67 +51 50 48 45 42 39 37 +88 86 85 82 79 +51 48 46 43 42 40 39 38 +34 36 39 42 45 48 50 53 +27 24 22 21 19 17 16 +66 63 61 60 58 57 54 53 +83 84 87 90 91 94 96 98 diff --git a/package.json b/package.json new file mode 100644 index 0000000..29f8309 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "adventofcode2024", + "version": "1.0.0", + "scripts": { + "1": "node 1", + "1-2": "node 1-2", + "2": "node 2", + "2-2": "node 2-2" + }, + "author": "", + "license": "ISC", + "description": "" +}