From df808bc98ae8bd2ec679fc412b4bd534135385aa Mon Sep 17 00:00:00 2001 From: Mikael CAPELLE Date: Tue, 20 Dec 2022 08:50:34 +0100 Subject: [PATCH] Start day 20. --- 2022/day20.py | 104 + 2022/inputs/day20.txt | 5000 +++++++++++++++++++++++++++++++++++++++++ 2022/tests/day20.txt | 7 + 3 files changed, 5111 insertions(+) create mode 100644 2022/day20.py diff --git a/2022/day20.py b/2022/day20.py new file mode 100644 index 0000000..96c02d5 --- /dev/null +++ b/2022/day20.py @@ -0,0 +1,104 @@ +# -*- encoding: utf-8 -*- + +import math +import sys + + +class Number: + processed: bool + value: int + + def __init__(self, value: int): + self.value = value + self.processed = False + + def __eq__(self, other): + if isinstance(other, Number): + return self.value == other.value + elif isinstance(other, int): + return self.value == other + return False + + def __str__(self): + return str(self.value) + + def __repr__(self): + return str(self) + + +expected = iter( + [ + [1, 2, -3, 3, -2, 0, 4], + [2, 1, -3, 3, -2, 0, 4], + [1, -3, 2, 3, -2, 0, 4], + [1, 2, 3, -2, -3, 0, 4], + [1, 2, -2, -3, 0, 3, 4], + [1, 2, -3, 0, 3, 4, -2], + [1, 2, -3, 0, 3, 4, -2], + [1, 2, -3, 4, 0, 3, -2], + ] +) + + +numbers = [Number(int(x)) for x in sys.stdin.readlines()] +# numbers = [Number(0), Number(0), Number(-6)] + +# print(next(expected)) +# print(numbers) +# print("---") + +index = 0 +while index < len(numbers): + if numbers[index].processed: + index += 1 + continue + + number = numbers[index] + number.processed = True + target = ( + index + + (number.value % len(numbers)) + - int(number.value < 0) * math.ceil(abs(number.value) / len(numbers)) + ) % len(numbers) + + # print( + # f"moving {number} from {index} to {target} (between {numbers[target]} and {numbers[(target + 1) % len(numbers)]})" + # ) + if target == index: + index += 1 + elif target == index + 1: + numbers[index], numbers[target] = numbers[target], numbers[index] + elif target == index - 1: + numbers[index], numbers[target] = numbers[target], numbers[index] + elif target > index: + # print( + # numbers[:index], + # numbers[index + 1 : target + 1], + # [numbers[index]], + # numbers[target + 1 :], + # ) + numbers = ( + numbers[:index] + + numbers[index + 1 : target + 1] + + [numbers[index]] + + numbers[target + 1 :] + ) + else: + numbers = ( + numbers[: target + 1] + + [numbers[index]] + + numbers[target + 1 : index] + + numbers[index + 1 :] + ) + index -= 1 + + # print(next(expected)) + # print(numbers) + # print("---") + +index_of_0 = numbers.index(Number(0)) + +answer_1 = sum( + numbers[(index_of_0 + offset) % len(numbers)].value for offset in (1000, 2000, 3000) +) +print(f"answer 1 is {answer_1}") diff --git a/2022/inputs/day20.txt b/2022/inputs/day20.txt index e69de29..919c8b1 100644 --- a/2022/inputs/day20.txt +++ b/2022/inputs/day20.txt @@ -0,0 +1,5000 @@ +-8285 +-8988 +-6191 +97 +-1542 +3649 +4182 +6875 +2538 +-9637 +-4521 +-1075 +3744 +8849 +4852 +7482 +-7094 +-4691 +-1844 +-1513 +-2296 +3207 +9542 +-3649 +-3238 +1302 +6080 +9124 +4535 +-2599 +-2921 +1325 +-9734 +5070 +3662 +-991 +-3164 +1425 +4011 +9101 +-9129 +7306 +-2167 +1024 +9794 +-1643 +505 +-3345 +1672 +-4751 +-5221 +4406 +-6718 +-9735 +9368 +-6357 +-1416 +-9738 +-6845 +6752 +-7418 +9725 +474 +-7088 +-4166 +-1319 +-5695 +-667 +1322 +3044 +-605 +4698 +5264 +1026 +-8701 +8011 +-9016 +3751 +-1494 +-4703 +-3873 +1561 +-1633 +-4673 +-633 +-1442 +-8661 +6961 +232 +-5442 +2452 +-4045 +4829 +-1536 +9301 +-7409 +3862 +-8959 +45 +-3132 +-3590 +1080 +-4038 +-4147 +-6579 +-1340 +-2052 +-947 +1015 +1577 +-8410 +9794 +8239 +-1287 +-2197 +-3416 +8430 +4675 +8701 +-6075 +8069 +-3824 +1385 +-4031 +-2050 +3265 +-948 +7822 +-1637 +-9989 +-3325 +448 +7680 +1218 +-1899 +-6354 +4048 +-9638 +-3836 +-6492 +2357 +875 +-3291 +5397 +-262 +6776 +5624 +-4408 +9154 +4072 +5153 +-3674 +-9481 +464 +4512 +9633 +7758 +8850 +-4455 +-7199 +3904 +-3778 +9460 +-4474 +-1694 +-4118 +-1432 +1506 +-5296 +-790 +1830 +8342 +-424 +8131 +3242 +6392 +-7795 +-3009 +2373 +9210 +-6422 +-5295 +4775 +1502 +9223 +-9586 +-9383 +9150 +-5217 +-8874 +3392 +7163 +-7915 +-1919 +1530 +-8430 +-4690 +9046 +-8215 +2196 +-8801 +-5971 +-4061 +4475 +6689 +-6354 +8229 +6879 +-3793 +6897 +1800 +-2170 +-8632 +-25 +-1516 +-7447 +3819 +-4 +-9826 +3782 +5437 +5265 +-5557 +7076 +-2742 +-4950 +3357 +9715 +8254 +6284 +8854 +4799 +3133 +8754 +-5361 +-5134 +3452 +1931 +1562 +7349 +1512 +-277 +7466 +-2472 +7247 +-131 +4921 +4880 +9898 +-6579 +-642 +-7380 +7376 +-7461 +8550 +-8434 +530 +9076 +-7230 +8107 +-878 +-6715 +-4060 +-8964 +-3466 +-9598 +-265 +-765 +-3598 +-5458 +-973 +-6163 +-2158 +-6918 +7268 +87 +-4142 +4159 +-4140 +-6341 +6431 +-3390 +-1197 +-7447 +3416 +5573 +7902 +-1215 +-2708 +-5217 +-3040 +2980 +4325 +1336 +7182 +-8993 +2286 +-4533 +-7764 +9331 +-2597 +-3201 +-5087 +-7184 +-4828 +-4959 +-707 +6964 +4828 +8688 +-9074 +-908 +6422 +-7864 +6815 +8162 +-2455 +209 +6424 +-2233 +-5971 +623 +2621 +4407 +8323 +1365 +7151 +2419 +-9494 +-370 +-4313 +7873 +-3699 +-4543 +850 +4120 +8384 +-3519 +-7622 +5655 +5320 +-2006 +-1160 +-4706 +-4333 +3858 +8938 +-7887 +-3981 +9641 +5078 +3051 +-7720 +-5332 +7190 +-1180 +8265 +3763 +-8800 +-3439 +-9225 +-5917 +4649 +4452 +6372 +8737 +-4302 +6275 +-1646 +-3059 +-4497 +5824 +-1729 +-6407 +-4828 +-2523 +-7282 +2566 +8825 +-307 +-2767 +-809 +920 +8384 +5734 +-5975 +-875 +-3393 +-8200 +2787 +-4690 +-3510 +-1925 +5313 +8613 +-5964 +7180 +-3780 +211 +9865 +3825 +-660 +3035 +-2204 +-8285 +5451 +-8003 +6879 +6558 +-6068 +5076 +-6975 +-9332 +-9213 +5646 +-9557 +-7405 +4685 +3270 +-5865 +-5788 +2040 +4535 +-91 +-5982 +5889 +-1543 +-3392 +-3868 +8658 +9793 +-750 +-9344 +-1832 +-2785 +-1741 +-6490 +397 +-1060 +-2503 +-2816 +-1140 +6793 +8983 +89 +-4890 +-7598 +-216 +-2563 +-7740 +3002 +6083 +7581 +-3421 +2730 +-7971 +6634 +-1712 +-8284 +-3325 +-162 +227 +-8707 +3416 +-5984 +3682 +-6645 +214 +2060 +8556 +-7420 +9202 +9474 +7934 +4008 +999 +6998 +-4907 +-9833 +6960 +-2695 +-4562 +9843 +8963 +9057 +1269 +-4068 +1601 +-711 +-6284 +6820 +-4572 +9010 +-8490 +-9552 +-774 +8049 +3934 +-3981 +-6891 +-940 +4535 +-6614 +-2323 +7250 +3032 +8300 +-2941 +-1611 +-456 +-1113 +-3984 +-9080 +-6707 +975 +-8761 +8788 +-6348 +-6175 +4570 +-2666 +-476 +7748 +-984 +8672 +2429 +-2343 +3543 +-1336 +-9116 +961 +1231 +5781 +6559 +-4346 +-7293 +1050 +-2554 +-1194 +8334 +-828 +585 +5195 +-8389 +-3062 +-2580 +-5419 +-2958 +2044 +-7274 +-1215 +-76 +-5938 +-2339 +-7946 +-2560 +9176 +718 +-7296 +-1543 +-67 +-4441 +-7205 +8296 +742 +-2795 +1227 +-4936 +6538 +-9020 +-1799 +9209 +-1377 +-9415 +-5682 +939 +3953 +-4626 +3821 +-4979 +6412 +2337 +5094 +1365 +3659 +4046 +4708 +5489 +1801 +-7187 +-762 +-5855 +1083 +1311 +3390 +-2259 +-7749 +-1197 +-8661 +9542 +-6112 +1801 +-4263 +7250 +613 +-5969 +-3497 +-548 +-9788 +4044 +3607 +-724 +3225 +3128 +-5113 +1212 +-621 +-5876 +7208 +-8761 +-2840 +649 +-5429 +6365 +5592 +1800 +-5780 +-3438 +-5785 +555 +-6800 +2416 +-9815 +6316 +-2787 +-1533 +-9637 +-4455 +4565 +-9560 +7262 +-1042 +-2742 +4654 +-626 +4395 +-7061 +6900 +-5798 +-3767 +4035 +-1241 +-2239 +-4907 +731 +6214 +-7635 +3803 +-5234 +-1759 +6785 +98 +6728 +-5645 +8904 +1798 +-2654 +-8004 +-9802 +-6295 +8109 +-647 +5397 +-3858 +1106 +-1080 +-994 +-706 +8992 +-2616 +2538 +9385 +-1710 +6962 +-5821 +-6849 +3089 +230 +6508 +517 +-5332 +9277 +-9621 +5333 +-2782 +-3390 +-9920 +7502 +8000 +-4715 +-4104 +-6837 +-3598 +-286 +-9486 +-1668 +2912 +1598 +5695 +3531 +-6671 +1375 +1290 +67 +6814 +-3129 +2566 +6864 +8194 +8728 +473 +-1793 +-4794 +3124 +-6899 +-2259 +-8964 +8437 +2532 +2366 +6144 +-4105 +-1448 +3535 +-2874 +-7875 +1600 +-163 +-4317 +7904 +-2350 +3415 +-2175 +1139 +-1719 +5827 +-2644 +5741 +-9869 +-1394 +-9323 +8643 +-8054 +-2130 +-4504 +-3873 +-9657 +5462 +3806 +-1435 +-4704 +-3858 +-7387 +-5313 +4671 +9296 +-8337 +-4127 +-4355 +4743 +7563 +-7971 +8153 +-621 +-5475 +2122 +-25 +-9474 +5280 +-5221 +-7590 +-6755 +6733 +6790 +-1241 +2286 +4364 +-9309 +-2007 +-1508 +-7173 +3133 +-532 +-6830 +-4970 +-3981 +-6275 +-9792 +-6526 +-2721 +-7084 +-6001 +-6706 +-388 +-1787 +586 +7660 +9264 +-2143 +-3537 +7723 +-8805 +-3393 +-2074 +-5470 +-3284 +8090 +-1768 +-9750 +-9501 +3302 +7995 +-189 +1658 +4072 +119 +840 +-412 +9932 +-4166 +-2919 +5298 +-6708 +4820 +-8897 +-4142 +-8817 +-5221 +-8292 +-3590 +-6019 +7322 +1181 +2379 +-9412 +-3006 +-2804 +2830 +4942 +2282 +-9963 +8810 +-5613 +8966 +8786 +-9882 +-6282 +-8290 +-1060 +5807 +9529 +729 +7106 +-7367 +-2737 +-4933 +6936 +3958 +-6331 +8239 +5864 +2119 +-7447 +4934 +7402 +3159 +-3145 +6803 +-3926 +-9513 +1119 +-9790 +4685 +-4298 +6274 +-5839 +-2902 +-177 +-7122 +3134 +-2786 +-3414 +-189 +8668 +-3505 +3491 +-4525 +5596 +8033 +-864 +8318 +-715 +9633 +-3379 +-3157 +-6046 +4995 +4233 +-1504 +-2838 +-2965 +-6170 +-2025 +5329 +-8701 +-1582 +-6418 +7932 +-5981 +-5209 +-1964 +6284 +4647 +634 +9449 +-7740 +-6473 +2830 +-2974 +-9676 +-2989 +-6540 +8404 +-7283 +6228 +-2396 +-5262 +7752 +-7492 +-4 +9353 +4933 +2724 +-9184 +5274 +-6061 +-6364 +-1278 +-3983 +4922 +-7556 +-1773 +-250 +3617 +-4678 +6961 +-3509 +7008 +5367 +2918 +-1799 +-4945 +-3207 +3431 +5666 +-5686 +3512 +-7906 +1185 +-7811 +-5880 +712 +-3496 +1562 +1926 +-3608 +-2357 +9793 +-1924 +6163 +-5234 +9343 +-9552 +9898 +9080 +7969 +-4147 +-2615 +-1914 +7164 +-5603 +2539 +-1117 +9988 +7483 +-8424 +9376 +6452 +2832 +-4905 +9176 +-3107 +1405 +-6112 +8405 +7062 +8821 +-3494 +-6667 +-5455 +-1340 +5217 +4191 +-8869 +-2924 +-6275 +-518 +5329 +-4570 +8589 +6659 +6200 +1311 +-6668 +-9676 +-2385 +7209 +3877 +9536 +1888 +-8262 +-1372 +5556 +7283 +-4874 +5153 +1691 +8011 +-3284 +9878 +6256 +5381 +-244 +9268 +1745 +-9692 +1049 +-6775 +-8861 +1385 +1177 +4393 +-1336 +-8507 +3818 +-4552 +2259 +-9090 +9449 +-6594 +174 +-3593 +-6657 +2817 +6270 +367 +8866 +-4282 +4187 +-8944 +-9240 +-9126 +9036 +1785 +-7531 +-3477 +-4691 +-6840 +-570 +-2089 +9914 +-5660 +-670 +1685 +-3959 +-1442 +-3497 +-370 +482 +1110 +1094 +-285 +-9319 +3272 +845 +-5029 +-9826 +-1180 +7079 +8928 +-324 +5251 +-4436 +-9261 +-607 +2421 +-5595 +-3763 +-4864 +334 +-4508 +3748 +8108 +9613 +-2109 +-7073 +5812 +6901 +-2981 +-3280 +3934 +3909 +-3220 +4488 +-2095 +-5158 +2337 +-6415 +-5929 +2859 +-4814 +6128 +-3026 +5572 +-3407 +4369 +-4953 +9879 +5317 +-2163 +-6823 +6830 +-1552 +-4933 +-7684 +4347 +-6498 +8865 +-4615 +4412 +2841 +1481 +2242 +-5881 +5918 +-7483 +-7236 +1857 +-6058 +-3735 +4957 +-184 +6996 +9565 +3649 +1502 +-2583 +7824 +6231 +-6449 +-2219 +8153 +616 +-3594 +4342 +9263 +1334 +7523 +-8858 +7213 +4742 +1601 +-8851 +-5883 +-9491 +4184 +6015 +-849 +6183 +-2096 +3552 +5677 +-3416 +-3199 +6722 +283 +3677 +3439 +1333 +6149 +-4678 +-1160 +-5481 +-9171 +6307 +8971 +-8768 +-437 +-8513 +-4882 +6359 +9866 +4852 +-6350 +-7754 +9991 +-4119 +1672 +-4405 +-3674 +-5203 +-3387 +4543 +-9744 +-9 +5094 +-5332 +5103 +-4140 +-4224 +-6531 +9910 +-771 +9077 +2019 +-3438 +-4878 +-7684 +517 +3844 +-4760 +3172 +-1765 +6115 +-1724 +3079 +-2795 +-59 +6225 +7518 +-9225 +-518 +4353 +-8430 +-646 +-5139 +2227 +2447 +3833 +-753 +-103 +7687 +6103 +-3725 +8467 +1918 +-3802 +9809 +-5259 +4828 +1764 +889 +-9126 +-8897 +-5383 +-9620 +-9833 +7460 +9972 +-8447 +3913 +1348 +-8733 +-9285 +-6647 +-8912 +-1071 +-3476 +326 +8658 +4066 +-899 +-9692 +9309 +-6755 +-3936 +-9575 +-2688 +7286 +-1239 +2813 +-9653 +-7487 +-4824 +6659 +4879 +-177 +-5470 +6144 +-5046 +-3062 +527 +2859 +-5771 +3696 +-1385 +117 +-9698 +-8587 +5051 +3291 +7451 +-942 +-3941 +9099 +-3768 +-7482 +731 +1573 +7631 +-9730 +3039 +8397 +920 +6195 +7534 +8610 +2876 +-8220 +-2886 +3952 +-1254 +-7409 +9195 +-9238 +-4899 +4738 +4977 +2772 +3662 +4745 +490 +-8368 +-7697 +3803 +-1925 +-9458 +6761 +-7674 +3546 +4689 +-8492 +-7401 +318 +-8652 +1680 +5646 +2942 +-8036 +-4060 +5347 +-506 +-8215 +1583 +7986 +-7182 +9707 +8210 +-1578 +-6441 +-8080 +-7112 +2166 +-7628 +9644 +-2787 +2144 +-8519 +-8298 +3516 +1998 +6923 +-5879 +-6800 +-265 +762 +5985 +-2096 +2060 +253 +2657 +1638 +-9479 +3440 +8322 +9213 +-6550 +1740 +-7635 +-2630 +8780 +-2841 +263 +-6707 +-849 +-3571 +-6884 +-849 +2617 +5495 +-5663 +2538 +-5649 +-1614 +5273 +-5192 +9600 +-7562 +-1452 +8285 +4963 +857 +-3778 +-2466 +5395 +5123 +3766 +-3332 +-2823 +-124 +1298 +-3189 +-8634 +1745 +4125 +-4830 +2218 +4067 +9660 +-3249 +4684 +6730 +-2204 +8666 +6431 +9814 +2473 +3264 +-7754 +5648 +-584 +3958 +8473 +3152 +6832 +-6726 +-8552 +2398 +9134 +5296 +3134 +-9891 +-246 +749 +-7409 +6952 +-4003 +-1178 +-5053 +-863 +-9215 +953 +-5550 +-4740 +-8817 +-2636 +-3432 +-4265 +-6434 +3713 +5179 +-9037 +-7399 +-8327 +-7657 +7162 +725 +-6385 +5590 +-855 +-5333 +-4905 +-3763 +7249 +-2188 +-6338 +8747 +9059 +1906 +7248 +4654 +-4745 +-1704 +-9206 +-7085 +7479 +6881 +9171 +7241 +-2509 +-7367 +2665 +-9487 +-5847 +37 +-3622 +-3382 +-688 +-2157 +814 +4745 +4305 +-511 +9558 +-2606 +2959 +5817 +-214 +-2482 +-7836 +-2789 +-8038 +9171 +7308 +905 +-8648 +-5139 +-4927 +6188 +4867 +-5746 +-4202 +-8375 +9362 +-8245 +-9676 +4035 +-4723 +6675 +6055 +6405 +5690 +6762 +1818 +3094 +3693 +-2782 +-4991 +920 +1292 +7646 +-3376 +-8939 +-8638 +4879 +5175 +-3844 +-2350 +5672 +-3972 +-1906 +6848 +-2594 +-2756 +-5323 +7028 +-6461 +1137 +1048 +-3233 +-4455 +-5997 +-3117 +6683 +-2884 +3822 +5982 +-6770 +-4572 +-1675 +-9542 +3076 +-3220 +-2399 +-688 +-7254 +-6490 +5329 +3736 +132 +-1094 +-6395 +-4992 +-7922 +-4874 +-6227 +-4815 +-6476 +-4945 +-4258 +3114 +-6170 +6726 +4675 +5114 +5358 +4766 +-3306 +-5279 +5892 +5051 +4949 +-2556 +6846 +-4704 +-1473 +8286 +-6151 +9917 +-9637 +-6751 +3202 +-6813 +-161 +7613 +-3382 +-2374 +-2917 +-6579 +-7760 +-9053 +-8719 +7876 +-2077 +-285 +3102 +-7167 +5446 +-9957 +1647 +3128 +9727 +2887 +4279 +8124 +-5821 +-9514 +6943 +8485 +4924 +-4230 +-4455 +664 +653 +-1158 +6838 +8176 +-2068 +1448 +-1937 +-1233 +8987 +-4558 +6868 +-9189 +-6707 +8191 +8659 +4404 +-6075 +-5264 +-3212 +-7773 +5265 +-7541 +-612 +1733 +-370 +2360 +-9667 +7327 +-3623 +-542 +-8908 +-7541 +-1670 +9878 +9843 +8104 +-3292 +-2193 +8769 +-224 +-5156 +-2095 +5273 +3044 +-1964 +7392 +-5418 +-5489 +-6575 +9994 +3530 +5374 +-7953 +-9953 +7749 +-3946 +2035 +6722 +-5221 +-9957 +1582 +7706 +-4036 +-224 +5063 +-6251 +-7848 +8086 +8442 +-7346 +7165 +3748 +-824 +-3424 +1783 +-7797 +-2987 +5558 +8074 +7297 +4871 +1311 +-4934 +-3148 +4341 +3242 +-2976 +2538 +-1422 +-3749 +-2088 +-3314 +-1094 +-3476 +7703 +-1494 +-8149 +-2678 +1024 +1760 +-1061 +-8719 +-6990 +-4696 +-4907 +6797 +3662 +7182 +-3914 +5941 +-2935 +2799 +-1464 +-4589 +-8739 +-6028 +7525 +8229 +-8102 +4488 +3642 +6797 +-8757 +-990 +-6757 +-328 +-1980 +-6354 +5572 +5190 +-318 +-7620 +6618 +-8520 +2730 +9008 +8591 +-4899 +-4762 +3191 +9076 +8842 +8389 +-803 +6741 +-434 +8852 +-4901 +-7985 +-9080 +-7205 +-4756 +-2760 +-4550 +6387 +-5860 +-1824 +-4038 +-8084 +-3228 +-535 +2224 +4685 +8631 +3736 +-6956 +7250 +1942 +4128 +8440 +5320 +8241 +6072 +4949 +4092 +-9221 +-5166 +-880 +1319 +-9613 +-4463 +-3037 +4373 +-9304 +4164 +-1101 +2970 +-5117 +9905 +-6801 +101 +-2728 +-4296 +-1541 +-1882 +-1984 +-3984 +7581 +952 +6639 +8933 +-2636 +-3756 +2357 +4417 +-2481 +-1376 +-6511 +-7662 +-8300 +9210 +-3629 +-6211 +7711 +4390 +-706 +2224 +6633 +3444 +8191 +-120 +-1743 +-9285 +858 +7579 +-1215 +-9931 +6079 +-161 +-6866 +-9779 +-4935 +-1448 +2636 +1876 +6278 +-5879 +6075 +6879 +-7681 +8991 +4375 +7169 +-9667 +9805 +-9232 +8160 +2465 +-1111 +-2175 +-5914 +-3568 +-4716 +5333 +5652 +5364 +-1602 +3419 +717 +-4207 +3192 +-9823 +-7693 +-9924 +-5839 +-4330 +-6054 +-2034 +4369 +-6312 +-8904 +2163 +512 +3364 +-7232 +653 +5443 +253 +1510 +4321 +521 +-4055 +-2486 +3728 +-1494 +-8681 +2617 +5937 +-8176 +-5333 +6668 +-4091 +8648 +578 +4210 +5657 +-7963 +5653 +-9854 +5535 +3472 +-65 +4008 +-8956 +6511 +8337 +-1454 +-1490 +-4641 +4821 +5505 +7531 +286 +4940 +8634 +-4841 +-5788 +6305 +9644 +2122 +4465 +-5742 +4095 +7492 +-9039 +6361 +5573 +-850 +-6494 +5358 +1804 +-7144 +5489 +985 +-850 +-2583 +7041 +-8584 +7250 +-7140 +2138 +5793 +-1296 +-3832 +2293 +6559 +-5693 +-4589 +-7920 +-9181 +-3735 +7483 +7718 +-2161 +8463 +-4431 +7592 +4452 +-4756 +8259 +-869 +5949 +-7740 +331 +-945 +-5747 +-760 +1680 +-3321 +-5294 +-4591 +-3542 +-6296 +-8200 +2797 +-8249 +-2197 +-1882 +674 +-187 +2772 +7531 +-7996 +-31 +-6058 +-4460 +1569 +-7651 +6348 +-937 +-2125 +8911 +600 +-3406 +-8561 +-8892 +9476 +9484 +8916 +-770 +-7108 +4514 +8261 +-7833 +5491 +933 +2034 +-2255 +74 +1310 +-8761 +-8708 +-6675 +-8429 +-2033 +-2572 +3827 +-8710 +8212 +5205 +3281 +9353 +-7471 +2282 +-4354 +6941 +-9535 +1111 +1155 +8397 +580 +4003 +-1550 +-9104 +-611 +8916 +-5426 +-2323 +3916 +3073 +8696 +7307 +5884 +-9854 +119 +4048 +7779 +1325 +-4442 +3834 +-9116 +95 +2706 +-9560 +1026 +-9980 +-1933 +2691 +2995 +-5083 +-7942 +5843 +6020 +-5186 +5021 +-5823 +-8692 +-3162 +8938 +8797 +5302 +-8 +9406 +-4503 +-3955 +-2178 +7094 +-4214 +5101 +797 +-2385 +-2415 +-4936 +-9122 +1253 +-6814 +4967 +-2195 +2214 +3466 +4376 +7683 +8124 +-3774 +-5999 +-1241 +-5436 +2468 +-2981 +1530 +-7399 +-1646 +2795 +9514 +1947 +2429 +6621 +1421 +7902 +3488 +8330 +2648 +232 +-1180 +-2373 +8399 +-87 +7479 +-5183 +-5701 +1227 +2078 +7699 +-4104 +-9653 +-7813 +9734 +-3201 +-437 +-9990 +9649 +-4469 +8829 +-7196 +9460 +-1527 +2413 +8097 +-6660 +-4326 +2058 +6943 +1647 +1448 +8095 +7706 +-9826 +-8409 +-7187 +-9002 +466 +-7491 +-7565 +3370 +-5209 +-4448 +5522 +8 +-9838 +-6801 +5877 +-5874 +5877 +3253 +-1217 +-9161 +9331 +-7428 +616 +-6524 +8839 +-8338 +760 +-5142 +-2226 +-4057 +-2739 +232 +-1933 +-2858 +-3955 +-22 +-5178 +6290 +-7797 +9449 +2887 +-1158 +3721 +9963 +4952 +4959 +6418 +-2038 +-3499 +8741 +-4659 +-161 +-9078 +9948 +9331 +5558 +9208 +-3922 +-8572 +4403 +1753 +9115 +5751 +3444 +1004 +-7922 +-8547 +3579 +-750 +389 +119 +-4060 +2853 +-1091 +461 +-6966 +-5997 +8413 +8186 +-5956 +8790 +9014 +9491 +491 +5323 +5356 +2934 +9619 +7073 +5017 +-1876 +9695 +-7917 +-3085 +-2565 +-4258 +3866 +-6708 +258 +-8570 +9022 +-8215 +9340 +2349 +476 +5348 +3659 +8379 +-3297 +3499 +5066 +3649 +-3009 +662 +4237 +7392 +-6849 +3837 +4853 +798 +-7112 +8034 +-535 +-1925 +-3593 +-8769 +-51 +-4281 +-8038 +7466 +-6269 +-8227 +-4038 +9814 +9780 +-3975 +-246 +4450 +-7620 +-859 +-5500 +7923 +-388 +5109 +6015 +-9232 +-4760 +-437 +-5975 +5164 +7088 +3821 +1170 +9313 +-3716 +9619 +-6358 +5595 +-2974 +-3504 +9785 +7155 +2349 +-5278 +-3939 +1019 +1016 +5447 +7802 +7667 +3659 +3834 +-1677 +7923 +4267 +-716 +-6188 +-1771 +8948 +5842 +-2565 +-9656 +7843 +-9653 +-7 +1796 +-1793 +762 +-732 +-918 +5787 +9690 +1038 +-5171 +-3733 +3626 +6619 +9363 +4334 +3128 +8285 +-6708 +5298 +9116 +9387 +-9097 +6183 +-9261 +-605 +-164 +1600 +9824 +4493 +-1338 +-7565 +4042 +8223 +-2488 +9826 +3831 +6864 +5126 +-3430 +7904 +-6056 +6373 +3150 +-9785 +8819 +8474 +-7879 +-5001 +6375 +6222 +7063 +2880 +-7462 +-2266 +-3793 +7536 +8358 +9527 +-7628 +8664 +-3323 +-7630 +4475 +-5969 +3657 +-4264 +-5648 +-1185 +-1626 +7090 +-8003 +-3946 +-1101 +-9564 +8342 +-7419 +-940 +8556 +-5212 +-5090 +-9049 +-9520 +2001 +-8729 +8487 +722 +7703 +7581 +-9258 +1227 +6436 +-507 +-2755 +-611 +9994 +7678 +9529 +8579 +-6046 +-2782 +6649 +4486 +6844 +-4497 +1470 +-3507 +5851 +9273 +5149 +-8065 +-7853 +-9464 +4373 +6571 +-8843 +2068 +-7338 +7412 +9534 +7795 +3677 +5509 +-715 +-4468 +-8817 +-724 +7696 +272 +4892 +9776 +6668 +8345 +8589 +-1838 +-7175 +986 +3139 +7030 +-3678 +-7245 +4138 +-2806 +-9016 +8044 +8934 +-1830 +-6939 +-1183 +-4957 +6808 +9574 +6883 +-5022 +464 +-1660 +-4808 +8300 +-2323 +-9269 +-1955 +-690 +3199 +-2183 +-8763 +-7500 +2384 +-1658 +9910 +9619 +-4446 +4317 +-8910 +-1241 +-5171 +1819 +-2377 +-9638 +-881 +-3981 +2951 +1396 +-2160 +3822 +933 +1562 +3620 +-2364 +8507 +711 +9883 +6797 +5873 +7224 +-3894 +9905 +-2782 +-4657 +8686 +-403 +-5192 +4024 +3431 +3472 +1227 +7127 +-2313 +2373 +3014 +2442 +9285 +6387 +1807 +-4089 +-944 +7145 +-1303 +175 +-459 +4159 +832 +-2014 +-5397 +-908 +7301 +-740 +7879 +-1039 +3837 +4070 +-8910 +6522 +9585 +-7000 +3214 +-3425 +9600 +391 +-9983 +3466 +3512 +-2958 +-7138 +3675 +-5726 +2166 +-2321 +5666 +-5426 +-5770 +9866 +5327 +9905 +-8610 +7485 +-4418 +2385 +1394 +1245 +4187 +1745 +-4833 +9671 +8916 +-3110 +6512 +2772 +-3509 +136 +5672 +1574 +3962 +3269 +-2226 +-3420 +-5563 +7880 +4285 +-8559 +2934 +-2914 +9583 +-5758 +-4963 +5175 +-9513 +-3497 +-3619 +5320 +5651 +1594 +7905 +4407 +-9496 +1334 +-5929 +-8137 +-4679 +7037 +-9766 +-9692 +-9231 +4056 +-7579 +3141 +-7881 +-4459 +7284 +7212 +-7504 +3990 +9717 +-5645 +751 +8172 +8806 +-1287 +6144 +-5821 +-1786 +-8136 +8753 +6844 +5274 +-3910 +-4799 +3818 +785 +-9703 +-2858 +-9692 +-2094 +-4659 +-2130 +-9430 +-3622 +5635 +8261 +-9689 +3390 +-5436 +-9464 +1310 +5918 +-5410 +8066 +-9426 +825 +5337 +2392 +-437 +-2594 +1978 +-4574 +3320 +-8013 +-1376 +-9276 +-6669 +-6270 +2875 +-2703 +1689 +8724 +1522 +-1947 +4927 +-7733 +1375 +8957 +-9580 +-3827 +-5597 +2158 +-7301 +8445 +-4396 +-2596 +8296 +4395 +-7282 +1528 +-6899 +3659 +-6602 +-6702 +7385 +-9692 +-71 +-9924 +507 +2388 +3547 +3675 +-3102 +7368 +-1906 +-3537 +-3697 +3088 +-627 +-1787 +-4660 +-7622 +7088 +1891 +1302 +8786 +-7409 +-1061 +1158 +5993 +-4423 +851 +-2046 +8542 +-6980 +8709 +-2428 +400 +-5611 +8473 +4744 +6668 +5571 +-6151 +5949 +-380 +3438 +9008 +-5758 +-3281 +4084 +-6855 +-5189 +745 +-6506 +-3233 +7491 +-9983 +7459 +-5065 +8697 +-5124 +8071 +-6052 +7397 +1131 +-9928 +4851 +-6649 +4209 +893 +1852 +9805 +4025 +2224 +2274 +-6327 +5090 +214 +9303 +-6580 +-7797 +8513 +-9073 +-9877 +4371 +-9814 +-7881 +-5209 +6326 +-3797 +3544 +-2680 +-8818 +7563 +5071 +5646 +-2739 +5060 +8769 +6943 +-3418 +1187 +-2214 +1794 +1179 +-6991 +-9362 +-7313 +-3575 +5814 +7600 +8097 +9271 +9925 +-5013 +-4696 +4743 +-8918 +-1075 +-438 +-1995 +-640 +5397 +6056 +1998 +7128 +5941 +8336 +-3037 +1658 +9796 +2631 +-9396 +-6364 +-6855 +-9009 +-7706 +-8225 +-6034 +-2467 +-6329 +-4672 +-9571 +-8730 +3071 +6286 +-1659 +-8722 +-6400 +-1719 +1496 +9257 +-7610 +7207 +-2291 +2595 +4479 +6717 +3153 +-4455 +-2530 +4130 +-5537 +-8904 +-4362 +-4915 +-6335 +-8961 +-7722 +9681 +4395 +5070 +4018 +7628 +270 +6305 +4763 +-4918 +1212 +-3804 +6030 +4974 +-6296 +-7096 +-6920 +-8082 +-6338 +1212 +-7558 +-793 +4694 +2226 +-184 +3108 +-8239 +-5794 +5751 +9160 +-6211 +5053 +8097 +-4099 +722 +-2180 +3000 +1691 +6731 +-9310 +-4197 +1995 +1651 +6650 +-1541 +-555 +4138 +-1602 +9604 +9365 +3709 +7491 +0 +-1317 +-9388 +-444 +-1031 +6446 +9217 +7009 +2282 +227 +7557 +-3262 +9900 +-5749 +9231 +-2279 +9101 +-5065 +-1020 +-8720 +-2015 +7229 +-4871 +1937 +456 +-35 +2419 +-2015 +3199 +1842 +-5419 +7525 +-2615 +6950 +-5026 +6452 +155 +5633 +-7143 +-864 +7725 +-2129 +9583 +-4195 +1399 +-4565 +-5063 +6717 +952 +3989 +-8822 +8986 +-4022 +775 +-6510 +7154 +4143 +4035 +-9546 +-5472 +5591 +6282 +3124 +4079 +1742 +4040 +-3453 +-1852 +-2563 +-2068 +9631 +5306 +-443 +-8678 +-5003 +-1508 +-362 +-4936 +-1298 +6808 +1872 +1292 +-4956 +225 +4337 +-4479 +-7214 +-4057 +-8420 +-2568 +8713 +-9373 +-4649 +-7693 +6184 +7369 +-4028 +-7419 +2785 +-8843 +5274 +-9778 +3452 +1514 +-711 +1931 +102 +-1441 +-4455 +-109 +-185 +1227 +-7621 +7524 +-603 +-4198 +6450 +8838 +-4956 +1947 +-8694 +-4819 +5745 +-3885 +-1197 +-1144 +231 +7689 +-8245 +5376 +-3270 +-6361 +2809 +-9633 +7760 +765 +6599 +1177 +-3201 +-2896 +-1398 +8281 +2542 +-7403 +-2896 +155 +6258 +9830 +-7231 +-3519 +-4211 +-3770 +-7760 +5666 +-5120 +-2142 +3535 +2688 +-3291 +7486 +8688 +-1851 +4782 +1496 +1555 +717 +-7656 +-6269 +7481 +1601 +7400 +9558 +9193 +-3415 +-1372 +8997 +3272 +-9849 +2975 +-2233 +9542 +-5179 +674 +-4469 +2119 +-1729 +4390 +9400 +9862 +-5220 +1187 +8000 +-954 +-2363 +-8328 +-9554 +2198 +-7179 +6551 +-1615 +-7703 +-4881 +-6083 +-2015 +2501 +-7648 +2785 +4867 +-3407 +-8115 +9826 +-5158 +-6849 +5394 +1562 +8622 +-2411 +9700 +-5688 +8071 +-3273 +-7199 +-3855 +-8676 +2883 +9484 +8503 +1375 +-7140 +7758 +161 +-8445 +-2816 +-8236 +891 +5877 +114 +-2596 +1812 +-7830 +-4052 +-2055 +6079 +5381 +5095 +4777 +-3662 +4383 +-3052 +5390 +8066 +2736 +1021 +-5852 +-7629 +-4601 +7164 +2383 +-1489 +-8189 +-1511 +8460 +9974 +7660 +7151 +1222 +3844 +8672 +7579 +-4523 +1026 +6897 +-9469 +-9428 +-4450 +-9043 +-5536 +-633 +-2014 +-1768 +-1707 +-6908 +-1508 +-4798 +7145 +-4189 +-7850 +-4504 +-6650 +-4091 +-7860 +-9979 +-4298 +1037 +-3132 +762 +-7181 +3141 +-4950 +-6348 +3026 +7393 +7728 +-2129 +-3476 +5513 +-5794 +-9774 +-6992 +-7832 +-4542 +-6416 +3376 +1999 +4713 +-3007 +-511 +6451 +8485 +2975 +-1925 +-5235 +-3759 +3558 +7683 +-8480 +-2919 +-1061 +9547 +8543 +-3622 +-3509 +9138 +75 +114 +-1815 +5892 +-3384 +-5718 +-6740 +-4118 +-5209 +-1917 +-9707 +-205 +-3430 +8296 +-2034 +-6933 +8436 +-7590 +-4707 +4337 +8182 +1778 +-4055 +6648 +-6361 +5273 +-4425 +-7498 +8736 +6906 +-2217 +4741 +4054 +97 +-2198 +6961 +456 +-160 +526 +7709 +-2593 +787 +442 +7358 +-686 +-4759 +-59 +-576 +6838 +7451 +6378 +7052 +-5301 +-9020 +-6121 +-3237 +4931 +-9522 +-1071 +613 +2617 +-7351 +4891 +-5941 +-7664 +-864 +-7315 +3277 +2970 +920 +8242 +5011 +6213 +-6770 +6700 +-748 +-5217 +-8497 +-2795 +-4641 +3452 +2860 +-5301 +5344 +-4232 +6299 +3445 +9893 +-3839 +1775 +-7010 +-647 +3332 +4187 +4207 +-4830 +-5961 +6760 +-6531 +8328 +-4644 +-7503 +2252 +6239 +-1204 +8135 +-6759 +9138 +-3915 +-9984 +-3472 +-7880 +-5611 +9011 +9417 +-6059 +-9463 +9202 +-462 +7942 +8607 +-4825 +1368 +-6466 +-9040 +4137 +5461 +5100 +4237 +-824 +4835 +5346 +-8084 +-1020 +9296 +-559 +813 +-30 +-603 +4407 +-6652 +6718 +984 +-3389 +2863 +8673 +-1105 +1064 +-9788 +3925 +-3505 +-4105 +9695 +-5550 +-5433 +8114 +3113 +9853 +8286 +3887 +576 +-4936 +3202 +-2237 +5613 +8503 +-4278 +-8153 +-9309 +891 +-1712 +8367 +6305 +3674 +2888 +-65 +8318 +425 +-5881 +-5065 +1463 +6936 +-4742 +4108 +-5234 +-2749 +9134 +9862 +4314 +-7079 +3202 +-4998 +6851 +6752 +-7916 +-60 +-799 +8524 +491 +3207 +-4933 +3662 +4262 +-3007 +5407 +6910 +-905 +-7996 +532 +9353 +-4555 +9517 +4502 +5977 +4402 +-707 +-2623 +-3222 +-4882 +-9343 +2643 +8947 +-7304 +9794 +5832 +3858 +-621 +9929 +7833 +2119 +9460 +-3429 +-940 +6717 +6998 +1785 +-458 +-8430 +-3593 +1195 +7481 +5956 +-6391 +4406 +3662 +6336 +-7012 +3644 +3765 +-5182 +-7849 +-9977 +-5164 +-513 +1305 +-6338 +8154 +7556 +-8792 +-8249 +5207 +-940 +555 +-9015 +8717 +3986 +-3459 +258 +9744 +2258 +1999 +-7074 +-3784 +3133 +-2158 +4886 +-5797 +-4344 +4278 +-6494 +2282 +499 +-5205 +-6669 +1861 +4940 +9626 +5971 +8573 +-9285 +-3941 +6145 +-3023 +-4189 +-4386 +4386 +-5339 +-8091 +5489 +6996 +-2659 +7918 +3562 +1862 +-9924 +6284 +-8490 +6638 +151 +5941 +2516 +1782 +-1460 +-7945 +3986 +-7465 +-898 +-8634 +-955 +-6770 +-4936 +4066 +-9541 +-5957 +-5420 +-3390 +9851 +-1619 +-8829 +3629 +-2830 +-2298 +8767 +9813 +-9578 +4970 +7482 +-6357 +1481 +-7403 +1801 +-4 +-7489 +4274 +235 +-4456 +-479 +6753 +-6613 +-5467 +-2495 +-3759 +-2671 +5736 +-6445 +-6680 +9561 +2903 +-9735 +-3860 +-9816 +-3699 +-3634 +-7508 +-6095 +-9867 +7191 +-4152 +-4330 +-2006 +8764 +9660 +9735 +-3598 +-471 +3289 +7101 +-4427 +7795 +-4138 +-3290 +-9834 +7536 +8648 +-2622 +7677 +3544 +4535 +5879 +6144 +-3612 +8589 +-434 +5689 +-164 +9266 +-1914 +-4835 +3088 +8296 +-4258 +-5091 +-7536 +-6007 +-1338 +7376 +8382 +-1437 +-8892 +-2211 +-3393 +-1817 +4004 +9142 +2420 +-442 +3072 +-5768 +1877 +5556 +83 +326 +3439 +-7276 +3003 +722 +-9974 +926 +-7760 +-1194 +2628 +-8431 +-1088 +-6002 +3543 +-6602 +3619 +-2860 +-1492 +-2625 +-2695 +-5426 +9508 +-5729 +6193 +-7921 +3562 +5976 +-864 +-2757 +2651 +7307 +7857 +4000 +4940 +-5570 +-6413 +9170 +347 +-2021 +4675 +3456 +5320 +-2455 +1931 +-600 +-6308 +-3134 +6337 +2788 +9517 +-3052 +-9979 +1603 +6918 +-131 +-4358 +9597 +1830 +-9503 +7535 +9138 +-1555 +-4939 +5931 +-8863 +-3361 +-2594 +-1807 +7166 +7905 +-9676 +-3951 +-1765 +4791 +-920 +-9698 +7748 +-5363 +3961 +5654 +-7428 +8549 +-4142 +4583 +6376 +-4080 +3827 +2341 +-6017 +3005 +-7273 +-3432 +3214 +-3586 +-6081 +-4518 +3870 +2157 +-388 +4524 +6248 +9126 +-9124 +1448 +-555 +7368 +-1677 +5646 +835 +-1217 +8182 +-4330 +5877 +-10000 +4816 +-1441 +3265 +-4755 +-7695 +-2074 +-4017 +5503 +-7705 +-1449 +4982 +-3156 +-3555 +-4537 +5016 +7436 +91 +-1721 +3210 +-5770 +3589 +9386 +9552 +5089 +-9554 +5785 +-4580 +-8247 +-5468 +9189 +-2464 +4159 +6833 +-7697 +4042 +3789 +-2105 +948 +1063 +-8637 +8586 +5973 +-8035 +-4670 +4389 +2809 +2388 +4470 +-4322 +-1549 +-2552 +1628 +8456 +3367 +7843 +3346 +-4570 +3202 +-5504 +-8520 +6988 +1311 +-5364 +-7383 +-7805 +-3084 +397 +-5975 +-940 +3178 +-1266 +4232 +-1206 +2859 +8724 +-1506 +1729 +9040 +3961 +-3760 +6995 +4152 +-216 +7164 +-1452 +6172 +-8908 +-3220 +-3758 +-1519 +5695 +3297 +3500 +-5105 +-9247 +6292 +8599 +-1798 +-1710 +318 +7709 +3822 +-5654 +4025 +7526 +-2088 +-1975 +-2057 +7453 +9163 +634 +1068 +6599 +-8352 +1771 +1682 +-2122 +-4232 +-4643 +-8678 +2749 +6369 +-9632 +609 +-5984 +-2886 +-7012 +7109 +3558 +-1694 +5498 +-6918 +8727 +5579 +-4298 +6725 +-693 +6040 +-7423 +4348 +-6417 +-3045 +-7404 +-940 +7229 +-6112 +5123 +-4794 +-8761 +-5941 +2795 +-7656 +-9785 +8911 +6902 +-8656 +-6284 +-1906 +8933 +-4660 +-5603 +9920 +-414 +5659 +-7919 +8790 +2056 +-2385 +-4816 +-5860 +5445 +1169 +-1412 +-1707 +9379 +7680 +8470 +-7184 +-4312 +2245 +4035 +5101 +-5899 +2168 +-9871 +-8027 +9702 +103 +-9451 +-1590 +2281 +-4754 +-2143 +-5941 +-4546 +-671 +-3056 +-7963 +-8229 +7109 +9895 +2202 +-4854 +-1302 +9759 +-6054 +-2293 +2532 +-4936 +-9841 +-2816 +8863 +8305 +-8280 +7833 +-376 +6079 +7721 +-3624 +-7312 +-522 +3840 +-6225 +2398 +5655 +961 +6092 +9996 +9380 +-8636 +-7481 +-8424 +3706 +4092 +4852 +9282 +425 +6056 +3567 +6305 +7168 +7176 +-4034 +-6001 +-9124 +-2101 +-2415 +-8647 +3535 +-2470 +3666 +8752 +4120 +-9940 +-6790 +-9370 +671 +5745 +7281 +7579 +9885 +6452 +-1694 +3664 +-840 +-8986 +-7316 +-6805 +3386 +6995 +354 +-3716 +1988 +-5932 +6565 +-3499 +-5204 +-188 +5718 +-6312 +-9838 +-4666 +-6095 +3177 +4926 +7779 +2269 +-1944 +6752 +-4423 +-2375 +1195 +7455 +616 +-1241 +3619 +-8707 +4117 +-8148 +-5879 +7169 +-9790 +1325 +4112 +9383 +1978 +-2639 +-4715 +-5125 +-3323 +2480 +-5436 +-3709 +6329 +-2836 +-1298 +-7152 +1231 +734 +3269 +-3258 +1916 +2189 +2274 +-1326 +-7858 +6918 +-2636 +2362 +1188 +9339 +-9556 +3529 +5794 +1906 +7660 +-3673 +5153 +-6442 +4528 +-9774 +1774 +3207 +781 +6936 +4880 +-9703 +9994 +8397 +1423 +-7889 +-2700 +-3629 +-6251 +9160 +-3110 +3392 +5489 +-3119 +-7740 +499 +7114 +9904 +9796 +-5528 +3005 +-707 +-5622 +6531 +-5688 +-9774 +3589 +5458 +6821 +9403 +-6449 +-1642 +5649 +-699 +-8707 +-8017 +-6605 +7824 +7127 +8150 +4633 +-6052 +-4629 +8604 +8528 +-9080 +3657 +6199 +-8605 +2904 +-6314 +7709 +-1409 +-3640 +6286 +2070 +3266 +-6922 +-2689 +2349 +1232 +8011 +8632 +-8035 +7276 +-4832 +-1013 +-2727 +9867 +4913 +5636 +-9039 +9660 +-5145 +-667 +-8880 +-2642 +-4809 +-4641 +-3338 +-6146 +-4036 +-9752 +6542 +6156 +-2840 +-6444 +4999 +-7731 +-4166 +5095 +4225 +-6955 +2062 +-6801 +1638 +-9909 +6757 +-8942 +-621 +-5847 +5494 +-2604 +193 +1918 +7220 +-3807 +1298 +9366 +-8768 +-5662 +-8547 +-9088 +-9387 +-9841 +742 +-1712 +354 +4129 +-7481 +-7865 +8607 +-1075 +7703 +-7923 +-2060 +-6095 +7728 +3733 +-7705 +7926 +-7973 +-3153 +6317 +-2464 +-9325 +-3623 +645 +7819 +-905 +374 +-3465 +-5262 +-5718 +818 +1530 +-1160 +4004 +-4706 +-6839 +7241 +-2301 +-9552 +-4918 +-3378 +-7184 +-476 +-9299 +8322 +6650 +5364 +-931 +-1020 +585 +-6657 +-688 +-2654 +6614 +4475 +4030 +-3552 +-6952 +9613 +3073 +7308 +-940 +3550 +-7610 +-6188 +4008 +5118 +1024 +-8647 +-3317 +-9805 +3141 +-535 +-5182 +95 +9903 +5302 +-8641 +-3418 +-7203 +258 +-7731 +227 +-5663 +3264 +-816 +6134 +6275 +-7985 +-7077 +-5156 +-8617 +3877 +-380 +-8295 +2286 +-1265 +-6001 +-1220 +326 +-9845 +-2293 +3079 +-6740 +7243 +5885 +-6363 +9448 +6337 +5051 +8629 +9120 +2763 +-8398 +1864 +-528 +-9262 +-5458 +5889 +3133 +9323 +-8897 +4521 +-6252 +8536 +-700 +5019 +-1528 +-8910 +3059 +3821 +3945 +2826 +-3011 +-8527 +-7448 +8323 +8301 +6783 +-313 +7422 +3489 +9365 +-7722 +3787 +4034 +-4529 +-6896 +-3923 +5832 +-8391 +4534 +-7182 +-5879 +-7045 +-2095 +8753 +-8531 +7703 +2564 +5479 +-3816 +8830 +9735 +8207 +8783 +-2625 +1333 +-8897 +4994 +-9373 +4777 +-7703 +4252 +7163 +4867 +-2482 +-90 +-7773 +9190 +-578 +75 +-2227 +8261 +-222 +3252 +-9854 +-9664 +-5469 +1447 +2983 +6963 +-7129 +9341 +8882 +5057 +-9814 +8388 +-3184 +3412 +6843 +6299 +8381 +-2333 +-5997 +-9184 +-6474 +6488 +-7040 +-2928 +-4716 +9218 +-1762 +7161 +3099 +-434 +4452 +-4572 +-9309 +1561 +3579 +9793 +675 +-3273 +1302 +-2896 +-4105 +775 +5671 +-1561 +-3502 +-8064 +6752 +-2045 +6755 +839 +-4179 +3546 +4015 +-442 +-9180 +-8184 +-8720 +-3616 +-6013 +-1838 +-6275 +3396 +6682 +9914 +-5120 +9104 +-6958 +-4055 +-4479 +-7879 +3754 +782 +9808 +-9503 +5329 +-3634 +3399 +-219 +-5922 +8991 +-674 +-4659 +-4759 +-4219 +-4808 +6941 +7068 +-2974 +2508 +-5429 +-1422 +-3923 +4067 +5908 +3588 +8022 +5932 +-7181 +-8492 +-942 +-8019 +-942 +-4460 +7549 +2163 +-3817 +-6770 +1961 +6889 +9348 +9915 +9548 +-7503 +-3421 +-6679 +-4715 +-8964 +-2535 +1362 +-9275 +-7336 +8509 +-4523 +-5384 +-7301 +6188 +2070 +4996 +-1646 +4476 +3507 +6294 +-1512 +-8861 +2075 +2398 +-7184 +2782 +1197 +209 +-3543 +-1193 +2628 +5918 +318 +-5686 +-1201 +8644 +-518 +-3053 +4371 +1362 +5429 +8539 +-6112 +6733 +-6415 +-838 +7447 +-626 +227 +-3843 +-7361 +-3854 +2761 +-4269 +-8207 +-1464 +8000 +-1598 +-6219 +5063 +-3395 +5016 +-518 +6664 +-8993 +-748 +7368 +-5999 +8789 +3649 +-5788 +6591 +-4643 +7454 +-9276 +9778 +3735 +-5603 +5683 +-882 +9340 +-1819 +-6925 +-699 +3567 +5410 +-690 +6227 +7002 +-1590 +-2663 +-2899 +4390 +-9744 +2250 +-6579 +4423 +9484 +-9632 +-3581 +5453 +-9046 +2264 +5222 +6815 +4278 +3605 +-6330 +3763 +2910 +7531 +2559 +-9267 +6195 +-3936 +4909 +5889 +4581 +6988 +-5971 +1926 +9832 +7382 +-6966 +5590 +-7140 +-1530 +3531 +-2006 +-5847 +-5619 +-8065 +-3291 +4090 +8442 +-6613 +-4574 +3571 +5922 +-1440 +17 +4502 +-8431 +-3052 +-1948 +-9676 +1582 +-1771 +-2439 +585 +8757 +-1399 +-5026 +-3735 +1205 +7835 +-9090 +1322 +-2198 +76 +2319 +6575 +1109 +-1454 +7109 +9301 +1448 +-5363 +-2078 +-8687 +354 +-3516 +-9770 +-3025 +-2786 +7707 +-1254 +-7864 +3230 +-1332 +422 +-6808 +6139 +-984 +-6579 +-1882 +-4145 +4909 +-7740 +-7428 +2282 +1796 +-9564 +-2007 +6617 +5922 +7197 +9509 +-9380 +1940 +-1964 +3466 +-2663 +9677 +-3211 +-5458 +-1912 +-7706 +2379 +1788 +-3004 +-8416 +-4615 +-1533 +9466 +-3430 +9760 +9513 +-5769 +-4425 +-4116 +-9312 +7097 +722 +3279 +6649 +1740 +3678 +-2239 +-3011 +6906 +-5860 +-4349 +-2847 +8630 +-1828 +-3555 +-9636 +-7256 +-4278 +1418 +9640 +1782 +8284 +-1336 +-5065 +6654 +-1719 +7063 +-1563 +8184 +-9310 +-9698 +1039 +-8637 +-3922 +4164 +-6287 +-205 +-1759 +4066 +7942 +5034 +-2149 +636 +-8057 +8397 +5703 +-5635 +-6609 +8736 +-1508 +7097 +-9849 +9755 +-5221 +6172 +7459 +-2301 +3610 +5959 +9675 +-3750 +-6899 +4671 +-9310 +-268 +90 +5435 +-2326 +2133 +-4455 +5103 +679 +7887 +-1793 +-5770 +-818 +7477 +-67 +3415 +3852 +6633 +9895 +1016 +-4207 +-1366 +-840 +-7403 +-8721 +-5570 +-6399 +333 +6901 +3005 +-4508 +-3999 +6168 +4000 +8876 +-4715 +-3424 +4044 +-5395 +-9834 +5115 +1205 +-1568 +-8043 +9945 +-8807 +4166 +1195 +-9503 +-3335 +-2412 +-8636 +3039 +8470 +-4028 +4180 +-8372 +-5653 +2813 +6615 +8842 +-5536 +8708 +-555 +1733 +-7705 +-2754 +9610 +-9050 +-9675 +-612 +-6249 +-169 +-761 +-4836 +3675 +4671 +-7403 +-2096 +-5133 +6583 +-1376 +7915 +3709 +8162 diff --git a/2022/tests/day20.txt b/2022/tests/day20.txt index e69de29..52c68ff 100644 --- a/2022/tests/day20.txt +++ b/2022/tests/day20.txt @@ -0,0 +1,7 @@ +1 +2 +-3 +3 +-2 +0 +4