From 5085bd943e8574008087414299db453ca6bb9a37 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Thu, 24 Nov 2022 23:37:06 +0000 Subject: [PATCH 01/14] =?UTF-8?q?Preparations=20=F0=9F=8E=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..c9e0e32 --- /dev/null +++ b/readme.md @@ -0,0 +1 @@ +# 2022 From d427598d1c596773479e88b3ffe8d308366de3ad Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Sat, 3 Dec 2022 00:44:32 +0000 Subject: [PATCH 02/14] =?UTF-8?q?DAY=2001!!=20Back=20on=20the=20AoC=20grin?= =?UTF-8?q?d=20=F0=9F=AB=B6=F0=9F=8F=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01/01.py | 21 + 01/input | 2235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2256 insertions(+) create mode 100644 01/01.py create mode 100644 01/input diff --git a/01/01.py b/01/01.py new file mode 100644 index 0000000..cb0c45c --- /dev/null +++ b/01/01.py @@ -0,0 +1,21 @@ +with open('input', 'r') as fp: + file = fp.read() + +elves_calories = file.split('\n\n') +elves = [] +for calories_string in elves_calories: + calories_list = calories_string.split('\n') + calories = 0 + while calories_list: + calories += int(calories_list[-1]) + calories_list.pop() + elves.append(calories) +print(elves) +print(max(elves)) + +top_3 = [] +while len(top_3) < 3: + biggest = max(elves) + top_3.append(biggest) + elves.remove(biggest) +print(top_3) diff --git a/01/input b/01/input new file mode 100644 index 0000000..b603a21 --- /dev/null +++ b/01/input @@ -0,0 +1,2235 @@ +2000 +12013 +5489 +11485 +2430 +7722 +5456 + +6693 +3867 +1645 +3924 +1545 +1910 +5443 +6276 +4574 +4147 +3942 +6322 +2904 + +3455 +4347 +3569 +1871 +2198 +4525 +1367 +4290 +3608 +1105 +3788 +2669 +4095 +4539 +5643 + +2604 +2317 + +14469 +11148 +21992 + +10429 +10440 +1343 +4878 +2948 +9949 +11600 + +5441 +9456 +6912 +5164 +8648 +1303 +6552 +2352 +3902 + +8892 + +5874 +5476 +5816 +6062 +4749 +7295 +5274 +3757 +4919 +1381 +2456 + +5666 +5732 +2628 +3367 +1078 +4688 +9294 +2707 +7664 + +5401 +5514 +2397 +2682 +4270 +4617 +4239 +3388 +3777 +4618 +3126 +3569 +2170 +2255 +2016 + +5280 +3530 +4338 + +5903 +3387 +4212 +4947 +6546 +2273 +3289 +1591 +3206 + +8124 +13697 +5396 +4215 + +10125 +3806 +1106 +3350 +3431 +5926 +7847 + +5469 +5422 +2685 +5531 +4385 +4847 +2398 +3642 +2325 +1926 +3775 +3297 +5138 +1024 +2836 + +25034 +3503 +5769 + +1671 +8174 +11469 +9030 +7977 +3121 + +2292 +2384 +2367 +2859 +5515 +1402 +3983 +2785 +4189 +3664 +2638 + +8501 +5749 +4371 +7714 +3618 +8797 +7521 +4810 +5952 + +11970 +3818 +8416 +2058 +3409 +5663 +2814 + +69727 + +17674 +13729 +3317 +9347 + +3510 +2853 +1174 +8648 +3013 +3180 +5821 +8659 +2097 +1476 + +6002 +5173 +7120 +7164 +7458 +1809 +3670 +7347 +5794 + +4942 +1785 +4233 +2135 +1376 +2520 +1378 +2773 +3397 +2282 +1569 +6008 +5744 +1410 +1262 + +6555 +21542 + +5022 +2557 +2845 +3449 +4442 +1529 +3932 +3888 +5702 +5524 +1829 +2792 +4951 +4197 +5339 + +4528 +7367 +7203 +3805 +3022 +2283 +5165 +4720 + +2529 +7119 +5022 +4026 +6782 +7010 +2746 +4621 +6460 +6438 +3916 +6198 + +8188 +7839 +1230 +7053 +5874 +1743 +6466 +3943 +4229 +3021 + +1633 +5005 +3953 +4288 +5359 +7236 +6473 +7179 +4113 +2967 +1069 +5298 + +9328 +8969 +1533 +7921 +3957 +7449 +9265 + +7288 +13654 + +13363 +10444 +7624 +5247 +4751 +13837 + +3745 +3728 +5915 +4513 +3818 +1513 +4459 +3653 +5544 +1338 +1238 +3669 +5828 +1106 +5085 + +6206 +1598 +4359 +2383 +2149 +6053 +3484 +3172 +1510 +2699 +5494 +5774 +2974 +3283 + +4445 +3583 +6550 +9320 +6905 +9518 + +1672 +6088 +1641 +4253 +5059 +1842 +5265 +5001 +2769 +3991 +4020 +5489 +2967 +4002 + +3001 +4264 +6668 +6710 +5047 +8208 +2616 +8105 +8447 + +18600 +8322 + +6235 +7323 +7792 +8248 +4100 +7035 +8449 +1210 +1192 +8322 + +7343 + +2856 +5366 +4283 +3323 +6541 +4019 +2086 +7435 +4204 +6713 +7217 +3566 + +6811 +11637 +15098 +12874 +5395 + +2458 +1446 +9495 +4442 +4083 +10324 +8491 +5798 + +4799 +7993 +9479 +9826 +4574 +5683 +7240 +3448 + +6258 +8840 +7347 +3031 + +2579 +5140 +4185 +2888 +1014 +1179 +1638 +7703 +2204 +2228 +3762 + +6131 +4685 +3479 +5372 +1684 +5034 +5408 +1289 +1485 +3238 + +5495 +4133 +7093 +1907 +1426 +6798 +1580 +4938 +5403 +6920 +6581 +2688 + +10432 +6345 +1313 +9521 +2652 + +11713 + +14255 +13867 +15482 +7519 + +5819 +4070 +7290 +12708 +10815 +3499 + +4093 +5266 +4175 +3484 +1079 +7116 +5720 +2947 +1490 +5802 +5832 +4027 + +5302 +4837 +4475 +6506 +2261 +5930 +4607 +4285 +2439 +1585 +5288 +4918 +4018 +4777 + +3993 +5624 +11935 +7174 +5086 + +20487 +32607 + +1000 +4167 +1648 +4736 +4700 +4988 +5027 +2712 +4757 +3660 +5855 +4279 +5947 + +16263 + +5100 +2601 +4242 +4474 +2536 +4038 +2529 +3851 +2317 +5986 +1252 +5888 +6087 +1136 +2814 + +6120 +5103 +4874 +5071 +2853 +3825 +1176 +6443 +5622 +4532 +6640 +5708 +4638 + +5743 +7765 +7447 +5287 +5795 +10093 +3239 +6527 + +1428 +3994 +1836 +4892 +1438 +1435 +5189 +6019 +4158 +5205 +5136 +1204 +2092 +4873 +1218 + +17476 +3121 +18812 +17122 + +9187 +14591 +13655 +7065 +15792 + +2341 +1577 +2445 +4855 +2657 +5445 +4048 +4569 +5963 +5044 +2136 +1759 +4685 +2679 +4660 + +9542 +9113 +7941 +13631 +11441 + +6754 +4063 +2779 +1508 +1170 +4159 +8253 +2180 +4129 +7077 + +4446 +4590 +1493 +1078 +5821 +4667 +3183 +4552 +4455 +5375 +1928 +5735 +4996 +5378 +2824 + +1548 +1205 +6097 +3363 +1700 +3600 +3328 +2977 +6557 +4861 +5367 +4588 + +3697 +5237 +3158 +2554 +3247 +4739 +4681 +1545 +5120 +5068 +4503 +5976 +6310 +2543 + +6680 +10760 +6051 +10641 +3566 + +8220 +7876 +9232 +7095 +2648 +5501 +6612 +3274 +2457 + +2712 +4371 +5504 +5360 +2857 +2830 +4816 +1280 +1656 +1684 +1486 +4828 +6423 +1417 + +1045 +9577 +3208 +4431 +4123 +9169 +2461 +10148 + +3064 +5159 +4043 +8403 +5156 +3064 +3536 +3217 +3155 +4971 + +10095 +1648 +3386 +7769 +8939 +12452 + +4251 +3782 +6474 +7009 +7544 +7002 +7021 +7772 +3741 +6936 +6434 + +5581 +2307 +5266 +2754 +6806 +6256 +2913 +4808 +4584 +4004 +5546 +4708 +5767 + +4983 +2055 +3830 +6590 +6740 +3801 +2573 +5583 +2100 +5639 +7335 +7202 + +4832 +2801 +2596 +2966 +2341 +1578 +5677 +1669 +2803 +3575 +1217 +1076 +1420 +1083 +3243 + +16734 +16781 +12618 +19292 + +15489 +4607 + +7462 +1425 +7387 +1314 +1882 +7505 +5348 +7688 +2949 +7299 + +14078 +9935 +11384 +5818 +5623 + +6522 +19523 +15630 +13173 + +3537 +6139 +1118 +1589 +4968 +5038 +5280 +4373 +7962 +4267 +1323 + +2307 +5224 +4833 +4980 +5326 +1991 +1244 +4500 +4363 +2821 +4733 +4762 +2921 +3086 +1901 + +2103 +13127 +11788 +13781 +8246 + +4062 +19254 +19281 + +3726 +3172 +3545 +2096 +5260 +4609 +6360 +3044 +3542 +3442 +2884 +6213 +3982 +4176 + +5618 +7100 +4100 +4484 +10523 + +4578 +21767 +18797 + +5804 +2039 +4951 +6614 +6712 +6601 +6723 +3273 +4967 +4251 +2717 +6879 +1130 + +3748 +1778 +2441 +2167 +6478 +6513 +1402 +5897 +5320 +1759 +3821 +1165 +2703 + +7785 +5718 +7591 +7405 +5215 +4948 +5360 +3833 +6676 +5336 +2322 + +9384 +5082 +8330 +3388 +7562 +9846 +6428 +2567 + +9425 +7189 +8053 +6364 +6519 +6651 +2533 +7207 +5083 + +9249 +3223 +13585 +5668 +1615 +4607 + +2413 +6755 +7232 +8941 +8094 +7381 +5055 +4533 +5926 + +5443 +3258 +2216 +1140 +1564 +3022 +4633 +6005 +3551 +2090 +4581 +3599 +5918 +2745 +2474 + +7269 +29961 + +24014 +1656 +15112 + +7256 +5880 +7761 +6115 +6998 +9817 +3909 +10327 + +7111 +7151 +14411 +7103 +4379 + +5629 +6790 +3207 +8582 +5495 +5001 +5746 +6514 +3874 +3418 + +48033 + +55352 + +17712 + +26192 + +4502 +2348 +5398 +1460 +3537 +1146 +5091 +5345 +4306 +5842 +2507 +1451 +2670 +5451 +3388 + +11840 +12162 +12739 +10712 +3310 +5666 + +1451 +3213 +3751 +11454 +1752 +3636 +1806 + +7334 +4388 +5412 +6933 +2190 +4459 +3381 +6348 +6496 +7301 +5371 +6646 + +3921 +5752 +4586 +1587 +5277 +4372 +2656 +5566 +5056 +3704 +4211 +1753 +3995 +2165 +5532 + +1727 +6476 +2534 +2477 +1148 +5239 +5307 +7327 +4054 +7851 +6930 + +4697 +2696 +2428 +5596 +2876 +1746 +4079 +7306 +2440 +4911 +1710 + +10476 +3062 +5844 +5147 +1883 +3752 +9934 +6027 + +8015 +6689 +3160 +2887 +1665 +2601 +8194 +4085 +1697 +2469 + +1753 +2578 +4683 +2644 +3087 +2515 +6491 +5682 +3961 +3249 +5121 +1165 +1473 +4068 + +5397 +5486 +5855 +5154 +8269 +1508 +1032 +7519 + +7692 +5792 +4375 +1173 +3946 +5005 +8464 +2453 +1922 +1893 + +1927 +1188 +6132 +1822 +8085 +6417 +6684 + +5178 +2048 +8063 +3690 +4662 +1628 +6887 +5722 +7857 +8631 + +8993 + +2860 +6116 +6941 +2070 +7288 +5318 +2652 +4299 +6755 +1441 +3203 +1748 + +5917 +2853 +4440 +3392 +3644 +2393 +1085 +6051 +2565 +2631 +4641 +2518 +1824 +5642 +5924 + +4764 +1055 +2484 +1925 +2232 +5127 +3225 +2121 +2186 +5038 +2716 + +24479 +8643 + +2867 +3981 +3058 +4040 +6531 +5535 +1039 +3116 +5489 +5158 +5460 +3323 +3215 + +10545 +6549 +4412 +6210 +8343 +10374 +5154 + +4381 +3278 +3891 +2751 +5091 +4845 +4298 +6630 +2909 +7551 +3107 + +4872 +4965 +4496 +3070 +1645 +4932 +5065 +2171 +2624 +5784 +4419 +5578 +4642 +2713 + +4642 +2714 +10705 +9640 +1399 +6387 +5252 +7016 + +9541 +1249 +5048 +9289 +9480 +8837 +4909 +7487 +8353 + +3978 +5490 +2898 +5709 +3938 +1814 +3809 +4040 +2176 +5688 +1884 +6412 +6864 + +9996 +32317 + +7417 +7170 +7507 +3805 +7964 +7075 +3843 +3455 +2809 +2909 +7161 + +4252 +1443 +5292 +3287 +5288 +5457 +3209 +3415 +1072 +5708 +4588 +1235 +2811 +3625 +5214 + +6408 +30501 + +5289 +7718 +6475 +2989 +2558 +4973 +7907 +4475 +8002 +4285 +7517 + +1989 +2992 +6113 +5009 +5438 +5115 +5923 +1605 +5285 +3161 +6176 +4008 +3803 +2853 + +6837 +13946 +6830 +2191 +5305 +6818 + +4630 +5907 +8041 +6326 +6155 +2804 +4927 +1890 +4410 +2479 + +8616 +12042 +7557 +9302 +3550 +5145 +9512 + +7975 +8541 +8278 +1930 +10634 +7828 +9461 +7555 + +4903 +4483 +6828 +7556 +5002 +5388 +7594 +3786 +5510 +1435 +2937 + +1652 +13742 +12057 +2081 +1835 +10753 + +9583 +7784 +10572 +5049 + +1825 +1844 +6445 +4803 +6480 +1823 +5178 +1785 +1964 +3261 +3736 +6179 +1474 + +2338 +7208 +4272 +3162 +8804 +1105 +3199 +8775 +9596 + +55557 + +1794 +6972 +9252 +7528 +9889 +8781 +6211 +5404 + +16416 +1570 +12987 +4782 + +4131 +1557 +5866 +5478 +2687 +6055 +2566 +2679 +3358 +4278 +3811 +2651 +3102 +5967 +5162 + +6250 +9703 +5470 +11096 +10740 +9661 +3837 + +4924 +4366 +5433 +2194 +5479 +4948 +4856 +2106 +5388 +3078 +2212 +5433 +2587 +4454 +5515 + +11890 +9537 +7022 + +6178 +4820 +4718 +1506 +3796 +4091 +2414 +2632 +2549 +5416 +2436 +4825 +2468 +4289 + +7074 +5761 +14281 +3437 +2925 + +2075 +4353 +4461 +9670 +8279 +8520 +4298 +6878 +8073 + +6162 +6378 +2835 +1313 +1321 +10490 +2249 +8191 + +6256 +3604 +2093 +3574 +5930 +2602 +1803 +8513 +6114 +3344 + +1430 +13233 +1690 +3032 +5910 +2246 + +6165 +2502 +5932 +6907 +7367 +6034 +1371 +2079 +5468 +4296 +6170 +1078 + +23178 +3808 + +27854 +19375 + +5861 +5506 +4757 +6075 +5432 +1111 +5629 +3145 +3755 +5346 +5442 +4707 +5765 +4569 +2783 + +2961 +3499 +6107 +2519 +1666 +1039 +4124 +1691 +6572 +3737 +1100 +5706 +3136 + +2962 + +15411 +6154 +8790 +12518 +7791 + +2242 +6736 +4039 +8306 +4600 +5255 +3039 +3580 +7944 +4855 + +3937 +2432 +2846 +2014 +3969 +4660 +2019 +2586 +3541 +5566 +5674 +4183 +2974 +5856 +1958 + +7021 +11044 +3687 + +6217 +2789 +6810 +4867 +7357 +5889 +6412 +7377 +3079 +1662 +5227 +6301 + +4362 +5552 +4927 +8808 +3339 +5795 +7918 +7131 +9104 + +11573 +21000 + +20018 +11773 +4418 +4415 + +4464 +3642 +5289 +4341 +3270 +3263 +3555 +1005 +5012 +4993 +6055 +7101 + +9336 +1496 +8827 +6642 +5093 +4205 +6397 +4493 +6916 + +6773 +4955 +5473 +4893 +3357 +7459 +3591 +7272 +3718 +6528 +6807 +2867 + +59816 + +6075 +1639 +15157 + +1665 +1561 +6003 +5483 +1795 +6164 +3933 +6998 +5216 +5136 +5143 +7065 + +4855 +5076 +2777 +1203 +6902 +2405 +3796 +8673 +6574 +6254 + +16039 +6855 +11922 + +18026 +8052 +16434 +14954 + +11381 +2762 +5314 +13850 +5874 +4704 + +2628 +1783 +2991 +7589 +7261 +8961 +8368 +4071 +3959 + +4984 +3604 +5401 +6458 +4894 +1871 +2268 +6735 +4139 +5772 +6534 +6199 + +2613 +4511 +14053 +15595 + +25475 +11850 +12168 + +34501 + +14232 +10228 +15816 +9481 +6643 + +5029 +7410 +3023 +2000 +7915 +5569 +1379 +2946 +7013 +4292 + +5447 +5243 +6352 +1660 +2347 +4029 +5794 +6723 +2073 +7518 + +7190 +1021 +1045 +5807 +4104 +4188 +5510 +3145 +2473 +3279 +1489 +2850 + +12531 +5773 +2373 +5971 +2821 +11792 + +6616 +1617 +6994 +2194 +7213 +5263 +4764 +2029 +6976 +6955 +1018 +3830 + +6011 +6522 +2785 +6336 +1221 +5433 +1998 +2990 +5341 +2213 + +15845 +16017 +6817 +2350 +9955 + +18485 +10512 +18191 + +10963 +18879 +1288 +12514 + +7206 +11431 +5079 +1767 +1478 +1173 + +1653 +1462 +5197 +3378 +3011 +6671 +5170 +2654 +6005 +7759 +5265 + +4457 +4696 +5685 +5934 +2295 +2864 +3115 +3941 +3921 +4557 +4973 +2993 +2151 +2311 + +6867 +7819 +4407 +2792 +1571 +3345 +1642 +7461 +5816 +6697 + +3291 +3084 +4832 +1195 +8411 +7009 +3863 + +6455 +5008 +7351 +5320 +3745 +3554 +4741 +1938 +6275 +6867 +6466 + +48508 + +6790 +4190 +1003 +5524 +5145 +3348 +1088 +5249 +6326 +3637 +5766 +4961 +3031 + +24120 +1811 +6650 + +3129 +4133 +3814 +2893 +3749 +6315 +2418 +2726 +3483 +3877 +2043 +5079 +4440 +1787 + +8110 +5553 +6158 +4811 +3133 +3737 +2611 +2075 +4188 +5086 + +19318 + +5872 +6372 +5416 +1309 +6321 +7020 +3273 +4175 +3717 +5140 +7438 +5079 + +1336 +9155 +6709 +2722 +4065 +1618 +1492 +6562 + +5440 +4334 +4617 +3830 +2468 +2110 +1474 +2171 +4903 +5984 +3652 +3808 +4988 +3253 +5376 + +9374 +3614 +1620 +1340 +9642 +4596 +2325 +3680 +6480 + +6328 +1140 +4212 +4673 +6003 +3907 +1897 +5136 +5398 +5164 +1340 +6152 +5189 +5705 + +4086 +4307 +4252 +3336 +2311 +1017 +5877 +2410 +2087 +2151 +2581 +3720 +4578 +3279 +2417 + +14837 +8046 +6307 +12835 + +6737 +5747 +5476 +3975 +8761 +1607 +3930 +5819 +6597 + +2404 +4632 +9393 +2482 +7537 +10334 +6698 +1194 + +7778 +11298 +6485 +1039 +11800 +4406 +4824 + +1317 +7026 +8237 +6529 +5450 +8785 +4565 +5485 +2066 +5517 + +15025 +18252 +18684 +11672 + +4554 +1621 +2494 +4759 +7009 +2702 +6973 +1681 +7204 +2369 +5719 +5105 + +7942 +3730 +9426 +12559 +11015 +2978 + +1535 +9079 +1988 +7192 +7933 +1625 +7926 +1389 +3112 + +3316 +1145 +4696 +7752 +8697 +3344 +11835 + +1354 +1589 +7545 +6150 +6746 +2918 +6788 +4965 +5385 +6289 + +16280 +7614 +19318 +10871 + +1389 +5027 +2440 +10135 +13799 + +1323 +5820 +5780 +4612 +3452 +4654 +2567 +1202 +1445 +1458 +3210 +4807 +2684 +1996 +1384 + +4093 +8449 +1615 +5801 +4196 +6076 +7989 +5862 +6156 +4328 + +18948 + +3089 +7778 +7239 +5381 +2587 +1405 +4676 +6439 +7005 +2918 \ No newline at end of file From b4e07bdd111d8aff230b4175ed10bf8b5fb91dc8 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Sat, 3 Dec 2022 00:44:42 +0000 Subject: [PATCH 03/14] Day 02 complete! ** --- 02/02-a.py | 26 + 02/02-b.py | 30 + 02/input | 2500 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2556 insertions(+) create mode 100644 02/02-a.py create mode 100644 02/02-b.py create mode 100644 02/input diff --git a/02/02-a.py b/02/02-a.py new file mode 100644 index 0000000..e8fdf65 --- /dev/null +++ b/02/02-a.py @@ -0,0 +1,26 @@ +with open('input', 'r') as fp: + file = fp.readlines() + pairs = [] + for line in file: + line = line.strip() + pairs.append(line.split(' ')) + +# A/X = rock (1) +# B/Y = paper (2) +# C/Z = scissors (3) + +# win = 6, draw = 3, lose = 0 + +player_wins = [['A', 'Y'], ['B', 'Z'], ['C', 'X']] +player_draw = [['A', 'X'], ['B', 'Y'], ['C', 'Z']] +player_loss = [['A', 'Z'], ['B', 'X'], ['C', 'Y']] +player_points = {'X': 1, 'Y': 2, 'Z': 3} + +points = 0 +for pair in pairs: + if pair in player_wins: + points += 6 + elif pair in player_draw: + points += 3 + points += player_points[pair[1]] +print(points) diff --git a/02/02-b.py b/02/02-b.py new file mode 100644 index 0000000..ae91920 --- /dev/null +++ b/02/02-b.py @@ -0,0 +1,30 @@ +with open('input', 'r') as fp: + file = fp.readlines() + pairs = [] + for line in file: + line = line.strip() + pairs.append(line.split(' ')) + +# A = rock (1) +# B = paper (2) +# C = scissors (3) + +# Z win = 6, Y draw = 3, X lose = 0 + +win_vs = {'A': 'B', 'B': 'C', 'C': 'A'} +drw_vs = {'A': 'A', 'B': 'B', 'C': 'C'} +lse_vs = {'A': 'C', 'B': 'A', 'C': 'B'} +points = {'A': 1, 'B': 2, 'C': 3} + +total = 0 +for pair in pairs: + if pair[1] == 'Z': + total += 6 + total += points[win_vs[pair[0]]] + elif pair[1] == 'Y': + total += 3 + total += points[drw_vs[pair[0]]] + elif pair[1] == 'X': + total += 0 + total += points[lse_vs[pair[0]]] +print(total) diff --git a/02/input b/02/input new file mode 100644 index 0000000..5f93934 --- /dev/null +++ b/02/input @@ -0,0 +1,2500 @@ +B Z +C Z +C Z +A Y +B Z +C Y +C Z +C Y +C X +A Z +B Z +C Z +A Y +C Z +B X +C Y +C Z +C X +C X +C Y +C Y +C X +A Y +C Y +C Y +C X +C Z +C X +A X +C Z +C Y +C Z +C Z +C Z +A Z +C Z +B Z +A Y +A X +A Y +C Z +A Y +C Z +A Z +C Y +C Y +C Y +A X +C X +C X +C Y +A X +A Y +C X +A X +C Z +A Y +C Z +C Y +A Y +C Z +A X +A Y +A X +C X +C Z +A X +B Z +C Z +C Y +C X +C X +C Z +C X +C Z +A X +C Y +A Y +C Y +C Z +C X +B X +B Z +C Z +C X +A X +B Z +A Y +A Y +B Z +A Y +C Y +B Z +B X +C X +C X +C X +A X +A Z +A Y +A Y +C Y +C Z +C Z +C Z +A Y +C X +A Y +A X +C X +C X +A X +A Y +A X +A X +A Y +C Y +A Y +A Y +A X +C X +B Z +A X +C Y +C X +C Z +C Z +C Z +C Z +C Y +C X +C X +A X +A Y +A X +C Z +C X +C Y +C Y +C Z +C Z +B Z +C Z +C Y +C X +C Y +A X +A Y +C X +B Z +B Y +C Z +C Y +C X +A Y +C Y +B Z +A Z +C X +C Z +C Y +C X +C Z +A X +A Y +C Y +C Y +A Y +A X +A X +C X +C X +C Z +A Y +A Y +C Y +C Z +A X +A Y +C X +C X +C Y +C X +C Z +C X +C Z +C Z +C Z +C Z +A Y +B Z +C Y +C Z +A Z +C X +C X +A X +A Z +C Z +C X +C Z +A X +B Z +B Z +A X +C X +C X +B Z +B Z +B Z +C Z +C X +A Y +C Z +A X +C Y +C Z +C Z +C X +C X +C Z +C Y +C Y +C X +C X +A X +C Y +A X +C Y +C X +B X +B Z +C X +C X +B X +C Z +C Y +A X +C Z +C Z +C Z +C Y +C X +A Y +A Z +C Z +B Z +C Z +C X +A Y +C X +C X +A X +C X +C Z +A X +C Z +C Y +C Y +C Y +C Z +A X +C Y +C X +C Z +A X +C Z +C X +C X +C X +A Y +C Z +A Y +C Z +C Y +C Z +A Y +C X +C X +C X +C Y +C Z +C X +C Y +C X +A X +C X +C Y +C X +C Z +C X +B Z +C X +B Z +B X +C X +C X +C X +B X +A Y +A Y +A X +B Z +C X +A Z +C Y +C X +C X +C Y +A Y +A Z +C X +A Y +C Z +C X +C X +C Y +C Y +A Z +A X +C Z +C X +C Z +B Y +A Y +C Z +A Y +C Z +A X +C Y +C Y +C X +A Y +C X +C X +B X +C Z +C X +C Y +C Z +C Z +C Y +C Y +C Y +C X +B Z +C X +C X +C Y +C Y +C Z +B Z +C X +C Y +B Z +C Z +A Y +C X +C X +A Y +C Y +C Z +C X +A Y +A Y +C Z +C Z +C Z +A X +C X +C Z +C Z +C Z +A Y +A X +C X +C Z +C X +C X +C Y +A Y +C X +C Y +C Z +C Y +A X +C X +C X +C Z +A X +B X +C Y +A X +C Y +C Y +C X +C Z +B X +C X +C Z +A Y +C Z +C X +A X +C Y +A X +C Z +A X +C X +C Y +C X +C Z +C X +C X +C Y +A X +C Y +A Y +C Z +C X +C X +A X +A Z +C X +C X +C Y +B Z +A X +A X +C X +B Z +C Z +A Y +C Y +C Z +C X +A Z +C Y +A X +C Y +C Z +C Z +C X +C Y +C X +C Y +C Y +C X +A Y +B X +C X +A X +A Y +C Y +C Z +C Y +C X +A Y +C Z +C X +C X +A Z +C Y +C Z +A X +C X +C Z +A Y +A X +B X +C Z +B Z +C X +A Z +C Z +A X +A Y +C X +A X +B Z +C X +C Y +C Z +C Y +C Y +C Z +C X +B X +C Y +B Y +C Z +A Y +A Y +C Y +C Z +A X +C Z +C Y +B Z +C X +A X +C X +C X +C Y +C Y +C Z +A Y +C Z +A X +A Y +C X +C Y +C Z +C X +A X +B Z +C Z +A X +C X +C X +C X +B Z +C Z +C Y +B Z +A X +C Z +C Y +A X +C X +B Z +C Y +C X +C Z +C Z +C Z +C X +C Y +B X +A X +B Z +C X +C Y +C Z +C X +C Z +C Z +C Z +C Y +A X +C X +C Z +A X +C X +C Z +B X +C Z +B Z +A Y +A X +C Z +C Z +C Y +C Z +C Y +C Z +A Y +B Z +A Y +C X +A X +A X +A X +B Z +C Z +B Y +C Y +A Y +A Y +C Z +A Y +C Z +C Z +A Y +C Z +C Z +C Z +A Y +C Z +C Z +C Z +C Z +A Y +C Y +A Y +C Y +C X +C X +C Z +C X +C Z +C Y +A X +C Z +B X +C Z +A X +C Z +C Z +C Y +C Z +C Y +C X +C Y +B X +C Z +C X +C Y +A Y +C X +C Z +C X +C Z +C X +A Z +C Z +C X +C X +B Z +C Z +C X +A X +C Y +A Y +C X +C Z +C Z +A Y +A X +B Y +C Y +C Y +C Y +C X +A X +C Z +C Y +C Z +C X +C Z +C Z +C Y +B X +C X +C Z +C X +C X +C Y +A X +B Z +A X +C X +C Z +B Z +A Y +C Y +B Z +C X +A Z +A X +C Z +C Z +C X +A Y +B Y +C X +C Z +B Y +A Y +A Y +C X +A X +C Y +C X +C X +C Z +A X +A X +A X +B Z +C Y +C Z +C X +A X +B Z +C Z +C Z +C X +C X +C X +C X +C Z +C Y +C Z +C Z +C Z +A Y +C Z +C X +C Y +C X +B Y +A Y +C Z +C X +C Z +A X +A X +C Y +C Y +C X +C Z +C Z +C Z +C X +C Z +C X +C Y +C X +C X +C Y +C Y +B Z +C Z +C Z +B Z +C Y +C Z +C Y +B Z +C X +C Z +C Y +C Z +A Y +C Z +B Z +C Z +C X +C X +A Z +C Z +C X +A Y +A Z +A X +C Y +C X +C Z +C X +C X +C Y +C X +C Z +C X +C Y +C Y +C Z +C Y +C Y +C Y +A Z +A Y +C Z +C Y +C Z +C X +A X +C Z +C Z +A Y +C Z +C X +C X +C X +C Z +C X +C Z +C Y +A Z +C Z +C Y +C Z +C X +C Y +C Y +C X +C X +C Z +A Y +C Y +B Z +A Y +C Y +C X +C Z +C X +C Y +C Z +A Y +A X +C Z +B Y +C Y +A X +C Y +C Z +B Z +C Y +C Z +C Z +B Z +C X +A Y +C Z +C X +B Y +B Z +C Z +B Z +C X +A X +A X +B Z +C Z +C Z +C Z +C Y +A Y +C Z +B X +C Y +A Z +C Y +C Y +A Y +C X +C Y +B Z +C X +C X +C X +B Z +C X +B Z +A X +C Y +C Y +A X +C X +A Y +C X +A X +C Z +A X +C X +C X +A Y +C Z +C Z +C X +C X +B Z +A Y +C Y +C X +A Y +C Z +A X +C X +B Z +C X +C X +B X +B X +B Z +C Z +C X +A Y +B Z +B Y +C X +C Z +A Y +C Z +C X +C X +B Z +C X +A Y +A X +A Z +C Z +C Y +B Z +C X +A X +C X +A X +C X +C X +C Z +A X +B Z +C Z +C X +C X +A X +C Z +C X +C X +C Z +C Y +C X +A X +C X +C X +C X +A X +C Z +C Z +C Y +B Z +C X +A Y +C Z +C X +C Y +B X +A X +C X +B Z +C Y +B X +A Y +B X +C Z +C Y +C X +C Z +A Y +A Y +C X +A X +C X +C X +A Y +A X +B X +C Y +A Y +C X +C Z +A Y +C Z +B Z +C Z +A X +C Y +C Y +C Y +A Y +A Z +A Y +C X +C X +A Y +C Y +A X +C Y +A Y +C X +C Y +B Z +C Z +C Z +B X +C Y +B X +A Y +A Y +A X +A Y +C Z +C Z +C Y +B Z +A Z +C X +C Z +A X +C X +C X +C Z +C Y +C X +A Y +C Z +B Z +A Y +A X +C Y +B X +C Z +A Y +C X +C Y +C X +A X +C Z +C Z +C X +C Z +A X +C X +C X +A Z +B Z +A X +C Y +C X +A X +C X +C Z +C Y +A Y +C X +A Y +A X +C Y +A Y +C X +A Y +C X +B Z +C X +C X +C X +C Z +C Z +C Z +B Z +C X +B Z +C X +A X +A Y +A Y +A X +C Y +A X +C Y +A Y +B Z +C X +C X +C Y +C X +C Z +A X +A Y +C Z +A X +C X +C X +B X +C X +A Y +C X +C Z +B Z +A X +B Z +C Y +C Z +C Y +C Y +C X +C Z +C Z +C Z +A X +C X +A X +A Y +A X +C Z +C Z +A Z +C Y +B Z +A X +C Z +C Z +C X +C X +A X +A Z +C Z +C X +C X +C Y +C Y +C Y +A Y +A Y +C Z +A X +C Z +C X +A X +C Y +C Z +C Y +A X +A Y +A X +C Z +B Z +C Z +A X +C X +C Y +C X +C X +C Y +C Z +C Z +C Y +C X +A Y +C Y +C Z +B Z +C Y +C Y +A X +C Z +B Z +C X +B Z +B Z +C Z +C X +C Z +A X +C Z +C X +A Y +A X +A Y +C Z +C Z +C Z +C Z +C X +B Z +C Y +C X +B Z +C X +A X +A Y +C X +A Z +A Y +A X +C Y +C Z +C Y +C Z +B Z +C Y +C X +A Y +B Z +C Z +C Z +C Y +C X +C Z +A Y +C Y +A Y +C Z +B Z +C Z +A X +C Z +C Z +C Y +C X +C Y +A X +C Y +C Z +C X +A X +B Z +C Y +C X +C Z +C Y +A X +C X +A Y +A Y +C X +C Z +C Y +B Z +B X +C Y +C X +C X +C Z +C Y +C X +C Z +C Y +A X +B Y +A X +A Y +C X +A X +A X +A X +C Y +B X +B Z +C Z +C X +C Z +A Y +C Y +C X +B Z +A X +C X +A Y +C X +C X +C X +B Z +C Z +C X +B X +C Z +C Y +C X +C Y +C Z +C Z +C Z +A X +C X +C X +C X +B Z +C Z +A Y +C X +B Z +B Z +A Y +A Y +B Z +C X +C Y +A X +C Y +C X +C Y +C Y +C X +B Z +C Z +C Z +C Z +C Y +A Y +C Z +C Y +A X +C X +C Z +C Y +A Y +C Z +C X +B Z +C X +C Z +C Z +C Y +A X +A Y +C Z +A Y +C Z +C X +C Z +C Z +A X +A X +C X +B Z +B Z +C Y +A Y +C X +C X +C Z +C Z +A Y +C Y +C Z +A X +C X +C Y +A Y +C X +C X +A Z +C X +C Y +C Z +C X +B Z +C X +A X +C Z +C Z +A X +C Z +C Y +C Z +C Z +A Y +C X +C X +C X +C Y +C Z +C X +C X +C Y +B Z +A X +C X +A Y +B Z +A Y +A X +A X +B X +C Y +A Y +C Y +C Z +A X +C X +A Y +A Y +C Z +C X +C Z +C Z +C Z +C Z +A Y +A Y +A X +C X +A Y +C Y +A X +C X +C X +C X +B Z +C Z +B Z +A X +C Z +C Z +C Y +C X +C X +C X +C Y +A Z +B X +B Z +C X +B Z +A X +A Y +C Z +B Y +C X +C X +A Y +C Y +C Y +C Z +C X +A X +B Z +C X +A X +A X +C X +A X +C Y +B X +C Z +C Z +C Z +C Z +C X +C Z +C X +C Z +C Z +A X +C Z +C X +B Z +A Y +C Z +B Z +C Y +C X +C X +C Z +C Y +C X +C Z +C X +B X +C Z +A Y +C X +B Z +A Y +A X +C X +C X +B Z +C Y +C Z +C X +C Z +C Z +C Z +B X +C X +C X +C Y +B Z +A Y +C Y +C Z +A Z +A Y +C Z +C Y +C Y +A X +B Z +B Z +C X +A X +C Z +B Z +C Z +C Y +C Z +C Y +A X +C X +C Y +C X +B X +C Y +A Y +C X +C Z +A Z +C Y +A X +C Z +C Y +B Z +C Y +C Z +A Y +C Z +C X +A Y +C X +C Z +C X +B Z +C X +A X +C Z +C Z +C X +C Z +C X +C Z +C Z +A Z +A X +B Z +B X +C Z +C X +B Z +C X +C Y +C Z +C Z +A X +A X +C Y +B Z +A X +C X +C Z +A Z +A Z +C Z +C Y +C X +C Y +C Z +A Z +A X +A Y +C X +C Z +A Y +C Y +A Y +A X +C Z +C X +C Z +C X +B Z +A Y +C X +A X +C X +B X +C X +A X +C X +A X +C Y +A Y +C X +A Y +C X +C Z +C X +B Z +A X +C Z +A X +C Z +C Z +C Y +C Z +C Y +C X +A Y +C X +A X +C Z +C X +A Y +C Y +C X +C X +C Z +C X +C Y +C X +C X +C X +C X +A Y +A Y +A Y +C Z +C X +B Y +B Y +A Y +C Z +C X +A Y +C Z +C Y +C X +C Z +A X +C Z +C Z +C Y +A X +A X +C Z +C X +C X +C X +C Z +C Z +A Y +C Y +A X +B Z +C Z +C Y +C Z +A X +C Z +C X +C X +A Y +C Z +C X +C Z +C Z +A Y +C Y +C Z +A X +C Y +C Z +A X +C X +A X +C X +C Z +C X +C Z +C Z +C Y +C Y +A Y +C Y +A X +C Y +C X +C Z +C X +A X +C X +A X +A Y +A X +C Z +A X +C Y +C X +A Y +C Z +C Z +C X +B X +C Z +C Y +A Y +B Z +C Y +C X +B Z +C X +A Y +A X +A X +A X +C X +A X +C X +C Z +C X +A X +C Y +A Y +C X +C Z +C X +C Z +C Y +C X +A X +C X +C Y +A Y +A X +B Z +C Y +B Z +C Y +C X +A Y +C X +C Z +C X +C Y +A X +C Y +C Y +C Z +C Y +C X +C Z +C X +C X +C X +C Z +C X +A Y +A Y +C X +C Z +B Z +C X +C Y +C X +C X +C Z +C Z +C X +C X +A Z +A X +C X +B Z +C Z +C Y +C Z +C X +C X +C X +C Z +C X +A X +A X +C Z +C X +A Z +C X +A X +A X +C Z +A X +A Y +C Z +A Z +A Y +C Y +C X +A Y +A X +C Z +C X +A Y +B Z +C Z +A X +C Z +C X +A X +A Y +C Z +C Y +C Z +C Z +B Z +C X +C Z +C Z +C Y +C X +C Z +C X +C X +B Z +B Z +A Y +B X +B Z +C Z +A Z +C Y +C X +C Z +C X +C X +A X +C X +A Y +B X +C Z +C Y +C X +C Z +C Y +C Y +C X +B Z +C X +B Z +C Y +C Y +C Y +C X +C X +A X +A X +A X +C Z +A X +C Z +C X +C Y +C Z +C Y +A Y +C Y +A X +A Y +C Y +C Z +C Z +A Y +C X +C X +A X +C Y +C X +C Y +A X +C X +C Y +C Z +C Z +B Z +A Y +C X +B Z +C Y +A X +C Z +C X +C Z +B X +C Z +C Z +C Z +C X +C Z +C Z +C X +C Z +C Z +B X +A X +C Y +C Z +A Y +C Y +C Z +C Z +C X +A Y +A X +C Y +C Y +A Y +C Z +C X +C X +C X +A Y +C X +B X +C Z +C Z +C X +C Z +C X +A Y +A Z +C Z +C Z +B X +C Y +A Z +A Y +C Z +C X +C Z +C X +A X +A Y +C Y +A X +C Z +C X +C Z +B X +C X +C Z +B Z +C Z +C Y +C Y +A X +C Z +C X +C Y +C Z +C Z +A Y +C Z +C Y +C Y +A X +B Z +C Z +A X +C Y +C Y +C Z +A X +C X +C Z +C X +C X +C Z +C Y +C X +C Z +B Z +C Y +A X +A X +C X +C Z +A X +C X +B Z +C Y +C Z +C Y +C X +C Z +B Y +C X +C Z +A X +C X +A X +C X +C Z +B Z +C Z +C Z +A Z +C Y +C X +A X +C Z +A X +A Y +C X +C Z +C Y +A Y +C Y +C X +A X +C X +C Y +C X +C X +C Z +C Z +C X +C Z +A X +A X +C X +C Z +B Z +A X +C X +C Z +C Y +C X +B Z +C X +C X +C X +B X +C Y +A Y +C Z +A Z +A Y +A Y +C Y +B Z +C Z +C Y +C X +C Z +C X +B Z +B X +A X +A Z +A Y +C Z +C Y +C Y +C X +B Y +C Y +C X +C X +B X +C Y +C Z +B Z +C X +C Y +A Y +C Z +C X +C Z +A X +C Z +A X +A Y +C Y +A Y +C Y +C Z +A X +C Y +C Y +C X +B X +C Z +C X +C Z +C Z +C Z +C X +C Z +C Y +C X +C Y +C X +C X +C X +C X +A Y +C X +A Y +C X +C Z +A X +A Z +C Z +C X +C X +C X +C X +B Z +C Z +C Z +C Y +C X +C Z +C X +B Z +B Z +C Z +C Z +C X +C X +C Z +B Z +C X +A Y +C X +C Z +C X +C Y +C Z +C Z +C X +C Z +A Y +A Y +C X +C Z +C Z +C X +C X +B Z +C X +C Z +C Z +C X +C Z +A X +C Z +B Z +C Z +A Y +C Z +C X +C X +B Z +A Y +C Z +A Y +C Y +A Z +C X +A X +C X +A Y +C Z +C X +C Z +C Z +C X +C Z +A X +B Z +C Y +C Z +C Z +C X +C Z +B Z +C Y +C Z +C Z +A X +B Z +A X +B Z +C X +C Z +A Z +A Z +C X +A X +A X +B Z +A Y +A Y +A Z +C X +C Z +C Z +C X +C X +C X +A X +C X +C Z +C Y +C Z +C X +C Z +C X +A X +A Y +C X +A X +C X +B Z +B Z +B X +C X +A X +B X +C X +A Y +C Z +C Y +C Z +C X +A X +A Y +C Z +B Z +C X +B Z +C Z +B Z +A X +A X +C Y +B Z +C X +B Z +A Y +C Z +A Y +C Z +C X +A Z +C Z +C Z +B Z +A Y +B Z +C Y +C X +A Y +A X +A X +C X +C Y +B Z +C X +C Z +C Z +A X +A Y +C X +C Y +B Z +C Z +C X +A X +C Z +C X +C X +B Z +C Y +A Y +A X +C Z +B Z +C X +C Z +A Y +C X +B Z +C Y +B X +C X +C X +C Y +A Y +A X +C Y +C Y +C Z +C Y +C Y +C X +B X +C X +A Y +C Z +C Z +A Y +C Z +C Z +C Z +C Z +C Z +C Y +A Y +C Z +A X +C Y +C Z +C X +C Z +C X +A Z +C X +A Y +B Y +B Z +A Y +A Y +C Z +C X +B Z +B X +B Y +C X +C Z +B Z +A X +C X +C X +C Y +A X +C Z +C Y +A Y +A X +A X +B X +A Y +C Y +C Z +C Z +C X +C X +A X +C Z +A Z +A Y +A X +C X +A Y +B Z +C X +C Z +C Y +C Z +C Z +C X +C Z +A X +A Y +C X +C X +C X +C Z +C Y +C Z +B Z +C Z +B Z +A Y +A X +C Z +C X +C Z +C X +A X +C Z +C Z +C X +C X +C Z +A Y +A Z +A Y +C Z +C Z +C X +C Y +C X +C Y +A X +C X +A Y +B Z +B Z +C X +C X +C Z +C X +A Y +A Z +A Y +C X +C Z +A Y +C Y +C Z +B Z +A X +C X +C Z +C Z +A Y +A Y +A Y +A Y +C X +B Z +A Z +B X +A X +B X +C Z +C Z +C Z +B Z +A Y +C Z +C Y +C X +C Y +A Y +C X +C Y +C Y +A X +C Y +C X +C X +C X +C X +A Y +A Y +C X +C Z +C Z +A Y +C Z +A Y +C Z +C Z +C X +C X +C Z +C Y +C Z +A X +A X +C Y +B Z +A X +B Z +B Z +C X +C Z +C Y +A X +C Z +C Y +C Z +C Y +A Y +B X +C Y +C Y +C X +C X +C Z +C Z +C X +A Y +C Z +B Z +C Y +C X +C Y +C Z +C X +A X +A Y +C Z +B Z +C X +C Z +C X +C Z +C X +A X +C Z +A X +B Z +C X \ No newline at end of file From e7a37b6d869b677ed93f4461ccff6aed1c71c160 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Sat, 3 Dec 2022 23:11:59 +0000 Subject: [PATCH 04/14] =?UTF-8?q?Day=203=20=F0=9F=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03/03-a.py | 29 ++++++ 03/03-b.py | 28 +++++ 03/input | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 357 insertions(+) create mode 100644 03/03-a.py create mode 100644 03/03-b.py create mode 100644 03/input diff --git a/03/03-a.py b/03/03-a.py new file mode 100644 index 0000000..5dc0b53 --- /dev/null +++ b/03/03-a.py @@ -0,0 +1,29 @@ +import string + + +lower = list(string.ascii_lowercase) +upper = list(string.ascii_uppercase) + + +def get_prio(letter): + if letter in lower: + return lower.index(letter) + 1 + else: + return upper.index(letter) + 27 + + +with open('input', 'r') as fp: + rucksacks = fp.readlines() + +priorities = 0 +for rucksack in rucksacks: + rucksack = rucksack.strip() + slicer = len(rucksack)//2 + comp_one, comp_two = rucksack[:slicer], rucksack[slicer:] + for letter in comp_one: + print(letter) + if letter in comp_two: + print('found letter', letter, comp_one, comp_two) + priorities += get_prio(letter) + break +print(priorities) diff --git a/03/03-b.py b/03/03-b.py new file mode 100644 index 0000000..0a84a03 --- /dev/null +++ b/03/03-b.py @@ -0,0 +1,28 @@ +import string + + +lower = list(string.ascii_lowercase) +upper = list(string.ascii_uppercase) + + +def get_prio(letter): + if letter in lower: + return lower.index(letter) + 1 + else: + return upper.index(letter) + 27 + + +with open('input', 'r') as fp: + rucksacks = fp.readlines() + +priorities = 0 +for i in range(len(rucksacks)//3): + group = rucksacks[3*i:3*i+3] + for j in range(3): + group[j] = group[j].strip() + for letter in group[0]: + if letter in group[1] and letter in group[2]: + print('badge found', letter, group) + priorities += get_prio(letter) + break +print(priorities) diff --git a/03/input b/03/input new file mode 100644 index 0000000..614564b --- /dev/null +++ b/03/input @@ -0,0 +1,300 @@ +gfWpjRRQffQGCHHJsGqjsj +SclzJZZvmmnPbJtVSqqNBqVCBdSCsd +tlbvZJDZtmtPcJmlPnhMFQWWpMRFTfLDRRTWRp +HjMPgSWjVrjgbHRRSSMRgjRdpdbGdlcdCvQfcCdlwQJfdf +LNDnhtNtLNFFZDtFnhzvdldDflvvDCdlJfldpJ +ZFLFZZmFtFtTNTSPRrVPWWMpRP +qLBSBLRwmgzqCbzCffDlrfCV +TFFFHNWFMFFMpHpGHMTHGNhrldWZCsdZsslZlZfrflDVss +PTMcPGntTThHhTGctnMvSwjjvmmqLBmnjqqgCR +nClJtMwwntqVVPJcgZqq +mjpsDcrcSSFFPZqFBWWgVP +vQcjsvhrvvrmhbmNHMNnlHbNMtCtNM +bgvvhnTQtjrrrhsDDf +pLSMltLzLLSjFrSSjrSJHD +zNWRLBdZPllPQtCvttgCqb +DRlDrrFTNDNlgzsGTBfcnqhhcnJfcrCSqc +MMmmdWtdLmvtldHjMmQfPBqSJWnfCCCqcWSSPJ +vjHMjLmjpLtHptQLmHvwTRgNVVpTzZFZgZRlsVTN +rzpMpDCGFCFFjRFsRPFRNFPv +fWclbHCHtSmfvjnmfsvZ +wTcTlSwwtQtWclBQBLGMLMCLVzVLwJGqLd +MQSjLNjPPLLSBPjfQhSPHjDVCjDtVVpDHwbwVpbD +RcmWzsRrzZrmTszWRqWlmRJscbtHwCbndCtcDVddDpdnVnbt +JTsrGGTqmwTlWmTzJzWmhhPLLGgPFgBffSSPhFFM +qMMRNZMDDNWLPqfzCgDcGncVDCgG +wwBFhwhhBgmcVzhghG +tbJbjjtJvwtdtwjpFtlbvtdTLNSMqNqMMgqNHPlZRTNggL +qmjMHsZmZSbjbZMjSLFFFFwgsgvFswpwww +hRJBhmnhhvFFwhcv +llfWDWzrzBNTRfNBrWzzTmZbGTMjPqMmZPjVbSZGSP +CRRPLwwcclcGVppQ +SHFjDjjHDTfSDNTTHfSHjQVGrpmllQQWltVVVZGp +HFlqzDTfqlzwbgPJLwCP +WRCNLphpLppSCWVHNfLRzVnQMnBnMddPMQDFQgrhPQFM +jTjJqvqjvPVJFJFBJF +qTsZbvGqqZlstsmZVljtwqwSHHNWczHSSRcWNSRHzzNfbW +glgzDzHjSrVHcVgbrjmNsscNGmNWssGNNtst +hHPQLHJpwdLpdHfQQtnZmNMwnZGZWwsFZM +QpdhPJRTJfPphJfhCBlVqVvgvVDBbvVqDbHD +VtHzjZpjVtHrprgGmjHsGHNdSJFQRcLJqCdQcSqJNpcq +bBWfTPwhbfDlMnhffRwQJQNdqJcLFQLSdR +bhBhvfMWTnlDnTBfPSmvmjsjmmGtzHtsHm +pcRPRPWrSDcJGZSStmwZZS +VnLfCfTlfVzfnMMBCqVNZJdtjNtJjhJdGNNbwT +BLvqCCMVsnRQsPQgDcZH +cQbqqQhDGhlQfQlhQrqGsTNgLgCpRgLTPPPLNbpg +wtHVddVFwSHznZwwznCpRBdjppNBNTTdCjRR +ZtWFwWtSmvVnwZDrCMGfQlDDJQmD +PzPZGCZzrZrlhdjdCqfCsqQdRD +cbvZLVVFvbbNSNFHSDnsDQdnfqNQDRngsR +FJHSLSFSScJJbWHFmFVFSZmrrzBmhtBwmzBMPMPzPh +nlpFcLBgcVcLbssGVBGGrlpGPhJJJJJqPBZPDNMQMJJhJQZZ +SSTjHzfHwtZSPVQVQMRQ +TzVHwWfTtzwdVzsbFnGgsbdcGrLc +FppVBRVZDdLmrDGmmfrQ +NtNMPNshJCzznLGJSrqRrRrr +tRssthhPlCWhPzsWtzhzCbVVjwTpVwdZZTpwjbdBbwBc +TTWblHWScvPCCHTWFzSrqqsNNSmdmqrrpz +RLRwjjnjZNprzmmZcq +QQgtQnccQDGjgLDRRcLthQhFBvCbMtMHTWlBFllBbFCMTW +WnBVNvDnVsNvZWdrWDLVDMbsHpTjpHCSSClsbSCCMH +GPFtmztzgPhRFtJTdbTwjppSCjpgSl +hJcfPtQhdtWNVZqNnqNQ +GLcqZPPsnqQcFsmBBrqRvrddNqrC +MtHthJwLllwvjRvvtrvBRS +VHMfDLbpfznszZQG +WBSdPlQPRfBtGQPfBGPBJgzgjwsJzsszJwCrdwCT +ZpppVpMVpnVHMVVbZRJrCgwRzTJrwNJw +MvhmnpLqLmhVmBlftRQBFSlR +hhQlSJqhtCSnqZJnqShSlNDwRzpvdwRlMBMMdcjRjMpMRc +frrGmLmWbfFrsmFHmBzBvBcwdJbvpjzbMM +mmgFrVGLWJLFGsgfhSVtVPqntqnnSStN +SFJTJTSqswwFQbwf +cDtcWPclrtPwVsfssQmN +HDtwWCgWdggdzSGJMSzGMq +JpqJtWRJMhCMJpMQCWtFrjgHdgdlgllwNjlQjldH +fBzPZcZvnBmDnZvZBZDmPvglVVVdgHHSwrNRgVgwNPRH +GbZnZccfvcsZmccsmnnZTRbCCMWFTWJqFCCMJFRT +vrrFqrFTBTmLmNrLMqMTHddJbHpWnhdWdWbHhJGM +wBzfwzcQSzWSSshpdWGp +gwjPPPDQtzQlzQDPqTgLBRmRqZBvqFNR +bWVptFFsbPcZsGLhsZGmLB +qnWrnrHdMCDCNqfWmvRRZSSRLdRGZGRG +nNqqNDfMrMWHDQNHzWfHNDnwzblpzFlbwtFbVVlwVcPJpP +BHJhlHdJQggvddglJBBhglhQzZHPZpFFPDMzFDDRDFZZDFZD +rSTfqnCffMfCVfCLNqbzbjWNDbbWDPFpPFbP +nfnnrSfCTVSwrqSLCGfTGlgQhlvsGMJQJBhhssJhGc +tBjjDjjqfDjLfJlrLgglvmrlmrcc +TwNNTVhwwpgvGSNNSssS +TbwhnvvChhbVRTPPRJBJQQfJttMQQJCQfW +mWSvSQVgmWQsQvspQJlrlLnJLLpCClhhlp +bFHRjZdNjjBZzFzhtnCllCcJLrCBll +HFFNHbdZZLZjfPFjHVQmWDDVsvsmTqVqDf +JJPllQQClqgBCgdHwHbpjVTwHd +tmGZtjGjHZpVbfMT +ShGjNGWmDSNcNRtGmshDRzzCvzQJJRBLrvlrBPJv +cTpqsTWqVVpsNLfvCDFlMFDVFL +JnndJPddQgzHlvMJFDhLCG +BjtntgdRnQgzjdBRQBlpNWrTTlNTSwNpWS +qHmqLVLjmVqsDBLtmjmbtPwCTwwPzGWRgGwGwMwW +ZhcCNCSprRTWTwSnWW +hflhZvvQhppZfcNpvrhpQHjVjLmbVmmVHVCFDvqVFb +nnNrwDnZrspwDNnZsNSDsNbCmpjvMTPQjLMmPmmQPGBTQP +FdVtRdRfctBQPmTtTLQB +qhzWVWJqVHwbhlLSsS +htWmhDhFztnztDhtBmBtghPRSrpfjVwPdfPwpwnRSVrr +cbCHvgJGcTqbqcbqqqcqsMsRVrSCwffdRPPpVpwCRSwfjj +GlgGQqTqbgQzttmBNNFz +NWQNQgdTgjQNddTZfrCQWRDnnnbqnLqnRcjJlqqvDj +FtSSmSmJhpllcclDvpln +JBVVSsSFBVBttShFGSPQfCGNdrMfZZTQTZNNdC +HgHthMhphcbfbMMfHhsGGDCRRVlcVSScsCRz +nWvPFqLqPNdjnNLnjdJnPdWjGlssDPSsllVCRzlTCTGlSDzS +RvddJRJQHwQwpZZb +gdZwgpjZZQtHTdrWrwdpWRnlhNBRlLbFthNhflhBnL +CVzDCPGMVqVmGsGGbJCmCDvMcRcqnBFFFnRBBNRBBNqhnFfF +DsmSGsGPzvMGJvdbgTSTbjbSSdgH +jBGmbNBQGdBNNDJNQRLLVDsHtDRzHHZZcH +wCWPFWPCrPhPrplvprhwpCHHtszttqZslRVHLtzVlJZL +vprMMvMnJCwnnPShNGSTfGSfNmmgdNff +bPtLbvVWWztbLSVVnbszpzQsrcDDBdpRcDrs +llZmgCZqgCFgmdRdJcscBdJsmQ +FZlgfqCFfgZHlqCMCglwCFGWntLLSMRSPGPVttWRtVGL +vtnDsDtrnrSvrMVmbrrJgPCmBm +FpQHzFclLVzWHhwHLQLlHLzPmMBQCJTdTmCTmBTJTTmgQg +pllcVWqlffZqZtZD +TSSZWpsQmZWcTZSvsTTTppNPzrBPrNBrzQNVFrBBNPqP +CgjmCbtGgftMmLtLmffzBzJJJNVVMNzNBqJrFN +gjgjLgtLwgbGjHdhhGdvmlnllnpWnplZvcvwTl +htLrRFRtbbhlGSLRtbJBJsjBmgMMgJgtmBzz +pZQWddQQfpZZffcDQZwddQwDMqDDsPgGJJzzjqzgJMBJgmms +QdcQTdwpGNwfrCRlRVlNLSbb +wrdvpVBVpMGPPjWjGZJJZT +tChCSlNfCCHtvHHWPHPZ +RbRRNvmcqcblfMwwdVBQQqqdpL +qcctqRcqmcHWzHBdDMZhfwthBnwt +JFsSNMSgNSNJJMGJBBdjhFDfhwhBrwnZ +TbgbsSgJMTJllblLCSPlsTCVQmRVVWpQzzqpqzVzHLQzcc +CVcWbjjSSCSSnpjWpCpprhHZlHtHGzHrZrHGclrl +gqZqdddLgmgNqvTGGHvvmrrGHT +FFDgZfZNLMgNfdDqDRnsnjBpbSbnMBBWpQpB +qwpQFwRnqFFfSBSfFt +LJJLGLWWtZlbgWHgGshhSdSVzmhHmfVzzC +lrbrbrNNJgDMLLbblGctvvvDqPcqctTTTcqP +vnblvbfHvlcHMlHlZbSPLTPLwCMBRRPRRFFR +tszzBqtzDsWVPRSmzLVmVL +tsNsDDNgGsqBrgBpgdHQbfhflcHdpZvdbh +cCpLtpGGLsgsppcpmGGHMtjfHRVhvvVVFRfhjV +NWnnnNNndQnQZdCdzzRVMHzvhhHWWWjj +CPJJrnSZpGDJLGTL +cnJzpcnmnQVFbzTlvTHBlb +tWCDPjfsDGfZhddhjjdTvFTgFgvbnFHvdHqT +hjfCjwDDGjPthsfhsnGNrJcQcRmJMLVJrJNMLw +CPPRrSlRccPcwTHwfdwTHdfl +mLQLLjhQhhQLZvpzssHDhdTswzzTJD +gmjbBvQLWmgbQZBCSRnnnSMVCBHnBS +sWrBJbsVqschzhQzHh +gtFmztnSlSfdlmnZSdSwcwGRTjcTcwwTcHccRg +FzFDzMZCdDZtCSrJVBMqWVrqNBqN +TvWlhhfhZJVgtSSl +ddBdGGdFmmBbdzqqPDDGGmdDZSgttHtZppSgzZHSgMhtMgtz +PGqdrbbbdPnrcjjhTRWLLc +trrmJWcrVwVbcPScdcBdGPHH +JTQnfjlJTpQFfMLlNJHHGDPdGsSdDjHGDPPH +ffFfnCTTCfTlplTMvNVzqWvwVzrrhwmWhJbW +hVtDtgcghzJpmmhlwp +srsnrqqsPqsBPvnqRBRMPbnwlplpmCStJwmzJPtJzJfwSw +bbrqjBbvGsjGGBWqMVFFVDNVNjZjgtgFgZ +mnmhBDHhwWCHsTgRsH +dcSlFvccMFMMFFggNsTzzvvzWnVW +llQdllZScFplJPpdcZSqBqjhmtnrwrDGnQGhrq +ZffVNgfTdmPVltsnnGwgQDnB +rMCFLMHpzCMFzHpzbrcHFLzBwsDsDDnlDBJrDDBBSJSnBn +MLMjMzqpCzvwqTmwZdvq +DDNlWPRqgPRPsRFjJQZbchJZbgQJ +zzrLLznpLbHnjcBHvVvHvJcZ +ndmrTzbMMTfzrTfnTLrzdpmsPPPqlqGDNNsPCRDRqRsD +zzdqTNfTfdfhgQhgqMFSjRDtDRWHqtWlwtqDRS +ssBCrcmpVGZvVRDdSDRwtmWdDb +rvGPCZLCVCPVBZFdnfThgNgLJNhf +bslcrssQwDPbQrrcsbsnQrjMLthPMMRhLRhLRgzmgPhRgM +DffvDfHGfNFdpfTdMtghLBThzVmBhBtM +SNvJNJdflDDbcDWJ +HFlHNpWsTlGWbFsGFTGHFLLNzPPhLVPMzVzMNPhhzP +jSvZtmrqqpcrCpPVzw +dddQvqDgDmjdSQQdqZjStpffWGgBRWTGfGsRlWBlHF +THnTbNrdBnLTHHnTnBrWRTndsccZsLZcDqmLDPcDlQDsmmsZ +ptwzzhpvGSVdqQlmszqmqPqc +wGVjSddCBggCHFWN +LFFbdbhhhvwvfTNdRhhRRvMbHDGjcfcGfDjtDHHcHqGjDqqj +WlQnVpWSSWWsPsgDqDzHDLHjJcttGP +rrWsZrgVnWrWSlmSlmSBFFbvTThhBFvvZLBhRw +BgBdcjThvjFcTggrqvVfzlnnPlrqLt +JpwJGPsQwpwSssHpPLlzlnNlzLLNNLVtsN +JPMmWGmWPmHbHpJbWGJmDmwbBTRZMBBdZCRTRjFjhCZCCBTT +BjbcLFRfBRhnbGjCVVvPllpcPtcDmdlPpvPP +WrMQqCNgsqWWsTNCMZMWWsWPvJDJDddvlpDtZDpDDDDwvP +qNMzzSzSQsGLbFCSCnVR +tTRpHJQpQBZcddhhMhvhJN +zswljflgMFbwPqmNmSdvShLNfLhm +qFbsMCVgsqMwRWHCWDDBDWpt +VSTCCWsJvGpHHCNC +GrqzZrrZjDljcDDlfjMqgRPfPvQPpBHNvHvBpvNQ +rljncDcznjMqhlhZDnltrzhTsGWtbVLFTTWGsbdWJdFTmL +mJPDSJJPZPJNrprSNrDmpZGrhFFhBqjGbGGVbFjhhfqBjBRV +cgnTQHdMQdTHdhqfggBhVqVfVS +nQdLLddssSJrmsNvZrPz +jfjffQzZQQMzZZfZZQFgjDWBCRlCBdTTBGGGRpBCgdhdBG +LrstWtNsbHLsprRBdlGpCwlh +HLnntbnscqLvvPNNfMWSSmDMDPjzjDzS +vhcGwWVvglltcfBn +BBSLrzSJLzJNJrLfPfPRsmDRmflD +jMjFZJNMqzrzZzFNFjNQqJzbCpBBvWdpvTCWhpVwdvHVCGbG +HlrnFmRmtRBQPVBTQHHQ +psSLJsLpTTdPdLTv +fCGgTgfSSCtRtFFzql +pfTpStppcDlWfbpDdzQRsQGJhfffQgJHzN +ZFZFZmBFwVwBVmLmLsRLRhHNzRLRNNzJ +FnnjwVPmnqqqjBjrTdblldCTpcPJtbTD +bdZHdWlrjslMMwGG +rDDTRBTqSqmJLBJRBTSJpmMsMMjhwvfMhjjfVGsLshhC +BqQFRPFRQBJgzrcZNHFdZt +wrDdLlDdPWZPTTrwlZpSsPsHVHsSCHnbzMHM +JtNFttNCjFvpppnMpJgSVS +NFFqFcCQCvfrZmGdZdmqrW +GMNNfJnNddJFJWsv +HSDwCmmghLmwmmHDpsvdFpMWpppptSbp +zCzBCgzhwmhzLrPnVrMqZBNfGf +DrHGtbltbCjjjffPrgsmzmcqsgDczdsmgJ +VZLwQLZLLVwLBQZnLVphhLQQqsTNmzJdcNTzzmJNqlNBsszz +wZLhVMplpQVRRlpVGPfjCjMGCrbHGWWb +BHpFrHHbBNTWWTWNhCPwPLNPjCdjLV +zJRRzJvZlcZsSMJdzSDjDtfDCtDtjDjjjj +dcJcszQJJGRJzRllMpGHpFTWmrTmBTbWWB +qnWWqhDhnjmjCMBlNRrfVfRNCB +vvBLBtGHJTHBddrNVJrVSVdr +BZLTHbgvHvTFBgTFFvhmWmmZDPmmZDsnqncs +WBvmjDbSzTMmHHdpNHNF +ttlflZRfGtfWVRltGtflCdHnJrNJHNHnJddNMNCnpF +VVwssWQQfRGZcszBQzDbjSBvSBDP +lSlQqQVqWWVWfqQWVJSTscdmPPwwTTmjjfpjPp +FCbzHbvHvtgrtFCvbvbbwdTwmsrwnTTpmdswmwcc +DtZbHdghztlLMQlWWhVQ +pqzzFSmdFqbQvlpdDGGrGBWPPBVNQnVttZ +cgcjwfBMhHCjjLMCrtcnPcsnsPGVnrVs +JgCChjjjBHhRRLLjjhplzvzpSFJvzzlDbSqm +mZzVQZMhmrffwfQhWhzmrmpBtRcdbnbcdcMpBbDbncdD +jsLTSlTWRBSDpnDn +GLTsGWGFsfmJGZVJZm +BGWshBGnsFWSLWBLlSSLWRJHnrVPrPcNHCNHctnPPJ +QmvQCqqMTZqvgmvTjpZCMgMtrVctPptHtrNVrptbJJbrRP +CzjCZfCwDzShDWdF +HmQlQHmJnpmptmzt +MTqMjMPvTvVvhpdztZnSwzwZqS +CcbLLPTMtCCsjHNHQFLRRFlRNN +GDFwLLLLSrbdPlFBMFsslFHmZH +TnJCgthHpVTfZMQZQmzWnZ +hjvtjtghtqJvVjhTgNhJTvdvdDDRbbccrwPdcGwrHS +MQQMBPzMGQBPBbDQPMhpnRwsGnRhNrFFpRnF +vmgHcmCTTlvvvZvTmqcTfmCRdddFnwdRdnVwFpVfpRnwNw +gvmqJTcHclCQJNzjMLWbLj +DbqqDDbQFqfNtZSLSq +RrdjPdmrpWBdmWRdccfLtNttSDMZBfftLMLf +dCcgmgRrWcgcppjCVVVVFHFnDnbJnb +fZMFfrtVdZSDVwTgjRMLhwTCLj +cNzPBNpclllzHbmTNRhqCRTgjC +nhhWJzhGPlQcGvsvfJtSfZfrtt +PSzrBWQBBGzBlnSnWtDrqHfNfwVwHcLNjHjwcDNmFH +hbRhtRCRpRvsRgVVVcNHNNNCwLwc +ZtRTRvttWWzBPlGZ +tcLnctNsJrWWNDTN +pwPPSjHSHHfzvmSvvvFVVGqGVqGmFqrDWgDr +pPSvfPQMzCQCSbhllLnQDhbtQZ +DmLffDhpVhjjVwvbwNVFbbNSNH +JRPBgMPRHBrMHMHqrBMqWJBSQQNbCvndNrdvCNCFwFrQnv +WcqJcPGMGtWRRBtgZjjspGHTLHGHTppm +ptJtWJpqRwDZZDVWpbDWqlvvflfMjlfCMjdCCdtslv +rLwTBGBzBBQTzmwCCjvdvlLllddsMl +NBwTmrGNgrTrcgPpWgWPDSVVPW +CdglMnrlSSqDPpcsZb +ccwmVJtvVvVtNhBpBFPDVpqbbD +TRGQjJjGTmtrTCgHWLfrcn +JNNhLwWwWQHNPDmmjHpc +zMqZCvVCSMVqMSTVvZVGsBnlslpmsmzlPmsHPsPB +qTVqrgdCCbhfHJQFtg +wNwCBBCZsfQWfmLCGSmmFRGSSF +zjnPHPVqMhhZLTcbpbSncp +lVlhlgzlPZlwtgBddJdfvf +JWRWRRLWJLnjtjnLzGzznflBvfPvPMqMDqdbzblCzC +TTScTVbHmTsVFrmcsgcHFlPMMvlvrDPdlrDDqdldvl +bVpcpchgsFZHbhSmSTsHFFjwtZjnjLttntNjLjNLWtjw +rffjPJzWzrgPpGWHVNqTtmqFTVRH +cswhvlLBvSLsCtbFccmqVFNTbb +wwZSCZSnCLsSDGgDmpGnfmmr +rTfJTNtjfNljlrWSlzRtNlTqsddwGnsnHHwwhssTsnqw +VpbpZZbvPLbZbbBhwqMHhsGMnJdVwV +mgQZJDLBJbbbcbgZClCSfWlrCjRjlDCR +fSpwcVfzsztcSSWNNMbnMRqTvtTv +mJFmGDDDhGhBJHCQddllqTvCllqTRRWNnMbT +FdFDGdDDDhhHdZDjhDmpwSPVZszpwZsVgsPRZs \ No newline at end of file From 828f6ea0599cecd4bf2e6bbdd044ccd0584d9d53 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Sat, 3 Dec 2022 23:22:27 +0000 Subject: [PATCH 05/14] Remove inputs per @ericwastl tweet (linked) --- .gitignore | 2 + 01/input | 2235 ---------------------------------------------- 02/input | 2500 ---------------------------------------------------- 03/input | 300 ------- 4 files changed, 2 insertions(+), 5035 deletions(-) create mode 100644 .gitignore delete mode 100644 01/input delete mode 100644 02/input delete mode 100644 03/input diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab90197 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# per https://twitter.com/ericwastl/status/1465805354214830081 +*/input \ No newline at end of file diff --git a/01/input b/01/input deleted file mode 100644 index b603a21..0000000 --- a/01/input +++ /dev/null @@ -1,2235 +0,0 @@ -2000 -12013 -5489 -11485 -2430 -7722 -5456 - -6693 -3867 -1645 -3924 -1545 -1910 -5443 -6276 -4574 -4147 -3942 -6322 -2904 - -3455 -4347 -3569 -1871 -2198 -4525 -1367 -4290 -3608 -1105 -3788 -2669 -4095 -4539 -5643 - -2604 -2317 - -14469 -11148 -21992 - -10429 -10440 -1343 -4878 -2948 -9949 -11600 - -5441 -9456 -6912 -5164 -8648 -1303 -6552 -2352 -3902 - -8892 - -5874 -5476 -5816 -6062 -4749 -7295 -5274 -3757 -4919 -1381 -2456 - -5666 -5732 -2628 -3367 -1078 -4688 -9294 -2707 -7664 - -5401 -5514 -2397 -2682 -4270 -4617 -4239 -3388 -3777 -4618 -3126 -3569 -2170 -2255 -2016 - -5280 -3530 -4338 - -5903 -3387 -4212 -4947 -6546 -2273 -3289 -1591 -3206 - -8124 -13697 -5396 -4215 - -10125 -3806 -1106 -3350 -3431 -5926 -7847 - -5469 -5422 -2685 -5531 -4385 -4847 -2398 -3642 -2325 -1926 -3775 -3297 -5138 -1024 -2836 - -25034 -3503 -5769 - -1671 -8174 -11469 -9030 -7977 -3121 - -2292 -2384 -2367 -2859 -5515 -1402 -3983 -2785 -4189 -3664 -2638 - -8501 -5749 -4371 -7714 -3618 -8797 -7521 -4810 -5952 - -11970 -3818 -8416 -2058 -3409 -5663 -2814 - -69727 - -17674 -13729 -3317 -9347 - -3510 -2853 -1174 -8648 -3013 -3180 -5821 -8659 -2097 -1476 - -6002 -5173 -7120 -7164 -7458 -1809 -3670 -7347 -5794 - -4942 -1785 -4233 -2135 -1376 -2520 -1378 -2773 -3397 -2282 -1569 -6008 -5744 -1410 -1262 - -6555 -21542 - -5022 -2557 -2845 -3449 -4442 -1529 -3932 -3888 -5702 -5524 -1829 -2792 -4951 -4197 -5339 - -4528 -7367 -7203 -3805 -3022 -2283 -5165 -4720 - -2529 -7119 -5022 -4026 -6782 -7010 -2746 -4621 -6460 -6438 -3916 -6198 - -8188 -7839 -1230 -7053 -5874 -1743 -6466 -3943 -4229 -3021 - -1633 -5005 -3953 -4288 -5359 -7236 -6473 -7179 -4113 -2967 -1069 -5298 - -9328 -8969 -1533 -7921 -3957 -7449 -9265 - -7288 -13654 - -13363 -10444 -7624 -5247 -4751 -13837 - -3745 -3728 -5915 -4513 -3818 -1513 -4459 -3653 -5544 -1338 -1238 -3669 -5828 -1106 -5085 - -6206 -1598 -4359 -2383 -2149 -6053 -3484 -3172 -1510 -2699 -5494 -5774 -2974 -3283 - -4445 -3583 -6550 -9320 -6905 -9518 - -1672 -6088 -1641 -4253 -5059 -1842 -5265 -5001 -2769 -3991 -4020 -5489 -2967 -4002 - -3001 -4264 -6668 -6710 -5047 -8208 -2616 -8105 -8447 - -18600 -8322 - -6235 -7323 -7792 -8248 -4100 -7035 -8449 -1210 -1192 -8322 - -7343 - -2856 -5366 -4283 -3323 -6541 -4019 -2086 -7435 -4204 -6713 -7217 -3566 - -6811 -11637 -15098 -12874 -5395 - -2458 -1446 -9495 -4442 -4083 -10324 -8491 -5798 - -4799 -7993 -9479 -9826 -4574 -5683 -7240 -3448 - -6258 -8840 -7347 -3031 - -2579 -5140 -4185 -2888 -1014 -1179 -1638 -7703 -2204 -2228 -3762 - -6131 -4685 -3479 -5372 -1684 -5034 -5408 -1289 -1485 -3238 - -5495 -4133 -7093 -1907 -1426 -6798 -1580 -4938 -5403 -6920 -6581 -2688 - -10432 -6345 -1313 -9521 -2652 - -11713 - -14255 -13867 -15482 -7519 - -5819 -4070 -7290 -12708 -10815 -3499 - -4093 -5266 -4175 -3484 -1079 -7116 -5720 -2947 -1490 -5802 -5832 -4027 - -5302 -4837 -4475 -6506 -2261 -5930 -4607 -4285 -2439 -1585 -5288 -4918 -4018 -4777 - -3993 -5624 -11935 -7174 -5086 - -20487 -32607 - -1000 -4167 -1648 -4736 -4700 -4988 -5027 -2712 -4757 -3660 -5855 -4279 -5947 - -16263 - -5100 -2601 -4242 -4474 -2536 -4038 -2529 -3851 -2317 -5986 -1252 -5888 -6087 -1136 -2814 - -6120 -5103 -4874 -5071 -2853 -3825 -1176 -6443 -5622 -4532 -6640 -5708 -4638 - -5743 -7765 -7447 -5287 -5795 -10093 -3239 -6527 - -1428 -3994 -1836 -4892 -1438 -1435 -5189 -6019 -4158 -5205 -5136 -1204 -2092 -4873 -1218 - -17476 -3121 -18812 -17122 - -9187 -14591 -13655 -7065 -15792 - -2341 -1577 -2445 -4855 -2657 -5445 -4048 -4569 -5963 -5044 -2136 -1759 -4685 -2679 -4660 - -9542 -9113 -7941 -13631 -11441 - -6754 -4063 -2779 -1508 -1170 -4159 -8253 -2180 -4129 -7077 - -4446 -4590 -1493 -1078 -5821 -4667 -3183 -4552 -4455 -5375 -1928 -5735 -4996 -5378 -2824 - -1548 -1205 -6097 -3363 -1700 -3600 -3328 -2977 -6557 -4861 -5367 -4588 - -3697 -5237 -3158 -2554 -3247 -4739 -4681 -1545 -5120 -5068 -4503 -5976 -6310 -2543 - -6680 -10760 -6051 -10641 -3566 - -8220 -7876 -9232 -7095 -2648 -5501 -6612 -3274 -2457 - -2712 -4371 -5504 -5360 -2857 -2830 -4816 -1280 -1656 -1684 -1486 -4828 -6423 -1417 - -1045 -9577 -3208 -4431 -4123 -9169 -2461 -10148 - -3064 -5159 -4043 -8403 -5156 -3064 -3536 -3217 -3155 -4971 - -10095 -1648 -3386 -7769 -8939 -12452 - -4251 -3782 -6474 -7009 -7544 -7002 -7021 -7772 -3741 -6936 -6434 - -5581 -2307 -5266 -2754 -6806 -6256 -2913 -4808 -4584 -4004 -5546 -4708 -5767 - -4983 -2055 -3830 -6590 -6740 -3801 -2573 -5583 -2100 -5639 -7335 -7202 - -4832 -2801 -2596 -2966 -2341 -1578 -5677 -1669 -2803 -3575 -1217 -1076 -1420 -1083 -3243 - -16734 -16781 -12618 -19292 - -15489 -4607 - -7462 -1425 -7387 -1314 -1882 -7505 -5348 -7688 -2949 -7299 - -14078 -9935 -11384 -5818 -5623 - -6522 -19523 -15630 -13173 - -3537 -6139 -1118 -1589 -4968 -5038 -5280 -4373 -7962 -4267 -1323 - -2307 -5224 -4833 -4980 -5326 -1991 -1244 -4500 -4363 -2821 -4733 -4762 -2921 -3086 -1901 - -2103 -13127 -11788 -13781 -8246 - -4062 -19254 -19281 - -3726 -3172 -3545 -2096 -5260 -4609 -6360 -3044 -3542 -3442 -2884 -6213 -3982 -4176 - -5618 -7100 -4100 -4484 -10523 - -4578 -21767 -18797 - -5804 -2039 -4951 -6614 -6712 -6601 -6723 -3273 -4967 -4251 -2717 -6879 -1130 - -3748 -1778 -2441 -2167 -6478 -6513 -1402 -5897 -5320 -1759 -3821 -1165 -2703 - -7785 -5718 -7591 -7405 -5215 -4948 -5360 -3833 -6676 -5336 -2322 - -9384 -5082 -8330 -3388 -7562 -9846 -6428 -2567 - -9425 -7189 -8053 -6364 -6519 -6651 -2533 -7207 -5083 - -9249 -3223 -13585 -5668 -1615 -4607 - -2413 -6755 -7232 -8941 -8094 -7381 -5055 -4533 -5926 - -5443 -3258 -2216 -1140 -1564 -3022 -4633 -6005 -3551 -2090 -4581 -3599 -5918 -2745 -2474 - -7269 -29961 - -24014 -1656 -15112 - -7256 -5880 -7761 -6115 -6998 -9817 -3909 -10327 - -7111 -7151 -14411 -7103 -4379 - -5629 -6790 -3207 -8582 -5495 -5001 -5746 -6514 -3874 -3418 - -48033 - -55352 - -17712 - -26192 - -4502 -2348 -5398 -1460 -3537 -1146 -5091 -5345 -4306 -5842 -2507 -1451 -2670 -5451 -3388 - -11840 -12162 -12739 -10712 -3310 -5666 - -1451 -3213 -3751 -11454 -1752 -3636 -1806 - -7334 -4388 -5412 -6933 -2190 -4459 -3381 -6348 -6496 -7301 -5371 -6646 - -3921 -5752 -4586 -1587 -5277 -4372 -2656 -5566 -5056 -3704 -4211 -1753 -3995 -2165 -5532 - -1727 -6476 -2534 -2477 -1148 -5239 -5307 -7327 -4054 -7851 -6930 - -4697 -2696 -2428 -5596 -2876 -1746 -4079 -7306 -2440 -4911 -1710 - -10476 -3062 -5844 -5147 -1883 -3752 -9934 -6027 - -8015 -6689 -3160 -2887 -1665 -2601 -8194 -4085 -1697 -2469 - -1753 -2578 -4683 -2644 -3087 -2515 -6491 -5682 -3961 -3249 -5121 -1165 -1473 -4068 - -5397 -5486 -5855 -5154 -8269 -1508 -1032 -7519 - -7692 -5792 -4375 -1173 -3946 -5005 -8464 -2453 -1922 -1893 - -1927 -1188 -6132 -1822 -8085 -6417 -6684 - -5178 -2048 -8063 -3690 -4662 -1628 -6887 -5722 -7857 -8631 - -8993 - -2860 -6116 -6941 -2070 -7288 -5318 -2652 -4299 -6755 -1441 -3203 -1748 - -5917 -2853 -4440 -3392 -3644 -2393 -1085 -6051 -2565 -2631 -4641 -2518 -1824 -5642 -5924 - -4764 -1055 -2484 -1925 -2232 -5127 -3225 -2121 -2186 -5038 -2716 - -24479 -8643 - -2867 -3981 -3058 -4040 -6531 -5535 -1039 -3116 -5489 -5158 -5460 -3323 -3215 - -10545 -6549 -4412 -6210 -8343 -10374 -5154 - -4381 -3278 -3891 -2751 -5091 -4845 -4298 -6630 -2909 -7551 -3107 - -4872 -4965 -4496 -3070 -1645 -4932 -5065 -2171 -2624 -5784 -4419 -5578 -4642 -2713 - -4642 -2714 -10705 -9640 -1399 -6387 -5252 -7016 - -9541 -1249 -5048 -9289 -9480 -8837 -4909 -7487 -8353 - -3978 -5490 -2898 -5709 -3938 -1814 -3809 -4040 -2176 -5688 -1884 -6412 -6864 - -9996 -32317 - -7417 -7170 -7507 -3805 -7964 -7075 -3843 -3455 -2809 -2909 -7161 - -4252 -1443 -5292 -3287 -5288 -5457 -3209 -3415 -1072 -5708 -4588 -1235 -2811 -3625 -5214 - -6408 -30501 - -5289 -7718 -6475 -2989 -2558 -4973 -7907 -4475 -8002 -4285 -7517 - -1989 -2992 -6113 -5009 -5438 -5115 -5923 -1605 -5285 -3161 -6176 -4008 -3803 -2853 - -6837 -13946 -6830 -2191 -5305 -6818 - -4630 -5907 -8041 -6326 -6155 -2804 -4927 -1890 -4410 -2479 - -8616 -12042 -7557 -9302 -3550 -5145 -9512 - -7975 -8541 -8278 -1930 -10634 -7828 -9461 -7555 - -4903 -4483 -6828 -7556 -5002 -5388 -7594 -3786 -5510 -1435 -2937 - -1652 -13742 -12057 -2081 -1835 -10753 - -9583 -7784 -10572 -5049 - -1825 -1844 -6445 -4803 -6480 -1823 -5178 -1785 -1964 -3261 -3736 -6179 -1474 - -2338 -7208 -4272 -3162 -8804 -1105 -3199 -8775 -9596 - -55557 - -1794 -6972 -9252 -7528 -9889 -8781 -6211 -5404 - -16416 -1570 -12987 -4782 - -4131 -1557 -5866 -5478 -2687 -6055 -2566 -2679 -3358 -4278 -3811 -2651 -3102 -5967 -5162 - -6250 -9703 -5470 -11096 -10740 -9661 -3837 - -4924 -4366 -5433 -2194 -5479 -4948 -4856 -2106 -5388 -3078 -2212 -5433 -2587 -4454 -5515 - -11890 -9537 -7022 - -6178 -4820 -4718 -1506 -3796 -4091 -2414 -2632 -2549 -5416 -2436 -4825 -2468 -4289 - -7074 -5761 -14281 -3437 -2925 - -2075 -4353 -4461 -9670 -8279 -8520 -4298 -6878 -8073 - -6162 -6378 -2835 -1313 -1321 -10490 -2249 -8191 - -6256 -3604 -2093 -3574 -5930 -2602 -1803 -8513 -6114 -3344 - -1430 -13233 -1690 -3032 -5910 -2246 - -6165 -2502 -5932 -6907 -7367 -6034 -1371 -2079 -5468 -4296 -6170 -1078 - -23178 -3808 - -27854 -19375 - -5861 -5506 -4757 -6075 -5432 -1111 -5629 -3145 -3755 -5346 -5442 -4707 -5765 -4569 -2783 - -2961 -3499 -6107 -2519 -1666 -1039 -4124 -1691 -6572 -3737 -1100 -5706 -3136 - -2962 - -15411 -6154 -8790 -12518 -7791 - -2242 -6736 -4039 -8306 -4600 -5255 -3039 -3580 -7944 -4855 - -3937 -2432 -2846 -2014 -3969 -4660 -2019 -2586 -3541 -5566 -5674 -4183 -2974 -5856 -1958 - -7021 -11044 -3687 - -6217 -2789 -6810 -4867 -7357 -5889 -6412 -7377 -3079 -1662 -5227 -6301 - -4362 -5552 -4927 -8808 -3339 -5795 -7918 -7131 -9104 - -11573 -21000 - -20018 -11773 -4418 -4415 - -4464 -3642 -5289 -4341 -3270 -3263 -3555 -1005 -5012 -4993 -6055 -7101 - -9336 -1496 -8827 -6642 -5093 -4205 -6397 -4493 -6916 - -6773 -4955 -5473 -4893 -3357 -7459 -3591 -7272 -3718 -6528 -6807 -2867 - -59816 - -6075 -1639 -15157 - -1665 -1561 -6003 -5483 -1795 -6164 -3933 -6998 -5216 -5136 -5143 -7065 - -4855 -5076 -2777 -1203 -6902 -2405 -3796 -8673 -6574 -6254 - -16039 -6855 -11922 - -18026 -8052 -16434 -14954 - -11381 -2762 -5314 -13850 -5874 -4704 - -2628 -1783 -2991 -7589 -7261 -8961 -8368 -4071 -3959 - -4984 -3604 -5401 -6458 -4894 -1871 -2268 -6735 -4139 -5772 -6534 -6199 - -2613 -4511 -14053 -15595 - -25475 -11850 -12168 - -34501 - -14232 -10228 -15816 -9481 -6643 - -5029 -7410 -3023 -2000 -7915 -5569 -1379 -2946 -7013 -4292 - -5447 -5243 -6352 -1660 -2347 -4029 -5794 -6723 -2073 -7518 - -7190 -1021 -1045 -5807 -4104 -4188 -5510 -3145 -2473 -3279 -1489 -2850 - -12531 -5773 -2373 -5971 -2821 -11792 - -6616 -1617 -6994 -2194 -7213 -5263 -4764 -2029 -6976 -6955 -1018 -3830 - -6011 -6522 -2785 -6336 -1221 -5433 -1998 -2990 -5341 -2213 - -15845 -16017 -6817 -2350 -9955 - -18485 -10512 -18191 - -10963 -18879 -1288 -12514 - -7206 -11431 -5079 -1767 -1478 -1173 - -1653 -1462 -5197 -3378 -3011 -6671 -5170 -2654 -6005 -7759 -5265 - -4457 -4696 -5685 -5934 -2295 -2864 -3115 -3941 -3921 -4557 -4973 -2993 -2151 -2311 - -6867 -7819 -4407 -2792 -1571 -3345 -1642 -7461 -5816 -6697 - -3291 -3084 -4832 -1195 -8411 -7009 -3863 - -6455 -5008 -7351 -5320 -3745 -3554 -4741 -1938 -6275 -6867 -6466 - -48508 - -6790 -4190 -1003 -5524 -5145 -3348 -1088 -5249 -6326 -3637 -5766 -4961 -3031 - -24120 -1811 -6650 - -3129 -4133 -3814 -2893 -3749 -6315 -2418 -2726 -3483 -3877 -2043 -5079 -4440 -1787 - -8110 -5553 -6158 -4811 -3133 -3737 -2611 -2075 -4188 -5086 - -19318 - -5872 -6372 -5416 -1309 -6321 -7020 -3273 -4175 -3717 -5140 -7438 -5079 - -1336 -9155 -6709 -2722 -4065 -1618 -1492 -6562 - -5440 -4334 -4617 -3830 -2468 -2110 -1474 -2171 -4903 -5984 -3652 -3808 -4988 -3253 -5376 - -9374 -3614 -1620 -1340 -9642 -4596 -2325 -3680 -6480 - -6328 -1140 -4212 -4673 -6003 -3907 -1897 -5136 -5398 -5164 -1340 -6152 -5189 -5705 - -4086 -4307 -4252 -3336 -2311 -1017 -5877 -2410 -2087 -2151 -2581 -3720 -4578 -3279 -2417 - -14837 -8046 -6307 -12835 - -6737 -5747 -5476 -3975 -8761 -1607 -3930 -5819 -6597 - -2404 -4632 -9393 -2482 -7537 -10334 -6698 -1194 - -7778 -11298 -6485 -1039 -11800 -4406 -4824 - -1317 -7026 -8237 -6529 -5450 -8785 -4565 -5485 -2066 -5517 - -15025 -18252 -18684 -11672 - -4554 -1621 -2494 -4759 -7009 -2702 -6973 -1681 -7204 -2369 -5719 -5105 - -7942 -3730 -9426 -12559 -11015 -2978 - -1535 -9079 -1988 -7192 -7933 -1625 -7926 -1389 -3112 - -3316 -1145 -4696 -7752 -8697 -3344 -11835 - -1354 -1589 -7545 -6150 -6746 -2918 -6788 -4965 -5385 -6289 - -16280 -7614 -19318 -10871 - -1389 -5027 -2440 -10135 -13799 - -1323 -5820 -5780 -4612 -3452 -4654 -2567 -1202 -1445 -1458 -3210 -4807 -2684 -1996 -1384 - -4093 -8449 -1615 -5801 -4196 -6076 -7989 -5862 -6156 -4328 - -18948 - -3089 -7778 -7239 -5381 -2587 -1405 -4676 -6439 -7005 -2918 \ No newline at end of file diff --git a/02/input b/02/input deleted file mode 100644 index 5f93934..0000000 --- a/02/input +++ /dev/null @@ -1,2500 +0,0 @@ -B Z -C Z -C Z -A Y -B Z -C Y -C Z -C Y -C X -A Z -B Z -C Z -A Y -C Z -B X -C Y -C Z -C X -C X -C Y -C Y -C X -A Y -C Y -C Y -C X -C Z -C X -A X -C Z -C Y -C Z -C Z -C Z -A Z -C Z -B Z -A Y -A X -A Y -C Z -A Y -C Z -A Z -C Y -C Y -C Y -A X -C X -C X -C Y -A X -A Y -C X -A X -C Z -A Y -C Z -C Y -A Y -C Z -A X -A Y -A X -C X -C Z -A X -B Z -C Z -C Y -C X -C X -C Z -C X -C Z -A X -C Y -A Y -C Y -C Z -C X -B X -B Z -C Z -C X -A X -B Z -A Y -A Y -B Z -A Y -C Y -B Z -B X -C X -C X -C X -A X -A Z -A Y -A Y -C Y -C Z -C Z -C Z -A Y -C X -A Y -A X -C X -C X -A X -A Y -A X -A X -A Y -C Y -A Y -A Y -A X -C X -B Z -A X -C Y -C X -C Z -C Z -C Z -C Z -C Y -C X -C X -A X -A Y -A X -C Z -C X -C Y -C Y -C Z -C Z -B Z -C Z -C Y -C X -C Y -A X -A Y -C X -B Z -B Y -C Z -C Y -C X -A Y -C Y -B Z -A Z -C X -C Z -C Y -C X -C Z -A X -A Y -C Y -C Y -A Y -A X -A X -C X -C X -C Z -A Y -A Y -C Y -C Z -A X -A Y -C X -C X -C Y -C X -C Z -C X -C Z -C Z -C Z -C Z -A Y -B Z -C Y -C Z -A Z -C X -C X -A X -A Z -C Z -C X -C Z -A X -B Z -B Z -A X -C X -C X -B Z -B Z -B Z -C Z -C X -A Y -C Z -A X -C Y -C Z -C Z -C X -C X -C Z -C Y -C Y -C X -C X -A X -C Y -A X -C Y -C X -B X -B Z -C X -C X -B X -C Z -C Y -A X -C Z -C Z -C Z -C Y -C X -A Y -A Z -C Z -B Z -C Z -C X -A Y -C X -C X -A X -C X -C Z -A X -C Z -C Y -C Y -C Y -C Z -A X -C Y -C X -C Z -A X -C Z -C X -C X -C X -A Y -C Z -A Y -C Z -C Y -C Z -A Y -C X -C X -C X -C Y -C Z -C X -C Y -C X -A X -C X -C Y -C X -C Z -C X -B Z -C X -B Z -B X -C X -C X -C X -B X -A Y -A Y -A X -B Z -C X -A Z -C Y -C X -C X -C Y -A Y -A Z -C X -A Y -C Z -C X -C X -C Y -C Y -A Z -A X -C Z -C X -C Z -B Y -A Y -C Z -A Y -C Z -A X -C Y -C Y -C X -A Y -C X -C X -B X -C Z -C X -C Y -C Z -C Z -C Y -C Y -C Y -C X -B Z -C X -C X -C Y -C Y -C Z -B Z -C X -C Y -B Z -C Z -A Y -C X -C X -A Y -C Y -C Z -C X -A Y -A Y -C Z -C Z -C Z -A X -C X -C Z -C Z -C Z -A Y -A X -C X -C Z -C X -C X -C Y -A Y -C X -C Y -C Z -C Y -A X -C X -C X -C Z -A X -B X -C Y -A X -C Y -C Y -C X -C Z -B X -C X -C Z -A Y -C Z -C X -A X -C Y -A X -C Z -A X -C X -C Y -C X -C Z -C X -C X -C Y -A X -C Y -A Y -C Z -C X -C X -A X -A Z -C X -C X -C Y -B Z -A X -A X -C X -B Z -C Z -A Y -C Y -C Z -C X -A Z -C Y -A X -C Y -C Z -C Z -C X -C Y -C X -C Y -C Y -C X -A Y -B X -C X -A X -A Y -C Y -C Z -C Y -C X -A Y -C Z -C X -C X -A Z -C Y -C Z -A X -C X -C Z -A Y -A X -B X -C Z -B Z -C X -A Z -C Z -A X -A Y -C X -A X -B Z -C X -C Y -C Z -C Y -C Y -C Z -C X -B X -C Y -B Y -C Z -A Y -A Y -C Y -C Z -A X -C Z -C Y -B Z -C X -A X -C X -C X -C Y -C Y -C Z -A Y -C Z -A X -A Y -C X -C Y -C Z -C X -A X -B Z -C Z -A X -C X -C X -C X -B Z -C Z -C Y -B Z -A X -C Z -C Y -A X -C X -B Z -C Y -C X -C Z -C Z -C Z -C X -C Y -B X -A X -B Z -C X -C Y -C Z -C X -C Z -C Z -C Z -C Y -A X -C X -C Z -A X -C X -C Z -B X -C Z -B Z -A Y -A X -C Z -C Z -C Y -C Z -C Y -C Z -A Y -B Z -A Y -C X -A X -A X -A X -B Z -C Z -B Y -C Y -A Y -A Y -C Z -A Y -C Z -C Z -A Y -C Z -C Z -C Z -A Y -C Z -C Z -C Z -C Z -A Y -C Y -A Y -C Y -C X -C X -C Z -C X -C Z -C Y -A X -C Z -B X -C Z -A X -C Z -C Z -C Y -C Z -C Y -C X -C Y -B X -C Z -C X -C Y -A Y -C X -C Z -C X -C Z -C X -A Z -C Z -C X -C X -B Z -C Z -C X -A X -C Y -A Y -C X -C Z -C Z -A Y -A X -B Y -C Y -C Y -C Y -C X -A X -C Z -C Y -C Z -C X -C Z -C Z -C Y -B X -C X -C Z -C X -C X -C Y -A X -B Z -A X -C X -C Z -B Z -A Y -C Y -B Z -C X -A Z -A X -C Z -C Z -C X -A Y -B Y -C X -C Z -B Y -A Y -A Y -C X -A X -C Y -C X -C X -C Z -A X -A X -A X -B Z -C Y -C Z -C X -A X -B Z -C Z -C Z -C X -C X -C X -C X -C Z -C Y -C Z -C Z -C Z -A Y -C Z -C X -C Y -C X -B Y -A Y -C Z -C X -C Z -A X -A X -C Y -C Y -C X -C Z -C Z -C Z -C X -C Z -C X -C Y -C X -C X -C Y -C Y -B Z -C Z -C Z -B Z -C Y -C Z -C Y -B Z -C X -C Z -C Y -C Z -A Y -C Z -B Z -C Z -C X -C X -A Z -C Z -C X -A Y -A Z -A X -C Y -C X -C Z -C X -C X -C Y -C X -C Z -C X -C Y -C Y -C Z -C Y -C Y -C Y -A Z -A Y -C Z -C Y -C Z -C X -A X -C Z -C Z -A Y -C Z -C X -C X -C X -C Z -C X -C Z -C Y -A Z -C Z -C Y -C Z -C X -C Y -C Y -C X -C X -C Z -A Y -C Y -B Z -A Y -C Y -C X -C Z -C X -C Y -C Z -A Y -A X -C Z -B Y -C Y -A X -C Y -C Z -B Z -C Y -C Z -C Z -B Z -C X -A Y -C Z -C X -B Y -B Z -C Z -B Z -C X -A X -A X -B Z -C Z -C Z -C Z -C Y -A Y -C Z -B X -C Y -A Z -C Y -C Y -A Y -C X -C Y -B Z -C X -C X -C X -B Z -C X -B Z -A X -C Y -C Y -A X -C X -A Y -C X -A X -C Z -A X -C X -C X -A Y -C Z -C Z -C X -C X -B Z -A Y -C Y -C X -A Y -C Z -A X -C X -B Z -C X -C X -B X -B X -B Z -C Z -C X -A Y -B Z -B Y -C X -C Z -A Y -C Z -C X -C X -B Z -C X -A Y -A X -A Z -C Z -C Y -B Z -C X -A X -C X -A X -C X -C X -C Z -A X -B Z -C Z -C X -C X -A X -C Z -C X -C X -C Z -C Y -C X -A X -C X -C X -C X -A X -C Z -C Z -C Y -B Z -C X -A Y -C Z -C X -C Y -B X -A X -C X -B Z -C Y -B X -A Y -B X -C Z -C Y -C X -C Z -A Y -A Y -C X -A X -C X -C X -A Y -A X -B X -C Y -A Y -C X -C Z -A Y -C Z -B Z -C Z -A X -C Y -C Y -C Y -A Y -A Z -A Y -C X -C X -A Y -C Y -A X -C Y -A Y -C X -C Y -B Z -C Z -C Z -B X -C Y -B X -A Y -A Y -A X -A Y -C Z -C Z -C Y -B Z -A Z -C X -C Z -A X -C X -C X -C Z -C Y -C X -A Y -C Z -B Z -A Y -A X -C Y -B X -C Z -A Y -C X -C Y -C X -A X -C Z -C Z -C X -C Z -A X -C X -C X -A Z -B Z -A X -C Y -C X -A X -C X -C Z -C Y -A Y -C X -A Y -A X -C Y -A Y -C X -A Y -C X -B Z -C X -C X -C X -C Z -C Z -C Z -B Z -C X -B Z -C X -A X -A Y -A Y -A X -C Y -A X -C Y -A Y -B Z -C X -C X -C Y -C X -C Z -A X -A Y -C Z -A X -C X -C X -B X -C X -A Y -C X -C Z -B Z -A X -B Z -C Y -C Z -C Y -C Y -C X -C Z -C Z -C Z -A X -C X -A X -A Y -A X -C Z -C Z -A Z -C Y -B Z -A X -C Z -C Z -C X -C X -A X -A Z -C Z -C X -C X -C Y -C Y -C Y -A Y -A Y -C Z -A X -C Z -C X -A X -C Y -C Z -C Y -A X -A Y -A X -C Z -B Z -C Z -A X -C X -C Y -C X -C X -C Y -C Z -C Z -C Y -C X -A Y -C Y -C Z -B Z -C Y -C Y -A X -C Z -B Z -C X -B Z -B Z -C Z -C X -C Z -A X -C Z -C X -A Y -A X -A Y -C Z -C Z -C Z -C Z -C X -B Z -C Y -C X -B Z -C X -A X -A Y -C X -A Z -A Y -A X -C Y -C Z -C Y -C Z -B Z -C Y -C X -A Y -B Z -C Z -C Z -C Y -C X -C Z -A Y -C Y -A Y -C Z -B Z -C Z -A X -C Z -C Z -C Y -C X -C Y -A X -C Y -C Z -C X -A X -B Z -C Y -C X -C Z -C Y -A X -C X -A Y -A Y -C X -C Z -C Y -B Z -B X -C Y -C X -C X -C Z -C Y -C X -C Z -C Y -A X -B Y -A X -A Y -C X -A X -A X -A X -C Y -B X -B Z -C Z -C X -C Z -A Y -C Y -C X -B Z -A X -C X -A Y -C X -C X -C X -B Z -C Z -C X -B X -C Z -C Y -C X -C Y -C Z -C Z -C Z -A X -C X -C X -C X -B Z -C Z -A Y -C X -B Z -B Z -A Y -A Y -B Z -C X -C Y -A X -C Y -C X -C Y -C Y -C X -B Z -C Z -C Z -C Z -C Y -A Y -C Z -C Y -A X -C X -C Z -C Y -A Y -C Z -C X -B Z -C X -C Z -C Z -C Y -A X -A Y -C Z -A Y -C Z -C X -C Z -C Z -A X -A X -C X -B Z -B Z -C Y -A Y -C X -C X -C Z -C Z -A Y -C Y -C Z -A X -C X -C Y -A Y -C X -C X -A Z -C X -C Y -C Z -C X -B Z -C X -A X -C Z -C Z -A X -C Z -C Y -C Z -C Z -A Y -C X -C X -C X -C Y -C Z -C X -C X -C Y -B Z -A X -C X -A Y -B Z -A Y -A X -A X -B X -C Y -A Y -C Y -C Z -A X -C X -A Y -A Y -C Z -C X -C Z -C Z -C Z -C Z -A Y -A Y -A X -C X -A Y -C Y -A X -C X -C X -C X -B Z -C Z -B Z -A X -C Z -C Z -C Y -C X -C X -C X -C Y -A Z -B X -B Z -C X -B Z -A X -A Y -C Z -B Y -C X -C X -A Y -C Y -C Y -C Z -C X -A X -B Z -C X -A X -A X -C X -A X -C Y -B X -C Z -C Z -C Z -C Z -C X -C Z -C X -C Z -C Z -A X -C Z -C X -B Z -A Y -C Z -B Z -C Y -C X -C X -C Z -C Y -C X -C Z -C X -B X -C Z -A Y -C X -B Z -A Y -A X -C X -C X -B Z -C Y -C Z -C X -C Z -C Z -C Z -B X -C X -C X -C Y -B Z -A Y -C Y -C Z -A Z -A Y -C Z -C Y -C Y -A X -B Z -B Z -C X -A X -C Z -B Z -C Z -C Y -C Z -C Y -A X -C X -C Y -C X -B X -C Y -A Y -C X -C Z -A Z -C Y -A X -C Z -C Y -B Z -C Y -C Z -A Y -C Z -C X -A Y -C X -C Z -C X -B Z -C X -A X -C Z -C Z -C X -C Z -C X -C Z -C Z -A Z -A X -B Z -B X -C Z -C X -B Z -C X -C Y -C Z -C Z -A X -A X -C Y -B Z -A X -C X -C Z -A Z -A Z -C Z -C Y -C X -C Y -C Z -A Z -A X -A Y -C X -C Z -A Y -C Y -A Y -A X -C Z -C X -C Z -C X -B Z -A Y -C X -A X -C X -B X -C X -A X -C X -A X -C Y -A Y -C X -A Y -C X -C Z -C X -B Z -A X -C Z -A X -C Z -C Z -C Y -C Z -C Y -C X -A Y -C X -A X -C Z -C X -A Y -C Y -C X -C X -C Z -C X -C Y -C X -C X -C X -C X -A Y -A Y -A Y -C Z -C X -B Y -B Y -A Y -C Z -C X -A Y -C Z -C Y -C X -C Z -A X -C Z -C Z -C Y -A X -A X -C Z -C X -C X -C X -C Z -C Z -A Y -C Y -A X -B Z -C Z -C Y -C Z -A X -C Z -C X -C X -A Y -C Z -C X -C Z -C Z -A Y -C Y -C Z -A X -C Y -C Z -A X -C X -A X -C X -C Z -C X -C Z -C Z -C Y -C Y -A Y -C Y -A X -C Y -C X -C Z -C X -A X -C X -A X -A Y -A X -C Z -A X -C Y -C X -A Y -C Z -C Z -C X -B X -C Z -C Y -A Y -B Z -C Y -C X -B Z -C X -A Y -A X -A X -A X -C X -A X -C X -C Z -C X -A X -C Y -A Y -C X -C Z -C X -C Z -C Y -C X -A X -C X -C Y -A Y -A X -B Z -C Y -B Z -C Y -C X -A Y -C X -C Z -C X -C Y -A X -C Y -C Y -C Z -C Y -C X -C Z -C X -C X -C X -C Z -C X -A Y -A Y -C X -C Z -B Z -C X -C Y -C X -C X -C Z -C Z -C X -C X -A Z -A X -C X -B Z -C Z -C Y -C Z -C X -C X -C X -C Z -C X -A X -A X -C Z -C X -A Z -C X -A X -A X -C Z -A X -A Y -C Z -A Z -A Y -C Y -C X -A Y -A X -C Z -C X -A Y -B Z -C Z -A X -C Z -C X -A X -A Y -C Z -C Y -C Z -C Z -B Z -C X -C Z -C Z -C Y -C X -C Z -C X -C X -B Z -B Z -A Y -B X -B Z -C Z -A Z -C Y -C X -C Z -C X -C X -A X -C X -A Y -B X -C Z -C Y -C X -C Z -C Y -C Y -C X -B Z -C X -B Z -C Y -C Y -C Y -C X -C X -A X -A X -A X -C Z -A X -C Z -C X -C Y -C Z -C Y -A Y -C Y -A X -A Y -C Y -C Z -C Z -A Y -C X -C X -A X -C Y -C X -C Y -A X -C X -C Y -C Z -C Z -B Z -A Y -C X -B Z -C Y -A X -C Z -C X -C Z -B X -C Z -C Z -C Z -C X -C Z -C Z -C X -C Z -C Z -B X -A X -C Y -C Z -A Y -C Y -C Z -C Z -C X -A Y -A X -C Y -C Y -A Y -C Z -C X -C X -C X -A Y -C X -B X -C Z -C Z -C X -C Z -C X -A Y -A Z -C Z -C Z -B X -C Y -A Z -A Y -C Z -C X -C Z -C X -A X -A Y -C Y -A X -C Z -C X -C Z -B X -C X -C Z -B Z -C Z -C Y -C Y -A X -C Z -C X -C Y -C Z -C Z -A Y -C Z -C Y -C Y -A X -B Z -C Z -A X -C Y -C Y -C Z -A X -C X -C Z -C X -C X -C Z -C Y -C X -C Z -B Z -C Y -A X -A X -C X -C Z -A X -C X -B Z -C Y -C Z -C Y -C X -C Z -B Y -C X -C Z -A X -C X -A X -C X -C Z -B Z -C Z -C Z -A Z -C Y -C X -A X -C Z -A X -A Y -C X -C Z -C Y -A Y -C Y -C X -A X -C X -C Y -C X -C X -C Z -C Z -C X -C Z -A X -A X -C X -C Z -B Z -A X -C X -C Z -C Y -C X -B Z -C X -C X -C X -B X -C Y -A Y -C Z -A Z -A Y -A Y -C Y -B Z -C Z -C Y -C X -C Z -C X -B Z -B X -A X -A Z -A Y -C Z -C Y -C Y -C X -B Y -C Y -C X -C X -B X -C Y -C Z -B Z -C X -C Y -A Y -C Z -C X -C Z -A X -C Z -A X -A Y -C Y -A Y -C Y -C Z -A X -C Y -C Y -C X -B X -C Z -C X -C Z -C Z -C Z -C X -C Z -C Y -C X -C Y -C X -C X -C X -C X -A Y -C X -A Y -C X -C Z -A X -A Z -C Z -C X -C X -C X -C X -B Z -C Z -C Z -C Y -C X -C Z -C X -B Z -B Z -C Z -C Z -C X -C X -C Z -B Z -C X -A Y -C X -C Z -C X -C Y -C Z -C Z -C X -C Z -A Y -A Y -C X -C Z -C Z -C X -C X -B Z -C X -C Z -C Z -C X -C Z -A X -C Z -B Z -C Z -A Y -C Z -C X -C X -B Z -A Y -C Z -A Y -C Y -A Z -C X -A X -C X -A Y -C Z -C X -C Z -C Z -C X -C Z -A X -B Z -C Y -C Z -C Z -C X -C Z -B Z -C Y -C Z -C Z -A X -B Z -A X -B Z -C X -C Z -A Z -A Z -C X -A X -A X -B Z -A Y -A Y -A Z -C X -C Z -C Z -C X -C X -C X -A X -C X -C Z -C Y -C Z -C X -C Z -C X -A X -A Y -C X -A X -C X -B Z -B Z -B X -C X -A X -B X -C X -A Y -C Z -C Y -C Z -C X -A X -A Y -C Z -B Z -C X -B Z -C Z -B Z -A X -A X -C Y -B Z -C X -B Z -A Y -C Z -A Y -C Z -C X -A Z -C Z -C Z -B Z -A Y -B Z -C Y -C X -A Y -A X -A X -C X -C Y -B Z -C X -C Z -C Z -A X -A Y -C X -C Y -B Z -C Z -C X -A X -C Z -C X -C X -B Z -C Y -A Y -A X -C Z -B Z -C X -C Z -A Y -C X -B Z -C Y -B X -C X -C X -C Y -A Y -A X -C Y -C Y -C Z -C Y -C Y -C X -B X -C X -A Y -C Z -C Z -A Y -C Z -C Z -C Z -C Z -C Z -C Y -A Y -C Z -A X -C Y -C Z -C X -C Z -C X -A Z -C X -A Y -B Y -B Z -A Y -A Y -C Z -C X -B Z -B X -B Y -C X -C Z -B Z -A X -C X -C X -C Y -A X -C Z -C Y -A Y -A X -A X -B X -A Y -C Y -C Z -C Z -C X -C X -A X -C Z -A Z -A Y -A X -C X -A Y -B Z -C X -C Z -C Y -C Z -C Z -C X -C Z -A X -A Y -C X -C X -C X -C Z -C Y -C Z -B Z -C Z -B Z -A Y -A X -C Z -C X -C Z -C X -A X -C Z -C Z -C X -C X -C Z -A Y -A Z -A Y -C Z -C Z -C X -C Y -C X -C Y -A X -C X -A Y -B Z -B Z -C X -C X -C Z -C X -A Y -A Z -A Y -C X -C Z -A Y -C Y -C Z -B Z -A X -C X -C Z -C Z -A Y -A Y -A Y -A Y -C X -B Z -A Z -B X -A X -B X -C Z -C Z -C Z -B Z -A Y -C Z -C Y -C X -C Y -A Y -C X -C Y -C Y -A X -C Y -C X -C X -C X -C X -A Y -A Y -C X -C Z -C Z -A Y -C Z -A Y -C Z -C Z -C X -C X -C Z -C Y -C Z -A X -A X -C Y -B Z -A X -B Z -B Z -C X -C Z -C Y -A X -C Z -C Y -C Z -C Y -A Y -B X -C Y -C Y -C X -C X -C Z -C Z -C X -A Y -C Z -B Z -C Y -C X -C Y -C Z -C X -A X -A Y -C Z -B Z -C X -C Z -C X -C Z -C X -A X -C Z -A X -B Z -C X \ No newline at end of file diff --git a/03/input b/03/input deleted file mode 100644 index 614564b..0000000 --- a/03/input +++ /dev/null @@ -1,300 +0,0 @@ -gfWpjRRQffQGCHHJsGqjsj -SclzJZZvmmnPbJtVSqqNBqVCBdSCsd -tlbvZJDZtmtPcJmlPnhMFQWWpMRFTfLDRRTWRp -HjMPgSWjVrjgbHRRSSMRgjRdpdbGdlcdCvQfcCdlwQJfdf -LNDnhtNtLNFFZDtFnhzvdldDflvvDCdlJfldpJ -ZFLFZZmFtFtTNTSPRrVPWWMpRP -qLBSBLRwmgzqCbzCffDlrfCV -TFFFHNWFMFFMpHpGHMTHGNhrldWZCsdZsslZlZfrflDVss -PTMcPGntTThHhTGctnMvSwjjvmmqLBmnjqqgCR -nClJtMwwntqVVPJcgZqq -mjpsDcrcSSFFPZqFBWWgVP -vQcjsvhrvvrmhbmNHMNnlHbNMtCtNM -bgvvhnTQtjrrrhsDDf -pLSMltLzLLSjFrSSjrSJHD -zNWRLBdZPllPQtCvttgCqb -DRlDrrFTNDNlgzsGTBfcnqhhcnJfcrCSqc -MMmmdWtdLmvtldHjMmQfPBqSJWnfCCCqcWSSPJ -vjHMjLmjpLtHptQLmHvwTRgNVVpTzZFZgZRlsVTN -rzpMpDCGFCFFjRFsRPFRNFPv -fWclbHCHtSmfvjnmfsvZ -wTcTlSwwtQtWclBQBLGMLMCLVzVLwJGqLd -MQSjLNjPPLLSBPjfQhSPHjDVCjDtVVpDHwbwVpbD -RcmWzsRrzZrmTszWRqWlmRJscbtHwCbndCtcDVddDpdnVnbt -JTsrGGTqmwTlWmTzJzWmhhPLLGgPFgBffSSPhFFM -qMMRNZMDDNWLPqfzCgDcGncVDCgG -wwBFhwhhBgmcVzhghG -tbJbjjtJvwtdtwjpFtlbvtdTLNSMqNqMMgqNHPlZRTNggL -qmjMHsZmZSbjbZMjSLFFFFwgsgvFswpwww -hRJBhmnhhvFFwhcv -llfWDWzrzBNTRfNBrWzzTmZbGTMjPqMmZPjVbSZGSP -CRRPLwwcclcGVppQ -SHFjDjjHDTfSDNTTHfSHjQVGrpmllQQWltVVVZGp -HFlqzDTfqlzwbgPJLwCP -WRCNLphpLppSCWVHNfLRzVnQMnBnMddPMQDFQgrhPQFM -jTjJqvqjvPVJFJFBJF -qTsZbvGqqZlstsmZVljtwqwSHHNWczHSSRcWNSRHzzNfbW -glgzDzHjSrVHcVgbrjmNsscNGmNWssGNNtst -hHPQLHJpwdLpdHfQQtnZmNMwnZGZWwsFZM -QpdhPJRTJfPphJfhCBlVqVvgvVDBbvVqDbHD -VtHzjZpjVtHrprgGmjHsGHNdSJFQRcLJqCdQcSqJNpcq -bBWfTPwhbfDlMnhffRwQJQNdqJcLFQLSdR -bhBhvfMWTnlDnTBfPSmvmjsjmmGtzHtsHm -pcRPRPWrSDcJGZSStmwZZS -VnLfCfTlfVzfnMMBCqVNZJdtjNtJjhJdGNNbwT -BLvqCCMVsnRQsPQgDcZH -cQbqqQhDGhlQfQlhQrqGsTNgLgCpRgLTPPPLNbpg -wtHVddVFwSHznZwwznCpRBdjppNBNTTdCjRR -ZtWFwWtSmvVnwZDrCMGfQlDDJQmD -PzPZGCZzrZrlhdjdCqfCsqQdRD -cbvZLVVFvbbNSNFHSDnsDQdnfqNQDRngsR -FJHSLSFSScJJbWHFmFVFSZmrrzBmhtBwmzBMPMPzPh -nlpFcLBgcVcLbssGVBGGrlpGPhJJJJJqPBZPDNMQMJJhJQZZ -SSTjHzfHwtZSPVQVQMRQ -TzVHwWfTtzwdVzsbFnGgsbdcGrLc -FppVBRVZDdLmrDGmmfrQ -NtNMPNshJCzznLGJSrqRrRrr -tRssthhPlCWhPzsWtzhzCbVVjwTpVwdZZTpwjbdBbwBc -TTWblHWScvPCCHTWFzSrqqsNNSmdmqrrpz -RLRwjjnjZNprzmmZcq -QQgtQnccQDGjgLDRRcLthQhFBvCbMtMHTWlBFllBbFCMTW -WnBVNvDnVsNvZWdrWDLVDMbsHpTjpHCSSClsbSCCMH -GPFtmztzgPhRFtJTdbTwjppSCjpgSl -hJcfPtQhdtWNVZqNnqNQ -GLcqZPPsnqQcFsmBBrqRvrddNqrC -MtHthJwLllwvjRvvtrvBRS -VHMfDLbpfznszZQG -WBSdPlQPRfBtGQPfBGPBJgzgjwsJzsszJwCrdwCT -ZpppVpMVpnVHMVVbZRJrCgwRzTJrwNJw -MvhmnpLqLmhVmBlftRQBFSlR -hhQlSJqhtCSnqZJnqShSlNDwRzpvdwRlMBMMdcjRjMpMRc -frrGmLmWbfFrsmFHmBzBvBcwdJbvpjzbMM -mmgFrVGLWJLFGsgfhSVtVPqntqnnSStN -SFJTJTSqswwFQbwf -cDtcWPclrtPwVsfssQmN -HDtwWCgWdggdzSGJMSzGMq -JpqJtWRJMhCMJpMQCWtFrjgHdgdlgllwNjlQjldH -fBzPZcZvnBmDnZvZBZDmPvglVVVdgHHSwrNRgVgwNPRH -GbZnZccfvcsZmccsmnnZTRbCCMWFTWJqFCCMJFRT -vrrFqrFTBTmLmNrLMqMTHddJbHpWnhdWdWbHhJGM -wBzfwzcQSzWSSshpdWGp -gwjPPPDQtzQlzQDPqTgLBRmRqZBvqFNR -bWVptFFsbPcZsGLhsZGmLB -qnWrnrHdMCDCNqfWmvRRZSSRLdRGZGRG -nNqqNDfMrMWHDQNHzWfHNDnwzblpzFlbwtFbVVlwVcPJpP -BHJhlHdJQggvddglJBBhglhQzZHPZpFFPDMzFDDRDFZZDFZD -rSTfqnCffMfCVfCLNqbzbjWNDbbWDPFpPFbP -nfnnrSfCTVSwrqSLCGfTGlgQhlvsGMJQJBhhssJhGc -tBjjDjjqfDjLfJlrLgglvmrlmrcc -TwNNTVhwwpgvGSNNSssS -TbwhnvvChhbVRTPPRJBJQQfJttMQQJCQfW -mWSvSQVgmWQsQvspQJlrlLnJLLpCClhhlp -bFHRjZdNjjBZzFzhtnCllCcJLrCBll -HFFNHbdZZLZjfPFjHVQmWDDVsvsmTqVqDf -JJPllQQClqgBCgdHwHbpjVTwHd -tmGZtjGjHZpVbfMT -ShGjNGWmDSNcNRtGmshDRzzCvzQJJRBLrvlrBPJv -cTpqsTWqVVpsNLfvCDFlMFDVFL -JnndJPddQgzHlvMJFDhLCG -BjtntgdRnQgzjdBRQBlpNWrTTlNTSwNpWS -qHmqLVLjmVqsDBLtmjmbtPwCTwwPzGWRgGwGwMwW -ZhcCNCSprRTWTwSnWW -hflhZvvQhppZfcNpvrhpQHjVjLmbVmmVHVCFDvqVFb -nnNrwDnZrspwDNnZsNSDsNbCmpjvMTPQjLMmPmmQPGBTQP -FdVtRdRfctBQPmTtTLQB -qhzWVWJqVHwbhlLSsS -htWmhDhFztnztDhtBmBtghPRSrpfjVwPdfPwpwnRSVrr -cbCHvgJGcTqbqcbqqqcqsMsRVrSCwffdRPPpVpwCRSwfjj -GlgGQqTqbgQzttmBNNFz -NWQNQgdTgjQNddTZfrCQWRDnnnbqnLqnRcjJlqqvDj -FtSSmSmJhpllcclDvpln -JBVVSsSFBVBttShFGSPQfCGNdrMfZZTQTZNNdC -HgHthMhphcbfbMMfHhsGGDCRRVlcVSScsCRz -nWvPFqLqPNdjnNLnjdJnPdWjGlssDPSsllVCRzlTCTGlSDzS -RvddJRJQHwQwpZZb -gdZwgpjZZQtHTdrWrwdpWRnlhNBRlLbFthNhflhBnL -CVzDCPGMVqVmGsGGbJCmCDvMcRcqnBFFFnRBBNRBBNqhnFfF -DsmSGsGPzvMGJvdbgTSTbjbSSdgH -jBGmbNBQGdBNNDJNQRLLVDsHtDRzHHZZcH -wCWPFWPCrPhPrplvprhwpCHHtszttqZslRVHLtzVlJZL -vprMMvMnJCwnnPShNGSTfGSfNmmgdNff -bPtLbvVWWztbLSVVnbszpzQsrcDDBdpRcDrs -llZmgCZqgCFgmdRdJcscBdJsmQ -FZlgfqCFfgZHlqCMCglwCFGWntLLSMRSPGPVttWRtVGL -vtnDsDtrnrSvrMVmbrrJgPCmBm -FpQHzFclLVzWHhwHLQLlHLzPmMBQCJTdTmCTmBTJTTmgQg -pllcVWqlffZqZtZD -TSSZWpsQmZWcTZSvsTTTppNPzrBPrNBrzQNVFrBBNPqP -CgjmCbtGgftMmLtLmffzBzJJJNVVMNzNBqJrFN -gjgjLgtLwgbGjHdhhGdvmlnllnpWnplZvcvwTl -htLrRFRtbbhlGSLRtbJBJsjBmgMMgJgtmBzz -pZQWddQQfpZZffcDQZwddQwDMqDDsPgGJJzzjqzgJMBJgmms -QdcQTdwpGNwfrCRlRVlNLSbb -wrdvpVBVpMGPPjWjGZJJZT -tChCSlNfCCHtvHHWPHPZ -RbRRNvmcqcblfMwwdVBQQqqdpL -qcctqRcqmcHWzHBdDMZhfwthBnwt -JFsSNMSgNSNJJMGJBBdjhFDfhwhBrwnZ -TbgbsSgJMTJllblLCSPlsTCVQmRVVWpQzzqpqzVzHLQzcc -CVcWbjjSSCSSnpjWpCpprhHZlHtHGzHrZrHGclrl -gqZqdddLgmgNqvTGGHvvmrrGHT -FFDgZfZNLMgNfdDqDRnsnjBpbSbnMBBWpQpB -qwpQFwRnqFFfSBSfFt -LJJLGLWWtZlbgWHgGshhSdSVzmhHmfVzzC -lrbrbrNNJgDMLLbblGctvvvDqPcqctTTTcqP -vnblvbfHvlcHMlHlZbSPLTPLwCMBRRPRRFFR -tszzBqtzDsWVPRSmzLVmVL -tsNsDDNgGsqBrgBpgdHQbfhflcHdpZvdbh -cCpLtpGGLsgsppcpmGGHMtjfHRVhvvVVFRfhjV -NWnnnNNndQnQZdCdzzRVMHzvhhHWWWjj -CPJJrnSZpGDJLGTL -cnJzpcnmnQVFbzTlvTHBlb -tWCDPjfsDGfZhddhjjdTvFTgFgvbnFHvdHqT -hjfCjwDDGjPthsfhsnGNrJcQcRmJMLVJrJNMLw -CPPRrSlRccPcwTHwfdwTHdfl -mLQLLjhQhhQLZvpzssHDhdTswzzTJD -gmjbBvQLWmgbQZBCSRnnnSMVCBHnBS -sWrBJbsVqschzhQzHh -gtFmztnSlSfdlmnZSdSwcwGRTjcTcwwTcHccRg -FzFDzMZCdDZtCSrJVBMqWVrqNBqN -TvWlhhfhZJVgtSSl -ddBdGGdFmmBbdzqqPDDGGmdDZSgttHtZppSgzZHSgMhtMgtz -PGqdrbbbdPnrcjjhTRWLLc -trrmJWcrVwVbcPScdcBdGPHH -JTQnfjlJTpQFfMLlNJHHGDPdGsSdDjHGDPPH -ffFfnCTTCfTlplTMvNVzqWvwVzrrhwmWhJbW -hVtDtgcghzJpmmhlwp -srsnrqqsPqsBPvnqRBRMPbnwlplpmCStJwmzJPtJzJfwSw -bbrqjBbvGsjGGBWqMVFFVDNVNjZjgtgFgZ -mnmhBDHhwWCHsTgRsH -dcSlFvccMFMMFFggNsTzzvvzWnVW -llQdllZScFplJPpdcZSqBqjhmtnrwrDGnQGhrq -ZffVNgfTdmPVltsnnGwgQDnB -rMCFLMHpzCMFzHpzbrcHFLzBwsDsDDnlDBJrDDBBSJSnBn -MLMjMzqpCzvwqTmwZdvq -DDNlWPRqgPRPsRFjJQZbchJZbgQJ -zzrLLznpLbHnjcBHvVvHvJcZ -ndmrTzbMMTfzrTfnTLrzdpmsPPPqlqGDNNsPCRDRqRsD -zzdqTNfTfdfhgQhgqMFSjRDtDRWHqtWlwtqDRS -ssBCrcmpVGZvVRDdSDRwtmWdDb -rvGPCZLCVCPVBZFdnfThgNgLJNhf -bslcrssQwDPbQrrcsbsnQrjMLthPMMRhLRhLRgzmgPhRgM -DffvDfHGfNFdpfTdMtghLBThzVmBhBtM -SNvJNJdflDDbcDWJ -HFlHNpWsTlGWbFsGFTGHFLLNzPPhLVPMzVzMNPhhzP -jSvZtmrqqpcrCpPVzw -dddQvqDgDmjdSQQdqZjStpffWGgBRWTGfGsRlWBlHF -THnTbNrdBnLTHHnTnBrWRTndsccZsLZcDqmLDPcDlQDsmmsZ -ptwzzhpvGSVdqQlmszqmqPqc -wGVjSddCBggCHFWN -LFFbdbhhhvwvfTNdRhhRRvMbHDGjcfcGfDjtDHHcHqGjDqqj -WlQnVpWSSWWsPsgDqDzHDLHjJcttGP -rrWsZrgVnWrWSlmSlmSBFFbvTThhBFvvZLBhRw -BgBdcjThvjFcTggrqvVfzlnnPlrqLt -JpwJGPsQwpwSssHpPLlzlnNlzLLNNLVtsN -JPMmWGmWPmHbHpJbWGJmDmwbBTRZMBBdZCRTRjFjhCZCCBTT -BjbcLFRfBRhnbGjCVVvPllpcPtcDmdlPpvPP -WrMQqCNgsqWWsTNCMZMWWsWPvJDJDddvlpDtZDpDDDDwvP -qNMzzSzSQsGLbFCSCnVR -tTRpHJQpQBZcddhhMhvhJN -zswljflgMFbwPqmNmSdvShLNfLhm -qFbsMCVgsqMwRWHCWDDBDWpt -VSTCCWsJvGpHHCNC -GrqzZrrZjDljcDDlfjMqgRPfPvQPpBHNvHvBpvNQ -rljncDcznjMqhlhZDnltrzhTsGWtbVLFTTWGsbdWJdFTmL -mJPDSJJPZPJNrprSNrDmpZGrhFFhBqjGbGGVbFjhhfqBjBRV -cgnTQHdMQdTHdhqfggBhVqVfVS -nQdLLddssSJrmsNvZrPz -jfjffQzZQQMzZZfZZQFgjDWBCRlCBdTTBGGGRpBCgdhdBG -LrstWtNsbHLsprRBdlGpCwlh -HLnntbnscqLvvPNNfMWSSmDMDPjzjDzS -vhcGwWVvglltcfBn -BBSLrzSJLzJNJrLfPfPRsmDRmflD -jMjFZJNMqzrzZzFNFjNQqJzbCpBBvWdpvTCWhpVwdvHVCGbG -HlrnFmRmtRBQPVBTQHHQ -psSLJsLpTTdPdLTv -fCGgTgfSSCtRtFFzql -pfTpStppcDlWfbpDdzQRsQGJhfffQgJHzN -ZFZFZmBFwVwBVmLmLsRLRhHNzRLRNNzJ -FnnjwVPmnqqqjBjrTdblldCTpcPJtbTD -bdZHdWlrjslMMwGG -rDDTRBTqSqmJLBJRBTSJpmMsMMjhwvfMhjjfVGsLshhC -BqQFRPFRQBJgzrcZNHFdZt -wrDdLlDdPWZPTTrwlZpSsPsHVHsSCHnbzMHM -JtNFttNCjFvpppnMpJgSVS -NFFqFcCQCvfrZmGdZdmqrW -GMNNfJnNddJFJWsv -HSDwCmmghLmwmmHDpsvdFpMWpppptSbp -zCzBCgzhwmhzLrPnVrMqZBNfGf -DrHGtbltbCjjjffPrgsmzmcqsgDczdsmgJ -VZLwQLZLLVwLBQZnLVphhLQQqsTNmzJdcNTzzmJNqlNBsszz -wZLhVMplpQVRRlpVGPfjCjMGCrbHGWWb -BHpFrHHbBNTWWTWNhCPwPLNPjCdjLV -zJRRzJvZlcZsSMJdzSDjDtfDCtDtjDjjjj -dcJcszQJJGRJzRllMpGHpFTWmrTmBTbWWB -qnWWqhDhnjmjCMBlNRrfVfRNCB -vvBLBtGHJTHBddrNVJrVSVdr -BZLTHbgvHvTFBgTFFvhmWmmZDPmmZDsnqncs -WBvmjDbSzTMmHHdpNHNF -ttlflZRfGtfWVRltGtflCdHnJrNJHNHnJddNMNCnpF -VVwssWQQfRGZcszBQzDbjSBvSBDP -lSlQqQVqWWVWfqQWVJSTscdmPPwwTTmjjfpjPp -FCbzHbvHvtgrtFCvbvbbwdTwmsrwnTTpmdswmwcc -DtZbHdghztlLMQlWWhVQ -pqzzFSmdFqbQvlpdDGGrGBWPPBVNQnVttZ -cgcjwfBMhHCjjLMCrtcnPcsnsPGVnrVs -JgCChjjjBHhRRLLjjhplzvzpSFJvzzlDbSqm -mZzVQZMhmrffwfQhWhzmrmpBtRcdbnbcdcMpBbDbncdD -jsLTSlTWRBSDpnDn -GLTsGWGFsfmJGZVJZm -BGWshBGnsFWSLWBLlSSLWRJHnrVPrPcNHCNHctnPPJ -QmvQCqqMTZqvgmvTjpZCMgMtrVctPptHtrNVrptbJJbrRP -CzjCZfCwDzShDWdF -HmQlQHmJnpmptmzt -MTqMjMPvTvVvhpdztZnSwzwZqS -CcbLLPTMtCCsjHNHQFLRRFlRNN -GDFwLLLLSrbdPlFBMFsslFHmZH -TnJCgthHpVTfZMQZQmzWnZ -hjvtjtghtqJvVjhTgNhJTvdvdDDRbbccrwPdcGwrHS -MQQMBPzMGQBPBbDQPMhpnRwsGnRhNrFFpRnF -vmgHcmCTTlvvvZvTmqcTfmCRdddFnwdRdnVwFpVfpRnwNw -gvmqJTcHclCQJNzjMLWbLj -DbqqDDbQFqfNtZSLSq -RrdjPdmrpWBdmWRdccfLtNttSDMZBfftLMLf -dCcgmgRrWcgcppjCVVVVFHFnDnbJnb -fZMFfrtVdZSDVwTgjRMLhwTCLj -cNzPBNpclllzHbmTNRhqCRTgjC -nhhWJzhGPlQcGvsvfJtSfZfrtt -PSzrBWQBBGzBlnSnWtDrqHfNfwVwHcLNjHjwcDNmFH -hbRhtRCRpRvsRgVVVcNHNNNCwLwc -ZtRTRvttWWzBPlGZ -tcLnctNsJrWWNDTN -pwPPSjHSHHfzvmSvvvFVVGqGVqGmFqrDWgDr -pPSvfPQMzCQCSbhllLnQDhbtQZ -DmLffDhpVhjjVwvbwNVFbbNSNH -JRPBgMPRHBrMHMHqrBMqWJBSQQNbCvndNrdvCNCFwFrQnv -WcqJcPGMGtWRRBtgZjjspGHTLHGHTppm -ptJtWJpqRwDZZDVWpbDWqlvvflfMjlfCMjdCCdtslv -rLwTBGBzBBQTzmwCCjvdvlLllddsMl -NBwTmrGNgrTrcgPpWgWPDSVVPW -CdglMnrlSSqDPpcsZb -ccwmVJtvVvVtNhBpBFPDVpqbbD -TRGQjJjGTmtrTCgHWLfrcn -JNNhLwWwWQHNPDmmjHpc -zMqZCvVCSMVqMSTVvZVGsBnlslpmsmzlPmsHPsPB -qTVqrgdCCbhfHJQFtg -wNwCBBCZsfQWfmLCGSmmFRGSSF -zjnPHPVqMhhZLTcbpbSncp -lVlhlgzlPZlwtgBddJdfvf -JWRWRRLWJLnjtjnLzGzznflBvfPvPMqMDqdbzblCzC -TTScTVbHmTsVFrmcsgcHFlPMMvlvrDPdlrDDqdldvl -bVpcpchgsFZHbhSmSTsHFFjwtZjnjLttntNjLjNLWtjw -rffjPJzWzrgPpGWHVNqTtmqFTVRH -cswhvlLBvSLsCtbFccmqVFNTbb -wwZSCZSnCLsSDGgDmpGnfmmr -rTfJTNtjfNljlrWSlzRtNlTqsddwGnsnHHwwhssTsnqw -VpbpZZbvPLbZbbBhwqMHhsGMnJdVwV -mgQZJDLBJbbbcbgZClCSfWlrCjRjlDCR -fSpwcVfzsztcSSWNNMbnMRqTvtTv -mJFmGDDDhGhBJHCQddllqTvCllqTRRWNnMbT -FdFDGdDDDhhHdZDjhDmpwSPVZszpwZsVgsPRZs \ No newline at end of file From b2fe4425efe0faafc5d6c78d6e1caf5fb443caa5 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Sun, 4 Dec 2022 16:24:21 +0000 Subject: [PATCH 06/14] =?UTF-8?q?Day=204=20complete!=20=F0=9F=A7=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 04/04-a.py | 21 +++++++++++++++++++++ 04/04-b.py | 18 ++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 04/04-a.py create mode 100644 04/04-b.py diff --git a/04/04-a.py b/04/04-a.py new file mode 100644 index 0000000..189e476 --- /dev/null +++ b/04/04-a.py @@ -0,0 +1,21 @@ +with open('input', 'r') as fp: + lines = [line.strip() for line in fp.readlines()] + +contained = 0 +for line in lines: + a, b = line.split(',') + + # otherwise compares them as strings :/ + a_low, a_high = [int(i) for i in a.split('-')] + b_low, b_high = [int(i) for i in b.split('-')] + + if b_low <= a_low and a_high <= b_high: + print(line, 'a inside b', a_low, a_high, b_low, b_high) + contained += 1 + elif a_low <= b_low and b_high <= a_high: + print(line, 'b inside a', a_low, a_high, b_low, b_high) + contained += 1 + else: + print(line, 'not fully contained') + +print(contained) diff --git a/04/04-b.py b/04/04-b.py new file mode 100644 index 0000000..39922e8 --- /dev/null +++ b/04/04-b.py @@ -0,0 +1,18 @@ +with open('input', 'r') as fp: + lines = [line.strip() for line in fp.readlines()] + +overlap = 0 +for line in lines: + a_line, b_line = line.split(',') + + # otherwise compares them as strings :/ + a_low, a_high = [int(i) for i in a_line.split('-')] + b_low, b_high = [int(i) for i in b_line.split('-')] + + a = range(a_low, a_high+1) + b = range(b_low, b_high+1) + intersection = list(set(a) & set(b)) + if intersection: + overlap += 1 + +print(overlap) From 8a722dd15ea3896f7ccbc8135d6781c59562b310 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Mon, 5 Dec 2022 11:19:59 +0000 Subject: [PATCH 07/14] =?UTF-8?q?Day=205a=20complete!=20=F0=9F=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 05/05-a.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 05/05-a.py diff --git a/05/05-a.py b/05/05-a.py new file mode 100644 index 0000000..aecd276 --- /dev/null +++ b/05/05-a.py @@ -0,0 +1,27 @@ +with open('input', 'r') as fp: + file = fp.readlines() + +pivot = file.index('\n') +grid, instructions = [i.rstrip() for i in file[:pivot]], [i.rstrip() for i in file[pivot+1:]] + +columns = [1,5,9,13,17,21,25,29,33] +piles = [[], [], [], [], [], [], [], [], []] + +height = len(grid) - 1 +for y in range(2, height + 2): + for x in range(9): + if grid[-y][columns[x]] != ' ': + piles[x].append(grid[-y][columns[x]]) +print(piles) + +for inst in instructions: + _, num, _, from_pile, _, to_pile = [int(i) if i.isnumeric() else "" for i in inst.split(' ')] + + for j in range(num): + popped = piles[from_pile-1].pop() + print('popped', popped, 'from', from_pile) + piles[to_pile-1].append(popped) + +print(piles) +for k in piles: + print(k[-1]) From 7f3859ebec3eb9fbaa3420f062d2395d68be92cb Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Mon, 5 Dec 2022 11:20:17 +0000 Subject: [PATCH 08/14] =?UTF-8?q?Day=2005-b=20complete!=20=F0=9F=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 05/05-b.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 05/05-b.py diff --git a/05/05-b.py b/05/05-b.py new file mode 100644 index 0000000..919bd90 --- /dev/null +++ b/05/05-b.py @@ -0,0 +1,28 @@ +with open('input-main', 'r') as fp: + file = fp.readlines() + +pivot = file.index('\n') +grid, instructions = [i.rstrip() for i in file[:pivot]], [i.rstrip() for i in file[pivot+1:]] + +columns = [1,5,9,13,17,21,25,29,33] +piles = [[], [], [], [], [], [], [], [], []] + +height = len(grid) - 1 +for y in range(2, height + 2): + for x in range(9): + if grid[-y][columns[x]] != ' ': + piles[x].append(grid[-y][columns[x]]) +print(piles) + +for inst in instructions: + _, num, _, from_pile, _, to_pile = [int(i) if i.isnumeric() else "" for i in inst.split(' ')] + + popped, piles[from_pile-1] = piles[from_pile-1][-num:][::-1], piles[from_pile-1][:-num] + print(inst, 'popped', popped, f"({num})", 'from', from_pile) + while popped: + crate = popped.pop() + piles[to_pile-1].append(crate) + +print(piles) +for k in piles: + print(k[-1]) From 502d838056bc806825720960864fea359d9d6001 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Tue, 6 Dec 2022 23:27:36 +0000 Subject: [PATCH 09/14] =?UTF-8?q?Day=206=20complete!=20=F0=9F=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06/06.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 06/06.py diff --git a/06/06.py b/06/06.py new file mode 100644 index 0000000..6c3d279 --- /dev/null +++ b/06/06.py @@ -0,0 +1,15 @@ +import sys +with open('input', 'r') as fp: + file = fp.read().strip() + +# part a +msg_length = 4 +#  part b +#msg_length = 14 + +for i in range(len(file)): + chars = list(file[i:i+msg_length]) + print(chars) + if len(set(chars)) == msg_length: + print(i+msg_length) + sys.exit() From 2bd89305fd1256fdfad28171d4456d72472a915e Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Wed, 7 Dec 2022 13:09:55 +0000 Subject: [PATCH 10/14] =?UTF-8?q?Day=207=20completed!=20=F0=9F=93=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create day-07a.py * Create day-07b.py --- 07/day-07a.py | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ 07/day-07b.py | 23 ++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 07/day-07a.py create mode 100644 07/day-07b.py diff --git a/07/day-07a.py b/07/day-07a.py new file mode 100644 index 0000000..b737270 --- /dev/null +++ b/07/day-07a.py @@ -0,0 +1,86 @@ +big_size = 0 + +class Directory: + def __init__(self, parent = None): + self.files = {} + self.subdirs = {} + self.parent = parent + + def get_size(self): + global big_size + size = 0 + for file in self.files: + #print(size, self.files, file) + file_size = self.files[file] + print("*", file, file_size) + size += file_size + for dir in self.subdirs: + #print(size, self.subdirs, dir) + subdir_size = self.subdirs[dir].get_size() + print("#", dir, subdir_size) + with open('subdirs', 'a+') as fp: + fp.write("# " + dir + " " + str(subdir_size) + '\n') + size += subdir_size + if subdir_size <= 100000: + big_size += subdir_size + return size + + def add_dir(self, name): + self.subdirs[name] = Directory(self) + return self.subdirs[name] + + def add_file(self, name, size): + self.files[name] = size + + def dir_exists(self, name): + return name in self.subdirs + + def list_dirs(self): + print(self.subdirs) + + def get_dirs(self): + return self.subdirs + + def list_files(self): + print(self.files) + + def get_files(self): + return self.files + + def get_parent(self): + if self.parent == None: return self + return self.parent + +with open('input', 'r') as fp: + history = fp.readlines()[::-1] + +cwd = Directory() +root = cwd.get_parent() + +while history: + line = history.pop().strip() + + if line.startswith('$'): # command + line = line[2:] + if line == 'ls': + files_to_add = [] + while history and not history[-1].startswith('$'): files_to_add.append(history.pop().strip()) + #print(files_to_add) + for file in files_to_add: + if file.startswith('dir'): + cwd.add_dir(file.split(' ')[1]) + else: + size, name = file.split(' ') + cwd.add_file(name, int(size)) + elif line.startswith('cd'): + command, operand = line.split(' ') + #print(command, operand) + if operand == '/': cwd = root + elif operand == '..': cwd = cwd.get_parent() + elif cwd.dir_exists(operand): cwd = cwd.get_dirs()[operand] + else: cwd = cwd.add_dir(operand) + else: + print('something is very wrong') + +print(root.get_size()) +print(big_size) diff --git a/07/day-07b.py b/07/day-07b.py new file mode 100644 index 0000000..1096691 --- /dev/null +++ b/07/day-07b.py @@ -0,0 +1,23 @@ +# used 42143088 +# total 70000000 +# need 30000000 +# delta 27856912 + +# delete 2143088 + +# subdirs is a file created from 07-a.py + +with open('subdirs', 'r') as fp: + file = [i.strip() for i in fp.readlines()] + +subdirs = {} +for dir in file: + _, name, size = dir.split(' ') + subdirs[name] = int(size) + +sorted_subdirs = sorted(subdirs.items(), key=lambda x: x[1]) + +for subdir in sorted_subdirs: + print(subdir[0], subdir[1]) + if subdir[1] > 2143088: + print("!!", subdir[0], subdir[1]) From f778ea7f61525c5d94680517138fe0c950595429 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Wed, 7 Dec 2022 13:10:59 +0000 Subject: [PATCH 11/14] =?UTF-8?q?=20Day=205=20complete!=20=F0=9F=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 05/05-b.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/05/05-b.py b/05/05-b.py index 919bd90..9e76bf5 100644 --- a/05/05-b.py +++ b/05/05-b.py @@ -1,3 +1,5 @@ +#editing this file to fix the annoying commit message I wrote + with open('input-main', 'r') as fp: file = fp.readlines() From a17d6c721866eca855b648b3bde15fb322c2edf7 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Wed, 7 Dec 2022 13:11:30 +0000 Subject: [PATCH 12/14] =?UTF-8?q?Day=207=20complete!=20=F0=9F=93=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 07/subdirs | 393 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 393 insertions(+) create mode 100644 07/subdirs diff --git a/07/subdirs b/07/subdirs new file mode 100644 index 0000000..66342b3 --- /dev/null +++ b/07/subdirs @@ -0,0 +1,393 @@ +# tcdmgwp 277338 +# dngldfww 102218 +# dzplphqw 263191 +# mvslzl 365409 +# nnlzrwgh 141976 +# svc 281339 +# wshf 25072 +# dhbrmn 652883 +# wvfdjv 104669 +# rcdwft 104669 +# wtmdzgvg 1099415 +# qdtls 1815835 +# brhvclj 340451 +# brhvclj 340451 +# clnvqg 772195 +# svc 202934 +# pqp 409771 +# tdvtcmwz 100584 +# qbms 456639 +# wshwhzw 116856 +# dfmgqmvm 775231 +# ttntt 901742 +# rlbnv 55214 +# wfcczs 55214 +# wshwhzw 34867 +# tfns 2267101 +# brhvclj 4647484 +# sgbwd 267083 +# ttntt 243283 +# bchstbpm 510366 +# dpnqrg 140379 +# gsvwsc 84951 +# rfcssr 13174 +# ttntt 162959 +# cpbh 13930 +# brhvclj 394189 +# drgcn 641306 +# ttntt 43248 +# svc 313759 +# mrv 1374480 +# vhjtgv 98550 +# zgtnfm 98550 +# wshwhzw 1681268 +# jshpz 2806903 +# bgbdbr 2806903 +# qqr 143274 +# brhvclj 67021 +# gsplfsvm 103196 +# zzhwq 103196 +# clnvqg 170217 +# qwwl 411742 +# brhvclj 820693 +# cjcpzv 173344 +# gcnc 1525047 +# clnvqg 1667013 +# bddbffsf 181609 +# wshwhzw 80221 +# bpgmc 122736 +# brhvclj 74083 +# nrrpsn 58623 +# ttntt 186640 +# brhvclj 442082 +# brhvclj 997867 +# flz 249582 +# ddrthl 333778 +# pmgzdp 94671 +# qgvzbclg 183904 +# nhjthr 383644 +# dptjfd 663986 +# hqncdcdh 218709 +# svc 1216473 +# ddbcvhqr 2195372 +# gsfzgvpz 266749 +# dlmhm 50087 +# mpmtj 254330 +# ljwrdb 304417 +# rlj 846508 +# svc 345941 +# pqvlqpdt 211827 +# hrzsfhct 351358 +# snhftjr 198904 +# hdlcnfm 198904 +# vjjgrt 725091 +# wshwhzw 1529878 +# brhvclj 123699 +# zhczqq 123699 +# bmgbjnbr 6761944 +# dvqszvl 172068 +# wshwhzw 57060 +# clnvqg 760847 +# rzsqqhn 1262514 +# ttr 1262514 +# brhvclj 1434582 +# clnqz 333622 +# ttntt 224617 +# gdftglf 480432 +# ggrwpjjg 813709 +# nrd 205734 +# ffqg 205734 +# brhvclj 75177 +# svc 424171 +# vgqf 906981 +# ctlddnj 1665526 +# czjnvnn 181131 +# gpwpc 257389 +# lrgtg 257389 +# ttntt 40453 +# brhvclj 40453 +# hnqqrdf 40453 +# pfhrgj 41975 +# ttntt 535492 +# vzhpqb 889704 +# tthrf 1814138 +# ddwg 2042410 +# mjvm 4267863 +# svc 110021 +# bscqn 25049 +# ttntt 157797 +# njsnwmrc 534556 +# dmnmcgr 152719 +# ffqfqvjv 102537 +# svc 596114 +# pwrjt 698651 +# nnhcsb 1432335 +# wshwhzw 2655317 +# ddzjr 3030705 +# dhhwdbb 201253 +# ztlvdwq 489732 +# brhvclj 670892 +# ttntt 991086 +# clnvqg 371906 +# wshwhzw 51089 +# gwcsprqv 547929 +# gqhqmlhm 211887 +# mbfftpbj 60539 +# nvjj 272426 +# fvdch 124864 +# tqr 124864 +# clnvqg 397290 +# spffhcnz 865972 +# svc 143992 +# jrzmrg 143992 +# wshwhzw 374880 +# wshwhzw 2815322 +# fnmhc 4007661 +# tbhwr 42758 +# vbtmfp 171021 +# brhvclj 388576 +# jrww 110574 +# sqtzndzg 450791 +# zrzrjm 1413797 +# zmchn 8854759 +# svc 14744011 +# jlsvjcdm 23681395 +# brhvclj 254250 +# fvqh 18471 +# tczvhsgn 241619 +# zbbq 82844 +# jptq 889763 +# nbjljt 214471 +# brhvclj 60019 +# ldrsbj 143346 +# rszwnh 758491 +# sctfsvs 1029099 +# rpgm 205836 +# svc 205836 +# swsjjr 348149 +# tstct 204812 +# mzmqr 2980133 +# clnvqg 121970 +# ldcwjlm 709232 +# rtmg 1284419 +# ttntt 120262 +# wgwvd 346057 +# gltsgnf 466319 +# sgqvlr 364738 +# psltbtl 760701 +# tqnmwdl 1542529 +# clnvqg 34772236 +# dtqtvvrn 511536 +# csqfmjz 124616 +# nsq 361294 +# dvslq 495261 +# fbzss 153744 +# ttntt 109641 +# nfgnnt 758646 +# rwzmjgqz 12039 +# wshwhzw 57458 +# dlr 142748 +# nzq 242998 +# wtvtszw 536940 +# lcz 1489699 +# pcqjncwl 10646 +# qwvfpgl 327513 +# rtmj 79449 +# shg 27187 +# tcdmgwp 277338 +# dngldfww 102218 +# dzplphqw 263191 +# mvslzl 365409 +# nnlzrwgh 141976 +# svc 281339 +# wshf 25072 +# dhbrmn 652883 +# wvfdjv 104669 +# rcdwft 104669 +# wtmdzgvg 1099415 +# qdtls 1815835 +# brhvclj 340451 +# brhvclj 340451 +# clnvqg 772195 +# svc 202934 +# pqp 409771 +# tdvtcmwz 100584 +# qbms 456639 +# wshwhzw 116856 +# dfmgqmvm 775231 +# ttntt 901742 +# rlbnv 55214 +# wfcczs 55214 +# wshwhzw 34867 +# tfns 2267101 +# brhvclj 4647484 +# sgbwd 267083 +# ttntt 243283 +# bchstbpm 510366 +# dpnqrg 140379 +# gsvwsc 84951 +# rfcssr 13174 +# ttntt 162959 +# cpbh 13930 +# brhvclj 394189 +# drgcn 641306 +# ttntt 43248 +# svc 313759 +# mrv 1374480 +# vhjtgv 98550 +# zgtnfm 98550 +# wshwhzw 1681268 +# jshpz 2806903 +# bgbdbr 2806903 +# qqr 143274 +# brhvclj 67021 +# gsplfsvm 103196 +# zzhwq 103196 +# clnvqg 170217 +# qwwl 411742 +# brhvclj 820693 +# cjcpzv 173344 +# gcnc 1525047 +# clnvqg 1667013 +# bddbffsf 181609 +# wshwhzw 80221 +# bpgmc 122736 +# brhvclj 74083 +# nrrpsn 58623 +# ttntt 186640 +# brhvclj 442082 +# brhvclj 997867 +# flz 249582 +# ddrthl 333778 +# pmgzdp 94671 +# qgvzbclg 183904 +# nhjthr 383644 +# dptjfd 663986 +# hqncdcdh 218709 +# svc 1216473 +# ddbcvhqr 2195372 +# gsfzgvpz 266749 +# dlmhm 50087 +# mpmtj 254330 +# ljwrdb 304417 +# rlj 846508 +# svc 345941 +# pqvlqpdt 211827 +# hrzsfhct 351358 +# snhftjr 198904 +# hdlcnfm 198904 +# vjjgrt 725091 +# wshwhzw 1529878 +# brhvclj 123699 +# zhczqq 123699 +# bmgbjnbr 6761944 +# dvqszvl 172068 +# wshwhzw 57060 +# clnvqg 760847 +# rzsqqhn 1262514 +# ttr 1262514 +# brhvclj 1434582 +# clnqz 333622 +# ttntt 224617 +# gdftglf 480432 +# ggrwpjjg 813709 +# nrd 205734 +# ffqg 205734 +# brhvclj 75177 +# svc 424171 +# vgqf 906981 +# ctlddnj 1665526 +# czjnvnn 181131 +# gpwpc 257389 +# lrgtg 257389 +# ttntt 40453 +# brhvclj 40453 +# hnqqrdf 40453 +# pfhrgj 41975 +# ttntt 535492 +# vzhpqb 889704 +# tthrf 1814138 +# ddwg 2042410 +# mjvm 4267863 +# svc 110021 +# bscqn 25049 +# ttntt 157797 +# njsnwmrc 534556 +# dmnmcgr 152719 +# ffqfqvjv 102537 +# svc 596114 +# pwrjt 698651 +# nnhcsb 1432335 +# wshwhzw 2655317 +# ddzjr 3030705 +# dhhwdbb 201253 +# ztlvdwq 489732 +# brhvclj 670892 +# ttntt 991086 +# clnvqg 371906 +# wshwhzw 51089 +# gwcsprqv 547929 +# gqhqmlhm 211887 +# mbfftpbj 60539 +# nvjj 272426 +# fvdch 124864 +# tqr 124864 +# clnvqg 397290 +# spffhcnz 865972 +# svc 143992 +# jrzmrg 143992 +# wshwhzw 374880 +# wshwhzw 2815322 +# fnmhc 4007661 +# tbhwr 42758 +# vbtmfp 171021 +# brhvclj 388576 +# jrww 110574 +# sqtzndzg 450791 +# zrzrjm 1413797 +# zmchn 8854759 +# svc 14744011 +# jlsvjcdm 23681395 +# brhvclj 254250 +# fvqh 18471 +# tczvhsgn 241619 +# zbbq 82844 +# jptq 889763 +# nbjljt 214471 +# brhvclj 60019 +# ldrsbj 143346 +# rszwnh 758491 +# sctfsvs 1029099 +# rpgm 205836 +# svc 205836 +# swsjjr 348149 +# tstct 204812 +# mzmqr 2980133 +# clnvqg 121970 +# ldcwjlm 709232 +# rtmg 1284419 +# ttntt 120262 +# wgwvd 346057 +# gltsgnf 466319 +# sgqvlr 364738 +# psltbtl 760701 +# tqnmwdl 1542529 +# clnvqg 34772236 +# dtqtvvrn 511536 +# csqfmjz 124616 +# nsq 361294 +# dvslq 495261 +# fbzss 153744 +# ttntt 109641 +# nfgnnt 758646 +# rwzmjgqz 12039 +# wshwhzw 57458 +# dlr 142748 +# nzq 242998 +# wtvtszw 536940 +# lcz 1489699 +# pcqjncwl 10646 +# qwvfpgl 327513 +# rtmj 79449 +# shg 27187 +# tcdmgwp 277338 From 625d3b4fc3ca3d45ec4654956cfb8df3c605ed52 Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Thu, 8 Dec 2022 11:23:38 +0000 Subject: [PATCH 13/14] =?UTF-8?q?Day=208=20complete!=20=F0=9F=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 08/08-a.py | 45 ++++++++++++++++++++++++++++++++++++ 08/08-b.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 08/08-a.py create mode 100644 08/08-b.py diff --git a/08/08-a.py b/08/08-a.py new file mode 100644 index 0000000..7003f8a --- /dev/null +++ b/08/08-a.py @@ -0,0 +1,45 @@ +with open('input', 'r') as fp: + grid = [i.strip() for i in fp.readlines()] + +visible = 0 +for y in range(len(grid)): + for x in range(len(grid[y])): + + left, right, top, bottom = True, True, True, True + + # check left, y remains same + for xr in range(0, x): + if xr == x and y == y: + continue + if grid[y][xr] >= grid[y][x]: + left = False + + # check top, x remains same + for yr in range(0, y): + if yr == y and x == x: + continue + if grid[yr][x] >= grid[y][x]: + top = False + + # check right, y remains same + for xr in range(x, len(grid[y])): + if xr == x and y == y: + continue + if grid[y][xr] >= grid[y][x]: + right = False + + # check bottom, x remains same + for yr in range(y, len(grid)): + if yr == y and x == x: + continue + if grid[yr][x] >= grid[y][x]: + bottom = False + + vis = left or right or top or bottom + if vis: + visible += 1 + + print( + f"({y+1},{x+1}) = {grid[y][x]} | {vis=} | {left=} {right=} {top=} {bottom=}") + +print(visible) diff --git a/08/08-b.py b/08/08-b.py new file mode 100644 index 0000000..2c2d89b --- /dev/null +++ b/08/08-b.py @@ -0,0 +1,67 @@ +with open('input', 'r') as fp: + grid = [i.strip() for i in fp.readlines()] + +scenics = [] + +visible = 0 +for y in range(len(grid)): + for x in range(len(grid[y])): + + left, right, top, bottom = True, True, True, True + l_sc, r_sc, t_sc, b_sc = 0, 0, 0, 0 + + # check left, y remains same + for xr in range(0, x)[::-1]: + if xr == x and y == y: + continue + if grid[y][xr] >= grid[y][x]: + left = False + l_sc += 1 + break + else: + l_sc += 1 + + # check top, x remains same + for yr in range(0, y)[::-1]: + if yr == y and x == x: + continue + if grid[yr][x] >= grid[y][x]: + top = False + t_sc += 1 + break + else: + t_sc += 1 + + # check right, y remains same + for xr in range(x, len(grid[y])): + if xr == x and y == y: + continue + if grid[y][xr] >= grid[y][x]: + right = False + r_sc += 1 + break + else: + r_sc += 1 + + # check bottom, x remains same + for yr in range(y, len(grid)): + if yr == y and x == x: + continue + if grid[yr][x] >= grid[y][x]: + bottom = False + b_sc += 1 + break + else: + b_sc += 1 + + vis = left or right or top or bottom + if vis: + visible += 1 + scenic = l_sc * r_sc * t_sc * b_sc + scenics.append(scenic) + + print( + f"({y+1},{x+1}) = {grid[y][x]} | {vis=} | {scenic=} | {l_sc=} {r_sc=} {t_sc=} {b_sc=}") + +print(visible) +print(max(scenics)) From d79844def860005fe4bab40d19d44e315a5c589a Mon Sep 17 00:00:00 2001 From: Max Chunsi Date: Thu, 8 Dec 2022 13:54:57 +0000 Subject: [PATCH 14/14] =?UTF-8?q?Day=207=20complete!=20=F0=9F=97=82?= =?UTF-8?q?=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 07/{day-07a.py => 07a.py} | 0 07/{day-07b.py => 07b.py} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename 07/{day-07a.py => 07a.py} (100%) rename 07/{day-07b.py => 07b.py} (100%) diff --git a/07/day-07a.py b/07/07a.py similarity index 100% rename from 07/day-07a.py rename to 07/07a.py diff --git a/07/day-07b.py b/07/07b.py similarity index 100% rename from 07/day-07b.py rename to 07/07b.py