diff --git a/C++ProjectTemplate b/C++ProjectTemplate index c1aa29d..1f9c1a3 100755 Binary files a/C++ProjectTemplate and b/C++ProjectTemplate differ diff --git a/input b/input new file mode 100644 index 0000000..e81d6f7 --- /dev/null +++ b/input @@ -0,0 +1,5000 @@ +698 +5116 +8155 +-9039 +3858 +6218 +1451 +-740 +3403 +4144 +8600 +6568 +-5125 +-2582 +-3724 +-9818 +3791 +-4764 +109 +8938 +-6537 +7939 +-9729 +284 +1044 +1409 +8079 +9109 +-4382 +-3346 +-2753 +-2701 +-1386 +8138 +8677 +-3273 +-7531 +4959 +-3399 +6558 +-1628 +-8413 +2251 +742 +8269 +3423 +-1630 +-2129 +1451 +-2186 +5470 +9601 +7727 +86 +7958 +-1777 +7806 +3926 +7837 +1593 +5494 +-7872 +9726 +396 +3181 +-4411 +8470 +-5529 +2496 +1141 +3445 +7213 +5404 +4715 +-7710 +5754 +8848 +-2715 +-165 +4209 +7582 +6905 +3140 +-1327 +-5856 +-4706 +3553 +8826 +8873 +4368 +-6482 +9955 +-6642 +4246 +8624 +-4211 +-5303 +-7764 +-4521 +-453 +-681 +6303 +-130 +1734 +-6654 +4415 +-9477 +-674 +9069 +1798 +-7077 +5624 +-1389 +-6443 +-498 +-2199 +-7805 +-4032 +-731 +6566 +1911 +-8098 +6175 +-3002 +-411 +5713 +-6791 +6573 +4886 +4056 +-5593 +-6593 +-9981 +782 +8842 +7040 +507 +8908 +5453 +3431 +6449 +1585 +2301 +-9504 +-3637 +-151 +-2808 +-7266 +-2403 +-5518 +-2700 +-5880 +-6078 +6326 +7523 +2750 +730 +-539 +-7785 +-6620 +-148 +1674 +8726 +-9379 +1282 +1590 +1166 +-1688 +9495 +8337 +4143 +-2418 +2205 +6198 +-4709 +-7681 +-2878 +-8956 +7939 +-9516 +-502 +601 +-7575 +9185 +-4483 +-6086 +8601 +-3384 +1776 +3719 +-6290 +-882 +-5026 +3714 +-6664 +2594 +1487 +-6459 +-7320 +-1936 +4788 +-8080 +6174 +7301 +-8757 +-4963 +-7550 +716 +-1389 +-6630 +-6072 +1435 +-3466 +1661 +1508 +4563 +3682 +7768 +9436 +5390 +-5214 +-4003 +7192 +9736 +7218 +720 +-5329 +3849 +95 +6403 +7199 +2446 +-2294 +7418 +7368 +-691 +-9802 +-4499 +73 +8624 +9088 +9601 +7601 +-6624 +-1283 +7337 +-2367 +-8452 +4629 +2160 +-6933 +8957 +4024 +8261 +6842 +136 +2493 +-5797 +-8248 +3462 +-5363 +-2833 +6326 +-4839 +-2118 +7234 +3869 +5729 +103 +79 +9866 +6804 +8335 +5822 +6012 +2744 +-7030 +-4689 +-9279 +1406 +2060 +9349 +2190 +-4261 +-3940 +-118 +3268 +9592 +-9990 +8261 +-8243 +7749 +8393 +-7611 +7757 +4473 +5166 +-3689 +-3665 +9276 +3978 +-6517 +-2120 +-2861 +4215 +5694 +1480 +-5670 +271 +-3369 +-2945 +8560 +-5737 +-2093 +5780 +-397 +-4808 +-516 +3229 +-4394 +6886 +5983 +4026 +5129 +-9989 +819 +1731 +-3960 +-7823 +5213 +3359 +-6735 +-6562 +-8878 +5161 +-6918 +-7452 +1768 +-6015 +-7945 +-8785 +4862 +8974 +-5283 +7661 +-8264 +382 +-9411 +-5606 +-5688 +-6285 +-5516 +1920 +-871 +9822 +9756 +8061 +5334 +6393 +-4288 +-8913 +1411 +-480 +-9897 +1772 +4275 +-8357 +3372 +940 +1496 +-6333 +-7702 +3576 +8697 +-2779 +-420 +-1578 +-8351 +-1478 +-4798 +-2946 +-8123 +8177 +4512 +-8607 +-7379 +-4879 +5925 +6872 +2853 +-3608 +-1630 +358 +6414 +-413 +-2372 +-8893 +-6509 +-3080 +-621 +-263 +-1445 +86 +-4716 +2546 +1120 +-1303 +-5356 +-7872 +289 +1126 +809 +-2748 +5257 +-1042 +9161 +2792 +-8865 +-3104 +-1691 +4962 +1048 +-3458 +2091 +5202 +-6960 +-9749 +8611 +8547 +-3312 +2979 +2029 +709 +560 +7068 +-3807 +3750 +-5748 +-6005 +3493 +-4741 +-43 +-796 +3393 +8887 +-8644 +-7322 +7751 +2748 +-7872 +7557 +281 +-2510 +-2783 +-8873 +597 +2624 +6707 +-8620 +6859 +-4936 +-5207 +5267 +-2832 +-3856 +-5568 +4662 +-4381 +-6886 +-2089 +3823 +8525 +-4501 +65 +9347 +-6409 +-1468 +2233 +-4951 +9118 +-7023 +1054 +7063 +-9248 +800 +-2151 +4068 +2626 +3897 +1564 +1577 +4281 +6771 +5289 +-705 +-4771 +-8601 +-1526 +-7430 +6142 +-1805 +-7587 +3436 +8253 +2589 +-1756 +1938 +5994 +-9802 +7877 +-1746 +7534 +-3456 +-2837 +-6630 +-2686 +-7043 +-1478 +8207 +-8852 +-4894 +-8842 +7801 +4008 +2652 +4382 +-1478 +-9233 +-6743 +7349 +8981 +8308 +-2424 +3870 +-894 +-2029 +9882 +-2108 +1673 +4614 +5133 +9075 +-7613 +-7266 +1866 +2192 +8220 +-4176 +1793 +8942 +-2392 +8533 +-3955 +-3869 +-4168 +1516 +8392 +-7395 +-2011 +7449 +-4567 +6801 +2019 +-4537 +2595 +-4833 +3757 +3446 +-5360 +-6989 +6621 +424 +-761 +5429 +7489 +8174 +1900 +2328 +-9349 +5111 +-5775 +-4261 +4470 +5743 +2056 +5992 +5527 +-7641 +7314 +-4985 +2882 +-3970 +8688 +2718 +5963 +7861 +-2481 +3198 +7906 +-1907 +-6163 +-7599 +-4902 +1481 +-9910 +-9578 +2492 +-6899 +-6072 +6968 +-1420 +-3283 +-9311 +-8826 +9454 +-322 +-503 +2467 +-9202 +-8851 +-2686 +-7787 +7730 +1994 +-5543 +-5020 +4832 +-6863 +1765 +-9386 +-8718 +-9989 +1153 +7597 +6189 +7634 +7839 +185 +914 +6768 +-9601 +-7267 +5148 +-9804 +-4113 +-3620 +-4495 +-2007 +5611 +-4528 +-4446 +-5988 +-6058 +185 +-6495 +-6268 +-8694 +8281 +-1886 +8740 +7396 +-264 +203 +6061 +-5203 +716 +8553 +8743 +-8222 +3653 +-6785 +9658 +-9971 +8461 +-761 +-155 +-9899 +-7750 +-2628 +-2221 +-44 +9124 +6671 +3629 +-4672 +7013 +3779 +-1298 +5920 +-855 +-2224 +-2201 +-8243 +9999 +-9524 +9157 +1588 +-1307 +4197 +598 +-3449 +167 +8908 +-8680 +-6232 +-152 +445 +1213 +-973 +-7231 +7756 +3912 +-6856 +-6571 +-2645 +8949 +-4119 +-9234 +9800 +-7859 +-8107 +6382 +4731 +8188 +3446 +-7849 +-9732 +5345 +-4534 +-7053 +-3 +-7373 +-3142 +5919 +-4284 +8242 +5913 +-8105 +2315 +1443 +9478 +-1625 +8684 +-5379 +-8493 +-1840 +1053 +3283 +9215 +3805 +494 +972 +2949 +866 +693 +7427 +-4362 +1129 +-7726 +6034 +4862 +271 +4224 +597 +-473 +-2338 +-5925 +6854 +1819 +3966 +9218 +8566 +-4018 +247 +9626 +515 +5566 +-3181 +-814 +8319 +7342 +5332 +-3497 +-9031 +-3550 +4532 +-35 +1191 +-9339 +-1866 +4909 +-5211 +4740 +-7817 +-7274 +6807 +-8993 +-5245 +1849 +707 +1842 +-8385 +8968 +73 +-4963 +-8264 +-7360 +-9995 +4286 +2744 +-2008 +-1193 +-6606 +3144 +4818 +7860 +4337 +-4152 +-4029 +5339 +-5868 +4755 +8500 +9601 +-5190 +314 +8552 +-5803 +-526 +7349 +-5320 +8791 +-4020 +-949 +1932 +-2352 +-1470 +-3772 +5390 +-3002 +4358 +1644 +2299 +1588 +2116 +-9194 +5992 +7293 +-7786 +1486 +-550 +-695 +-1762 +-9250 +2077 +8105 +4757 +9978 +-6010 +-1658 +2997 +-2753 +4894 +3007 +-650 +58 +8216 +-6015 +159 +-6743 +4257 +-5173 +-4711 +-8246 +5453 +1562 +-7896 +-6587 +7868 +7306 +-4113 +-4499 +2801 +5429 +-545 +-1146 +404 +7980 +514 +3638 +-1045 +5315 +6547 +9878 +8783 +-4995 +6424 +-1034 +9515 +2742 +-1046 +-2833 +1345 +2303 +3557 +-2728 +3493 +5495 +2652 +4820 +1769 +2373 +-1562 +-1528 +9515 +3018 +8842 +-4845 +-4864 +-2833 +9721 +-5109 +7373 +1928 +-4537 +9459 +7179 +-9343 +-7177 +7156 +-8416 +-958 +-3148 +722 +8644 +8684 +5689 +1579 +3086 +-8688 +-5722 +-7087 +-8259 +6665 +-2549 +9168 +6192 +2173 +7702 +-8350 +-4665 +-9230 +-1528 +6024 +9940 +7150 +-7353 +3465 +-3960 +240 +6255 +-7098 +5866 +4613 +-925 +4437 +7045 +-3844 +-9102 +6817 +8459 +3042 +1469 +3311 +-290 +1729 +-7215 +-7889 +-8905 +-2297 +7173 +-4113 +3493 +1411 +3918 +-6927 +-9142 +-1777 +7022 +-1029 +901 +-2700 +3878 +8932 +-9161 +9105 +3297 +4727 +3043 +-5609 +96 +5334 +2547 +4977 +-1644 +2970 +-8976 +5262 +2436 +6060 +2037 +-6735 +-2221 +7052 +-5730 +-1569 +791 +1331 +-6786 +-5047 +-5435 +-9482 +2845 +-590 +1182 +9657 +-3710 +-8829 +8562 +-8006 +3433 +7511 +-2977 +-781 +-2703 +-6307 +-1141 +7336 +-8769 +6845 +4 +6145 +2638 +-5184 +-9405 +-4047 +-7560 +7387 +9076 +-6845 +-2291 +-2838 +-8399 +2496 +-8956 +9160 +9443 +-1034 +-4673 +-4981 +-4137 +-912 +7237 +-1036 +7632 +-2110 +-189 +-571 +-9039 +2853 +2456 +-7821 +4926 +8773 +-4257 +-6213 +-4764 +-4426 +6284 +9845 +-1551 +9660 +-3053 +3921 +5217 +7533 +6622 +5960 +9806 +-8737 +-5779 +-5997 +-9672 +2306 +-6719 +-6190 +514 +8233 +-8107 +2687 +-2719 +-4116 +-1389 +1618 +-6438 +5728 +-3785 +8268 +-6537 +454 +6144 +359 +-9823 +-6642 +2687 +3413 +-9528 +-3078 +4939 +2141 +-8015 +7583 +-9135 +1823 +8690 +-1172 +-6610 +3535 +-353 +6725 +1420 +6445 +-2223 +-5074 +7774 +-6567 +8968 +2065 +9942 +-3578 +-4059 +5549 +9662 +-8597 +4833 +6849 +5617 +-6009 +8798 +5718 +-9016 +-670 +7192 +7885 +723 +8742 +6303 +-7092 +-8556 +-2395 +-8900 +6198 +5800 +8729 +-4400 +-7440 +-9010 +494 +8296 +-2340 +6846 +-1712 +-4424 +-6505 +7206 +-9606 +1411 +4248 +-9405 +-4763 +4106 +2860 +3908 +3297 +1567 +6835 +-9349 +-5347 +8942 +9579 +-8928 +358 +-4887 +-209 +638 +1126 +2446 +8489 +-1936 +73 +-7242 +8708 +-8407 +7383 +-5748 +2576 +-8597 +-6515 +3042 +-7945 +-6031 +-9758 +1819 +3662 +-9570 +-1757 +-5748 +-4653 +7917 +5129 +-3061 +834 +4358 +-5104 +-2222 +-5966 +918 +-5497 +-5736 +-7364 +4519 +-6716 +8811 +8707 +6133 +3517 +-4625 +-6511 +5535 +-8873 +103 +-2778 +-8246 +-5856 +-2263 +-1430 +-4908 +249 +-1242 +-554 +672 +-9823 +-7177 +6150 +2297 +-2272 +-2667 +-8280 +-6618 +-7283 +-1325 +-3385 +4808 +-5596 +-7956 +4176 +3120 +-8078 +7914 +-4845 +-701 +-4617 +-5268 +-3260 +8772 +-4853 +-8221 +-3655 +-3260 +2297 +4405 +6900 +2590 +-698 +-4374 +-1973 +-8361 +7939 +3414 +-4595 +-555 +8279 +-5668 +-1122 +-5162 +6587 +8308 +8656 +2118 +-2698 +-9706 +4596 +-3466 +-4539 +1866 +-5999 +-1755 +1051 +4266 +4740 +-7225 +636 +-2653 +1759 +8806 +-8551 +1056 +8177 +8208 +5814 +6273 +-1223 +5179 +-1098 +7570 +-5585 +-5259 +-902 +-4472 +1631 +-3078 +88 +4891 +5266 +8566 +-3628 +-6698 +-2099 +8241 +8328 +4927 +3010 +-6913 +-427 +3240 +-6125 +-2723 +-9706 +7279 +-4579 +8279 +-7871 +-1944 +-2977 +-8227 +-9785 +-216 +-6087 +6968 +-6554 +4805 +1955 +8103 +-9103 +2216 +-7479 +-3216 +-4926 +8391 +-772 +8570 +1330 +1977 +-2502 +-1842 +-2377 +2065 +2865 +-5913 +-4288 +-9919 +5556 +1361 +-3125 +3576 +5531 +2344 +-1045 +8457 +8792 +-9212 +1816 +-873 +-487 +1952 +2633 +-9795 +3507 +-5913 +-5240 +-2828 +-7747 +3956 +5406 +-5882 +4589 +5652 +-2323 +6273 +7659 +4248 +3419 +7813 +-4168 +-5210 +-7710 +-937 +7977 +5445 +2824 +-6894 +1900 +8998 +3095 +1908 +5129 +5589 +5229 +-371 +-8104 +-8962 +9789 +-8087 +-5395 +-8107 +9309 +7619 +-1893 +-5537 +897 +-6830 +-5423 +-4421 +1190 +-9786 +7825 +-1300 +7213 +5904 +-7308 +5140 +-7964 +1898 +-9141 +-4553 +-4195 +7567 +7131 +6512 +-8037 +4465 +-1220 +6946 +-968 +-1406 +6590 +-1431 +-3956 +-5750 +9249 +9697 +-2115 +9206 +-2896 +-3929 +8348 +-2392 +-411 +9172 +8839 +720 +-353 +-539 +958 +-2340 +8498 +211 +-582 +-1728 +-189 +6217 +5632 +3490 +2317 +4715 +-2700 +990 +9001 +1148 +9821 +-2500 +1352 +-5253 +4291 +4617 +244 +-3677 +4973 +-4054 +-7125 +-5198 +-9349 +-5985 +-5497 +2276 +-9989 +-6342 +9531 +-7572 +-7430 +-8544 +2902 +-1669 +1190 +3504 +67 +-9019 +-5155 +6888 +-8867 +5569 +-8011 +6767 +-9582 +1823 +2393 +-8800 +8114 +-2700 +-4793 +8562 +-9653 +-9063 +-9015 +9205 +-88 +-2662 +9806 +1140 +998 +-9693 +-9931 +6682 +4536 +-6751 +9099 +-4983 +1182 +3915 +1787 +-1359 +-9569 +-4959 +9067 +-8714 +6471 +5418 +5596 +6590 +194 +-7255 +-4825 +-412 +-335 +2569 +-5748 +-9020 +3990 +6768 +-9332 +-1112 +-2992 +-4905 +411 +-8393 +1884 +5129 +-5732 +-5565 +514 +1636 +8190 +-150 +-6488 +-7469 +3051 +6619 +7071 +-9786 +-4741 +1420 +-2555 +9382 +-3779 +-6263 +-1660 +4823 +-7664 +-7952 +-3980 +-741 +-5859 +9023 +-2114 +-3841 +988 +-2118 +-5362 +6446 +1545 +6317 +-3281 +9772 +4675 +-4046 +5912 +-6219 +8414 +-2001 +-1697 +-4296 +6507 +5202 +-7214 +6495 +-9817 +7561 +-2036 +2988 +5036 +4384 +-6624 +-5203 +7703 +-1110 +5229 +-2039 +-5826 +3487 +-3897 +6860 +2999 +-7872 +4173 +-6766 +-7723 +2029 +5925 +1234 +2875 +2759 +-7593 +-6511 +-5140 +-4470 +-8186 +-7266 +8343 +-5465 +-486 +-7450 +-1852 +8582 +-2151 +833 +-1033 +-6302 +-6871 +9023 +-9587 +833 +-1665 +-2440 +-9992 +-4623 +-595 +1746 +3551 +5600 +-8468 +-730 +8669 +2074 +-3228 +-8843 +-7455 +5129 +-2500 +-7071 +-4578 +-7916 +9794 +-9365 +5730 +277 +549 +-8046 +3378 +-6159 +-1948 +-6308 +-8940 +9877 +-4404 +1663 +2535 +-9673 +-5323 +5429 +-5478 +-6331 +-3548 +-9899 +-4398 +-259 +-5835 +9757 +-2621 +-917 +-6243 +5566 +9787 +-437 +-7650 +-6570 +8677 +-4734 +-6731 +2861 +-4603 +3405 +9001 +3635 +-4764 +2080 +-4988 +2390 +1048 +-2081 +-680 +-2263 +-4045 +-9982 +9703 +6164 +8848 +-7308 +-4382 +2575 +3377 +-3068 +8001 +4018 +6941 +-6644 +-4725 +-7882 +-5027 +4517 +-8915 +-6388 +-9349 +-4022 +-2955 +-2686 +8234 +7940 +-898 +3640 +990 +3042 +4552 +9686 +-1303 +8295 +-2485 +-3914 +-9477 +-1133 +1379 +-4867 +1663 +4820 +8001 +1545 +3127 +3846 +2870 +543 +-4567 +4175 +-2808 +4180 +-6490 +6846 +9920 +-2999 +-9150 +-1112 +3284 +2276 +-7505 +-9517 +-5095 +593 +-5795 +-6655 +8032 +-8865 +-5590 +-405 +3719 +-2917 +5847 +8864 +-4424 +6936 +-9816 +8889 +1605 +-579 +351 +-7570 +-6881 +3769 +-9171 +-4036 +-9517 +1163 +6446 +-8574 +-8729 +7903 +-8416 +-1050 +9096 +3187 +-473 +2043 +4977 +5 +-4662 +2297 +7826 +5992 +9866 +-1135 +8799 +-2769 +8842 +6861 +-579 +-3311 +-8984 +4706 +-7872 +-2480 +-3335 +-1098 +-8604 +-9250 +-6617 +907 +-2627 +9312 +2619 +-9552 +3108 +4353 +-3534 +370 +-683 +2955 +-8087 +5008 +4940 +-4256 +-4510 +1426 +-4588 +-6186 +7749 +-2460 +2899 +-7285 +-5809 +4173 +974 +-2067 +-5722 +1250 +-8505 +8214 +5407 +5814 +8889 +-6459 +2011 +2979 +3107 +9654 +830 +6150 +-7800 +514 +-6109 +2853 +-4998 +9712 +-6130 +-2092 +-7411 +-215 +-5835 +2089 +5585 +-3511 +8377 +6002 +-1798 +-6012 +9384 +4171 +1510 +-5393 +-7560 +9375 +8209 +5181 +2545 +8755 +2361 +-4296 +-1454 +3883 +-3312 +8600 +-3492 +5345 +9502 +-2045 +-3419 +4147 +-957 +-5197 +-4651 +-9142 +-1307 +2906 +-5970 +838 +7354 +487 +3577 +7527 +-6031 +-6785 +-5763 +-1714 +3751 +2953 +-2462 +-2416 +-4113 +-9320 +-6218 +-3909 +-7474 +3668 +-7043 +-7751 +5718 +-1430 +1044 +-8272 +-7162 +-8712 +-2110 +3711 +8875 +-1107 +-7457 +4745 +-9245 +-9919 +-9295 +1150 +-1081 +4704 +8563 +-5055 +-4183 +-4617 +-3677 +2133 +-3880 +4288 +-5767 +104 +-7614 +-6994 +-951 +-2908 +-2706 +-9960 +-3369 +-7023 +-3166 +8610 +-5624 +4917 +-8796 +6111 +6219 +-9195 +-1667 +3714 +5484 +-5763 +3259 +-7768 +-3847 +-2371 +-549 +5572 +-8612 +-7952 +8657 +5652 +-583 +-6204 +-9885 +1406 +-5815 +-1122 +1909 +3491 +-4394 +-7419 +3653 +-2 +6495 +-3905 +-6052 +445 +9684 +-2221 +-9982 +8908 +-4445 +4606 +2808 +4959 +5982 +-2489 +-5601 +3181 +79 +1421 +7411 +-6091 +-5781 +-4128 +5538 +-7218 +-9451 +249 +-2371 +2392 +-6318 +-9460 +8958 +3194 +-2516 +7679 +5148 +-5437 +-670 +4754 +3925 +-3796 +-3659 +46 +-1329 +8515 +7130 +-4494 +-4263 +-7975 +-5997 +-7259 +6029 +-7896 +-9960 +-5848 +3463 +-5842 +5318 +1285 +9871 +3437 +2228 +-1223 +-1628 +1590 +-5951 +5638 +-9971 +9565 +5339 +4057 +-2121 +-5259 +-4493 +-6869 +-7661 +2045 +64 +7153 +3846 +2628 +5104 +-7196 +-5797 +7669 +-2505 +-4336 +6537 +3713 +5406 +4506 +4238 +3249 +-5399 +7279 +-9292 +-9365 +8519 +-2667 +-2438 +-9474 +-7106 +870 +-2946 +6864 +-8674 +-4846 +8396 +7269 +-9752 +9064 +5585 +3574 +-3849 +-3722 +2063 +-56 +7314 +-5335 +1914 +8565 +3410 +2228 +-5732 +8151 +2278 +-5559 +1632 +-2998 +-1109 +-2913 +-4676 +-6814 +1766 +1883 +-6795 +5601 +-1050 +-4401 +8408 +-8482 +8660 +-5944 +8745 +-6869 +4911 +5609 +-8729 +8660 +-6752 +2632 +-4569 +-6315 +-2523 +-480 +9321 +2703 +7323 +6658 +6658 +3428 +1659 +1141 +7191 +6257 +-5226 +9382 +-5208 +-4388 +-3895 +1030 +-660 +7829 +-7560 +1768 +7939 +-7817 +5747 +7882 +4180 +4759 +361 +9240 +5799 +-2272 +2074 +8707 +-8301 +6883 +-2998 +-2284 +4613 +8496 +5175 +-6802 +-853 +2799 +-7910 +4245 +-4178 +-8907 +-6791 +-246 +791 +3487 +-8617 +-996 +-1242 +-9178 +-8896 +-3605 +-498 +4345 +-5825 +1840 +-2596 +1050 +1600 +-316 +-3062 +5428 +-1296 +7534 +9806 +9239 +9049 +758 +-5379 +4985 +-2153 +-133 +9223 +3486 +-5950 +-6438 +9966 +-1728 +-6072 +-2177 +-3270 +5913 +1747 +-918 +2458 +1707 +5301 +-9528 +3941 +6164 +5913 +-915 +-8537 +3393 +-7076 +3156 +-1441 +-1832 +-4964 +2589 +6519 +8108 +-323 +4971 +-9690 +5161 +-1454 +-2878 +-5231 +-2792 +9575 +-7916 +892 +-1283 +5273 +950 +-8982 +3638 +3463 +-8961 +-536 +-6103 +6519 +9299 +-9907 +7004 +4164 +8078 +2892 +-3529 +9657 +1911 +6566 +-9482 +-4771 +2870 +-2 +-6407 +-5895 +8593 +-2703 +3446 +-4775 +9068 +8677 +-6758 +1559 +382 +8643 +-718 +8642 +-3655 +-3515 +-7275 +7905 +6502 +-2882 +7153 +-5668 +-3088 +6992 +-1526 +-6994 +-4411 +1680 +4787 +3841 +5445 +-4007 +7203 +-8895 +601 +6060 +812 +3921 +6761 +104 +3015 +-2118 +9101 +4101 +-3802 +2706 +6558 +-6712 +-4746 +-9436 +2489 +-8024 +7385 +-1830 +-4059 +-2741 +8887 +3281 +-5208 +-6337 +5814 +-1783 +-2597 +-4128 +-4951 +-1809 +-5215 +1619 +-3852 +167 +-8371 +-2500 +-1630 +4891 +-3355 +7556 +1952 +-5825 +-9995 +-5850 +5464 +-7770 +299 +5662 +-4857 +-1483 +-6804 +-5879 +-2338 +1621 +-427 +-5848 +9206 +6945 +6403 +950 +5922 +-9124 +3137 +3613 +-3997 +-1283 +2767 +3348 +4898 +4511 +-6386 +2300 +7785 +8974 +866 +8123 +2029 +-3014 +-2758 +1488 +8573 +6878 +3619 +6096 +-7440 +1812 +136 +4979 +-1577 +-8684 +5349 +6654 +-6160 +7648 +-7672 +3757 +1659 +-1555 +-9138 +7677 +-767 +5074 +-4760 +-4870 +-5966 +-1669 +-6802 +-7440 +1886 +6376 +9845 +-8684 +-7554 +-4894 +-8396 +-6918 +4164 +7148 +6002 +-9182 +7549 +-5364 +6012 +1043 +-5791 +-4017 +9662 +-8750 +3120 +-135 +-7306 +-4426 +-5346 +-5587 +-3239 +-3677 +7822 +2141 +3823 +-3228 +1608 +-6511 +4823 +-2443 +-9026 +1250 +4879 +4833 +-8785 +3687 +-3738 +5872 +7237 +1190 +-2523 +-6960 +-5614 +-539 +8209 +-9169 +-2699 +-3789 +8582 +-9343 +-2662 +-8413 +-2532 +-1123 +-1746 +3885 +7763 +-3388 +272 +2132 +-3761 +-4968 +844 +5036 +1371 +720 +-6894 +1502 +-4502 +-1046 +-7245 +-9757 +8882 +-7875 +3222 +8143 +7063 +5638 +-483 +-6978 +1800 +-1107 +-1574 +2592 +6403 +-9564 +5099 +1051 +-1026 +-2224 +-1496 +3645 +-1892 +1585 +8203 +-3105 +-8751 +-9580 +-4866 +4107 +7207 +9942 +-2424 +-8730 +7052 +-3151 +-8087 +-6347 +-535 +1592 +7512 +7208 +594 +-3526 +4506 +-8861 +-1440 +-5383 +-4794 +-8033 +3447 +-3779 +-2596 +5266 +8949 +4968 +-7956 +-4409 +-1661 +-4424 +-3825 +6701 +707 +4475 +-751 +7502 +7072 +9120 +-260 +-6965 +-3454 +593 +-9238 +-6409 +7643 +-4926 +-9233 +611 +5992 +-7997 +-5233 +-1065 +-5835 +4705 +-28 +1461 +-3851 +-5232 +-5894 +-1478 +7631 +588 +-9329 +9092 +7703 +-3273 +8742 +8839 +6215 +3303 +6754 +-5744 +3675 +-5073 +213 +2240 +-4464 +-1863 +8165 +-8822 +4114 +-6451 +-2364 +-4018 +-3620 +5873 +1508 +2768 +2522 +-7639 +6665 +2145 +-798 +-3237 +-3181 +-2611 +-8634 +-5538 +-2221 +1383 +-7706 +6334 +-2567 +-1711 +-6457 +8468 +-1882 +-7832 +3638 +-3384 +-46 +1560 +3430 +-4655 +2975 +135 +-7245 +3304 +-1934 +-2582 +-8788 +-3105 +-2903 +-8421 +-549 +2866 +9657 +-9508 +7913 +-7225 +3291 +4979 +-2460 +-6920 +-9026 +1200 +-3684 +2390 +9720 +3907 +-1098 +6768 +-3469 +-4958 +-8680 +-5612 +3613 +-5318 +-8617 +5265 +6976 +8493 +9951 +-2732 +-2780 +-3540 +-6642 +-5980 +2983 +-4551 +-9758 +8734 +-8310 +-5593 +-5699 +-9349 +4120 +-1205 +8143 +9870 +8820 +-2224 +1593 +9978 +9141 +-3503 +8193 +-9349 +7806 +5723 +-1283 +-8275 +9966 +5533 +6275 +-1866 +5406 +5814 +-857 +-2991 +6403 +-2769 +6346 +-3920 +8450 +6272 +7813 +-6481 +-6892 +3791 +7088 +6358 +6395 +-7898 +3326 +-9451 +6714 +-9540 +-9545 +-676 +-2160 +-1257 +-2913 +239 +4009 +698 +-3179 +3757 +5955 +-2842 +-3441 +5622 +2575 +-60 +-4168 +-2992 +-6035 +2173 +-6671 +-9339 +-2130 +7958 +8603 +-6992 +3416 +2493 +-8111 +-6276 +-1922 +-2619 +-3769 +-5651 +7170 +2482 +-9482 +-7169 +7730 +3892 +112 +9523 +2970 +5626 +-9274 +493 +-4288 +-6928 +8562 +-9673 +203 +6855 +7555 +-3101 +8632 +-2681 +-7918 +2524 +1346 +3732 +3633 +3193 +9362 +9756 +-9215 +2971 +7423 +-631 +6554 +3021 +-5894 +6334 +2401 +-6923 +-8763 +-3262 +-9024 +6255 +3640 +-2416 +-8900 +-7235 +7513 +3613 +-7531 +6439 +2451 +5968 +-8184 +6227 +3309 +-3098 +-4936 +3140 +-5393 +8075 +7613 +-5644 +-7833 +-8421 +7901 +-4498 +-9238 +7088 +6667 +3383 +6834 +8299 +-2003 +1263 +2761 +8033 +2160 +-6724 +367 +-7330 +9790 +6914 +1244 +-462 +942 +-543 +8230 +9309 +2099 +-5508 +-4655 +-9320 +8585 +757 +-8236 +-750 +9486 +-6451 +-619 +-1067 +-6626 +3424 +-1499 +-8916 +1569 +5599 +9954 +2963 +-4920 +5345 +-1794 +5456 +2465 +-2865 +544 +4323 +-5150 +-5435 +7979 +-7389 +7241 +742 +9432 +-480 +7892 +-9161 +-4061 +-3739 +1688 +3209 +2446 +9215 +-6633 +4199 +3960 +4715 +-8563 +-1959 +4858 +-6413 +7035 +-2415 +9601 +-4345 +-5665 +-5420 +8105 +6573 +-6830 +7434 +-7225 +3310 +7756 +6761 +2671 +-814 +5427 +9482 +9296 +-3597 +-3474 +5585 +-8595 +8566 +9707 +-6653 +2801 +9128 +-6563 +-3580 +-44 +-8685 +7194 +9574 +9206 +-9844 +2665 +9609 +-6230 +-4985 +-7025 +-9590 +8238 +5032 +3463 +-6285 +4976 +5229 +-5342 +4619 +5023 +8338 +1332 +9793 +7220 +9215 +3679 +-3710 +2411 +1661 +-3909 +-4951 +7311 +-9056 +-8659 +3729 +8582 +5925 +5755 +-7469 +-567 +9312 +6824 +5758 +4996 +2999 +-2511 +6522 +-4594 +4307 +-9233 +446 +-8034 +73 +-4915 +7140 +5810 +6801 +-2965 +9203 +-9981 +-7633 +-4363 +4299 +-6162 +-9958 +7714 +-6883 +6395 +4217 +-7493 +-621 +-2070 +4450 +-4490 +-7506 +-9220 +3054 +4773 +3656 +-6890 +2377 +-6407 +7045 +8061 +7368 +5594 +4544 +-7787 +-1598 +-1398 +-8288 +2742 +8979 +888 +-1043 +-7695 +4473 +5280 +2535 +-4499 +58 +1406 +-9038 +-928 +-251 +597 +-7242 +-3146 +3638 +-4987 +5205 +3140 +-7152 +9618 +7935 +-5588 +-996 +3882 +3304 +2539 +1374 +-8182 +-4411 +-8157 +-8247 +-5516 +-9146 +9656 +-1615 +-6745 +-6867 +-9649 +4475 +-516 +-4713 +4301 +-9649 +9362 +-2792 +-1108 +3393 +8258 +-2230 +-8468 +3303 +1563 +7059 +-1122 +-923 +31 +376 +-2918 +3522 +-2511 +7126 +-962 +9995 +4858 +3414 +5964 +-7650 +645 +-2878 +79 +-2678 +4189 +6077 +2809 +4078 +-2814 +-2323 +4846 +-6509 +-7126 +4286 +4584 +7619 +-2424 +-6318 +3507 +8562 +6214 +5004 +5484 +1147 +8002 +4619 +-6097 +6145 +6619 +-8482 +1528 +2057 +3619 +-4932 +2512 +-1974 +-8537 +7813 +9299 +8547 +8737 +-8275 +-3789 +-9981 +5099 +-3548 +8050 +-6109 +3707 +-1767 +9901 +8387 +2197 +6725 +5173 +-4553 +8195 +507 +358 +2608 +-2987 +9249 +-1046 +-3827 +-871 +4874 +7590 +7513 +-2230 +3009 +-2753 +7398 +2814 +287 +-240 +-1055 +3956 +-4516 +-2807 +2096 +9985 +2228 +7369 +2200 +2972 +-7815 +-9291 +1361 +-6450 +1458 +-5241 +-3053 +9021 +2496 +-3562 +-6953 +-568 +-6625 +-1043 +-3681 +-2865 +-186 +3405 +-1036 +1689 +8195 +-4623 +-9748 +415 +3297 +8178 +-1863 +-7628 +6761 +-1388 +1284 +5728 +321 +58 +8547 +-5100 +7127 +73 +-9948 +-9592 +-4451 +140 +5485 +-2633 +-6707 +4977 +3397 +7964 +5008 +-6769 +4528 +-389 +1411 +-5511 +7588 +2749 +-8783 +5407 +-1823 +8195 +-2647 +-7572 +-7290 +367 +-4914 +8455 +1305 +-5891 +-2780 +-2065 +-9928 +-9328 +-8125 +4539 +-8637 +682 +-7413 +-4088 +-4045 +3729 +-2120 +-6593 +6682 +2590 +-6434 +2403 +-9271 +-9077 +5859 +800 +-7496 +-1229 +2443 +6147 +5274 +5952 +-3827 +-5631 +-1762 +-7311 +3444 +-531 +-9516 +1591 +6681 +-6027 +4388 +-8300 +-1019 +-1339 +9279 +241 +6779 +6159 +5460 +8839 +-4763 +-8597 +5982 +-7458 +-3982 +7368 +-9486 +-6933 +6055 +3304 +8575 +-1557 +-1499 +-8416 +-4591 +9756 +-8937 +-8243 +-1712 +-5614 +-4100 +9320 +1616 +-6806 +-9746 +3590 +-5026 +2712 +8870 +445 +-6075 +2173 +9519 +-8984 +4397 +-3940 +5064 +-343 +-8393 +8870 +-5924 +611 +-8833 +4619 +9535 +6343 +-1108 +-4948 +-6240 +-6582 +4451 +6895 +39 +2133 +-3990 +-2918 +818 +-917 +7456 +9178 +-6593 +-8034 +-2750 +2679 +-514 +1464 +5913 +-155 +1801 +-2498 +-112 +-5925 +-7320 +-6933 +5468 +7449 +-381 +1156 +6258 +-3909 +4099 +7858 +2015 +-2053 +-8852 +-6970 +-1081 +-8426 +-7373 +6133 +-5538 +6590 +2647 +6429 +-5026 +-1938 +-3655 +-3053 +4385 +-8677 +7293 +-6762 +-8798 +1000 +-3841 +-1409 +-5826 +-4594 +-5860 +-2584 +-579 +6233 +1554 +3989 +8498 +-2297 +8946 +-2555 +2590 +3507 +1557 +8093 +-7644 +5123 +510 +2029 +-6688 +3686 +9557 +653 +-203 +3372 +4164 +58 +2228 +2442 +3259 +8060 +3540 +-9018 +1371 +2102 +-6044 +-9539 +3463 +-8377 +4517 +1726 +-9322 +758 +7939 +4112 +-2371 +4917 +-5161 +6055 +5204 +8105 +-9671 +9075 +637 +-3841 +7368 +3143 +4889 +-2008 +5999 +-5374 +-5045 +-1283 +8328 +-6766 +191 +4497 +6059 +6681 +-867 +-1398 +-3418 +-1442 +-8928 +7785 +4357 +2816 +-9734 +-3400 +-1780 +-7768 +-3628 +9069 +6981 +8227 +3869 +-967 +-5360 +-1531 +3564 +-8684 +-516 +-205 +-7369 +-5590 +-1991 +-9539 +5098 +2224 +2496 +3883 +-158 +7032 +187 +-9634 +-7971 +-3717 +-2224 +8203 +7958 +9204 +-8575 +9413 +9777 +7053 +-2459 +1974 +3091 +-6624 +5337 +-9108 +2200 +-740 +-9106 +-9896 +9523 +-487 +4701 +6832 +1516 +8455 +8582 +-5722 +4983 +194 +6629 +-4313 +958 +3261 +6414 +958 +8764 +1564 +3638 +-7159 +-6230 +8892 +-4845 +-6795 +7756 +-958 +6726 +6604 +-6063 +4541 +-5051 +-2257 +-1941 +-4230 +9070 +7726 +6904 +-6172 +-4481 +-5769 +-6039 +-1194 +9910 +4823 +-3440 +2970 +-209 +3087 +8515 +6466 +8072 +6301 +9804 +-8836 +9115 +9029 +-9841 +6866 +1702 +-6124 +-7448 +-7435 +707 +-4012 +4080 +-1842 +838 +6400 +2005 +9574 +-5999 +-8300 +-3078 +-7710 +8193 +-2272 +2048 +1324 +-5699 +-4473 +4787 +6303 +7063 +7167 +8178 +-8882 +-7946 +-5320 +5625 +8143 +-8620 +-5116 +8958 +-9677 +200 +-5860 +9826 +-6465 +8525 +3441 +4138 +-2915 +8557 +-9454 +-1089 +-4219 +4032 +9910 +5926 +-1098 +5394 +973 +6701 +-2317 +2743 +-5026 +-1547 +-6671 +2975 +5448 +-8351 +-5738 +-8526 +6619 +8562 +597 +8656 +-4981 +1487 +-6400 +-7850 +-8917 +-2151 +9532 +-3454 +7598 +6179 +7001 +-1549 +8728 +7233 +6366 +4617 +1594 +-1325 +1383 +-996 +-9798 +3960 +-9831 +-3346 +-6126 +-9943 +-4184 +-6624 +-6863 +8127 +7657 +8470 +6590 +3978 +9347 +9523 +874 +-7440 +-5744 +-6127 +-6427 +-3181 +9129 +9052 +6209 +-513 +-2029 +-2305 +-3529 +5625 +-9843 +9591 +1804 +-9995 +-9146 +1488 +2211 +-4749 +3218 +-2792 +2875 +5266 +1220 +9099 +6791 +-7991 +1143 +-8278 +3686 +-8512 +-408 +7249 +4276 +5123 +4229 +-5161 +-7912 +-2878 +-6055 +2483 +-1203 +-731 +2910 +7481 +3015 +-1148 +-3461 +4215 +-8014 +-43 +64 +-2500 +146 +-4593 +9432 +-8769 +-9234 +9298 +3676 +-1572 +5293 +-5868 +-6191 +-9843 +9170 +2744 +6557 +-2344 +9979 +-7283 +-1702 +9384 +-5412 +-532 +4781 +9633 +1281 +-4172 +4838 +-8385 +-7896 +-2989 +-1042 +-5469 +-1757 +2979 +-2392 +-760 +3126 +5148 +-4260 +-413 +-2644 +-6091 +-9456 +7884 +-2616 +-9073 +-9604 +-1879 +7756 +-41 +108 +-2543 +-9868 +9408 +-3562 +-1659 +6583 +-9117 +-4617 +707 +-7344 +-3672 +33 +9520 +536 +-483 +907 +5535 +-2876 +3021 +482 +1593 +-1466 +-3166 +-7916 +5009 +-5074 +4823 +-6367 +-7702 +-2039 +9172 +2649 +-3848 +1046 +7349 +7185 +9813 +-5826 +9300 +-1478 +9657 +-4071 +-4354 +-5227 +-2987 +-6941 +2752 +-492 +-9436 +-9499 +2198 +-1305 +-8221 +-106 +7482 +-1250 +-3334 +-5125 +-5204 +6848 +-8939 +-6134 +4610 +-3104 +-335 +-7156 +5834 +-7896 +-3181 +9800 +9348 +-8222 +-7889 +8494 +9239 +-539 +5106 +5578 +188 +3676 +-1697 +8976 +494 +1765 +-4931 +-2808 +9863 +-7214 +-3708 +-674 +-4196 +6899 +-2792 +2513 +6914 +1812 +4278 +647 +9601 +5099 +-1668 +-5690 +-6052 +7149 +-1550 +-1919 +6863 +5270 +-9649 +6628 +-5710 +7016 +5814 +8601 +-5946 +874 +4331 +-26 +4144 +926 +-2505 +-1017 +7346 +-1381 +-7809 +5072 +-6613 +3419 +812 +-1753 +-1403 +44 +5782 +-8917 +3009 +-6160 +-290 +-1515 +-9888 +-6721 +-4232 +544 +-6856 +-7126 +-7683 +798 +8533 +-2826 +909 +9329 +8533 +-8515 +3635 +8105 +3637 +-4959 +1181 +1226 +-4622 +-9970 +850 +-239 +1971 +5905 +-8637 +9239 +-9612 +-7085 +3297 +3823 +-1135 +-4617 +8819 +-5482 +4283 +-6326 +9618 +-9446 +9300 +65 +7016 +-2758 +6695 +-6574 +-4288 +2689 +8601 +-6055 +3460 +5983 +3194 +5440 +8889 +1173 +3120 +-5318 +9107 +-4682 +5035 +1143 +7032 +-1046 +4572 +4544 +4888 +-516 +9160 +-5788 +-4022 +-3113 +5742 +3974 +-6027 +-1764 +-8921 +-8774 +8278 +-3848 +5638 +-7394 +9134 +-6436 +6128 +-7518 +1445 +-6569 +-6509 +-3580 +7855 +5825 +-1010 +-7531 +2174 +9744 +3925 +-8418 +4059 +-7218 +7873 +4158 +4170 +-1505 +-3272 +1516 +-4371 +5036 +9910 +-1936 +-8385 +-9128 +7700 +2141 +-2561 +8794 +5275 +-4223 +-4877 +3463 +7757 +-2500 +3416 +-5401 +-4700 +4401 +-8873 +-38 +3496 +1855 +-220 +-6308 +-3268 +-8624 +-2205 +-467 +-9040 +-4367 +-8521 +-6622 +-6446 +-2008 +7213 +-4077 +-7771 +8820 +-6346 +1970 +8027 +3522 +6408 +-3941 +-840 +2089 +-8823 +-7910 +7506 +-9002 +191 +879 +-5983 +-5026 +8734 +-4799 +1308 +7966 +-1335 +-4819 +9300 +9484 +-5127 +-6463 +4732 +-4749 +7969 +-6562 +866 +2733 +-2515 +-5819 +904 +-830 +4435 +3366 +-3987 +2669 +-6050 +4572 +-4156 +-5458 +3869 +-5752 +-5875 +-20 +71 +-9409 +-5309 +1682 +-1034 +-9905 +3990 +-7666 +-1043 +-2451 +8677 +2174 +-2297 +-8718 +-4394 +9720 +1027 +-5856 +-4137 +-630 +8480 +6148 +-2776 +9285 +1332 +-574 +-5484 +-3108 +4008 +4722 +9347 +-6446 +7226 +-5982 +-4499 +-5401 +-3663 +5402 +296 +-9355 +-4992 +2171 +32 +-1112 +8873 +-7908 +9535 +-1436 +-6993 +-5173 +5599 +-4771 +3379 +7813 +4773 +-5211 +1690 +-3486 +-8674 +8633 +-1577 +-8678 +1605 +-3198 +-6448 +-7572 +-1704 +4142 +-6073 +-1743 +9550 +-7085 +2370 +-7008 +6912 +-4673 +5638 +2943 +-9903 +4358 +8764 +9720 +6963 +-8309 +5468 +-1296 +-2616 +-7527 +162 +-8845 +-2014 +5850 +7963 +3576 +9790 +6343 +6959 +8299 +3253 +-6291 +-2867 +6590 +-2089 +9584 +-6203 +7990 +2886 +4652 +-4071 +8839 +6089 +2937 +-1728 +6060 +4499 +-5512 +1573 +-3812 +5362 +-6465 +469 +-8920 +-4012 +3775 +2318 +-4036 +-6409 +1823 +-29 +-1925 +2188 +7282 +-4418 +3990 +8165 +-9907 +7823 +-7676 +1026 +1379 +-1010 +-8243 +-5737 +9205 +-1578 +-6390 +4968 +-9277 +3042 +9789 +4576 +2276 +7573 +4099 +-5794 +2442 +3629 +9218 +6087 +-7106 +6653 +-3357 +-7946 +-1369 +-6211 +3883 +2787 +-7709 +-867 +4034 +5617 +9749 +5920 +-4350 +-8444 +-5211 +-2417 +-723 +-7899 +-5876 +9643 +-1289 +-5903 +-8504 +-7786 +4646 +-1744 +6163 +6972 +1781 +58 +-1628 +6771 +-9264 +9663 +-8924 +3805 +247 +-9454 +2436 +-9477 +-8180 +-8216 +7114 +-6570 +-6103 +-9597 +5980 +-5668 +4128 +-7439 +121 +4368 +8998 +-2796 +1480 +-8692 +-4001 +-100 +-546 +-3253 +1765 +-5104 +-2387 +4216 +-8669 +4412 +-2505 +2088 +-2338 +8875 +7686 +1388 +4176 +-5161 +-7396 +7767 +-9295 +7702 +-8281 +1557 +1631 +0 +-814 +-5848 +88 +-3192 +1817 +-3071 +-6815 +9546 +2935 +8834 +-8345 +-1406 +-4902 +-4653 +779 +-1370 +-8684 +7431 +-631 +6854 +-4012 +6044 +-5418 +1938 +-3912 +7837 +-1350 +-7245 +2442 +8234 +4059 +827 +8033 +4171 +-6965 +-3928 +5456 +-9518 +9067 +-4088 +321 +1837 +-9928 +5974 +-7182 +-5392 +2595 +8196 +-4990 +-7126 +8279 +-5095 +-2303 +-4858 +5089 +2077 +8151 +6682 +5286 +-8300 +2670 +-5600 +-3386 +4589 +8108 +901 +7209 +-385 +-8367 +928 +8960 +1800 +8432 +6583 +8454 +-3785 +-1637 +5974 +5172 +2540 +4059 +4906 +7237 +-6568 +-1106 +-8047 +-7504 +-9706 +7736 +5098 +5617 +-9395 +-8395 +-8107 +2328 +1593 +2616 +-60 +5992 +-951 +-7076 +241 +-704 +446 +3784 +-9512 +-2306 +1485 +-3376 +-3080 +-6502 +1281 +-9844 +-7428 +-2665 +3901 +9656 +-3452 +3265 +-6562 +-1828 +-1905 +7246 +-7025 +3550 +7067 +8883 +-5605 +-481 +1608 +-8852 +-8337 +-5243 +-583 +2853 +284 +5120 +2792 +-5637 +6389 +411 +-4814 +8783 +-6219 +-2323 +9785 +4029 +-720 +-2191 +1388 +8304 +-3241 +-1925 +2084 +-1572 +-6272 +-7946 +-8037 +6256 +6256 +-9516 +-2236 +-2505 +7218 +-9546 +-6006 +-9617 +-7786 +2343 +8661 +-9231 +-1430 +707 +-9312 +7889 +-2431 +-4709 +3372 +3555 +3043 +2115 +-2102 +-2645 +-7552 +-3856 +-1220 +7246 +3629 +-9995 +-9706 +-962 +-8647 +-7795 +6619 +-5881 +-5654 +-2275 +5877 +-6272 +-1190 +5961 +980 +-8570 +8220 +2191 +3441 +231 +1621 +-5418 +4630 +6125 +7114 +5601 +8061 +-8712 +4435 +6815 +4572 +-4261 +3164 +-7244 +954 +-406 +1199 +-2631 +-1991 +1827 +-6688 +4941 +7073 +6240 +7784 +-5995 +-7426 +9065 +4027 +8174 +-2627 +-2987 +9995 +4212 +6452 +-5228 +-9051 +2039 +5626 +-5999 +2687 +-4545 +7423 +6301 +1682 +8674 +-8474 +8669 +6253 +329 +-7476 +593 +6655 +7388 +55 +-9 +4635 +-1753 +-2523 +-7064 +-5996 +-807 +-3272 +7400 +-2211 +-9454 +6187 +-7412 +-2381 +1555 +-2758 +1339 +5402 +8105 +-2245 +-4618 +5631 +-3548 +-8157 +-8686 +6834 +-4707 +8566 +7385 +-9286 +-2381 +-7493 +382 +-3199 +2766 +-2792 +8684 +-6398 +-4764 +-2307 +1494 +6518 +2036 +-5788 +-5351 +4962 +5337 +1807 +6920 +-6538 +3553 +8613 +5563 +-8048 +-3566 +-8222 +-1517 +5800 +-2700 +3048 +-4022 +-8373 +1618 +-7432 +-6191 +926 +9877 +3323 +-549 +-4684 +-1222 +2761 +-251 +9109 +-9853 +3883 +-2046 +1466 +6150 +-8953 +4539 +6791 +7583 +-6920 +345 +1605 +-8892 +-4644 +-1914 +7140 +6854 +2883 +-3540 +-2194 +1167 +-1311 +-898 +-2346 +1061 +9001 +3897 +9903 +2325 +-5644 +-5761 +-629 +5608 +-7656 +3687 +-6226 +-5182 +-5182 +4646 +-5466 +4068 +5921 +-7432 +-9889 +-4570 +9174 +-386 +1636 +-5859 +7927 +-7324 +-8125 +-5243 +4289 +-9721 +-7419 +-442 +-6574 +7169 +-5722 +-9596 +1577 +-2091 +-545 +5755 +6806 +-9756 +-7694 +-4575 +-4898 +-6091 +-6556 +5506 +-2700 +9382 +-9133 +-7575 +-1754 +8619 +5183 +-2575 +2682 +-912 +67 +-8045 +-7647 +-6090 +-134 +-8712 +-6509 +-1387 +-2343 +2173 +-6409 +-4913 +6651 +9669 +-5596 +-1930 +4034 +-1289 +6873 +9124 +-2248 +5300 +3823 +-1370 +-6347 +9951 +-9465 +-1393 +9001 +8195 +2706 +7516 +9518 +-3559 +-549 +6842 +-3049 +9515 +-7640 +-5690 +1153 +3090 +86 +564 +1375 +4865 +8789 +-3268 +9697 +3493 +-159 +3447 +-6438 +5105 +5764 +7379 +-5093 +-7871 +2913 +8299 +-5162 +1729 +-7442 +4298 +890 +2497 +-2812 +-9292 +8673 +-9240 +663 +-3672 +-9831 +-3975 +9754 +-9903 +-8575 +-415 +-7680 +-2890 +3719 +8312 +4117 +-8534 +454 +6218 +1083 +-8512 +1757 +6428 +8298 +1199 +8806 +-740 +-8418 +7686 +-3776 +-97 +-1325 +5181 +-525 +-569 +7619 +7868 +7842 +-4041 +-6385 +7155 +-3549 +-8540 +-7106 +2139 +-997 +-8015 +707 +-4741 +-1401 +-6871 +859 +9792 +5020 +-1916 +-6693 +2955 +-7671 +-3827 +6061 +-7841 +-7537 +-5925 +9273 \ No newline at end of file diff --git a/main.cpp b/main.cpp index 8ab7e53..e68a09d 100644 --- a/main.cpp +++ b/main.cpp @@ -1,89 +1,92 @@ +#define OLC_PGE_HEADLESS #define OLC_PGE_APPLICATION #include "pixelGameEngine.h" -#include "olcutils.h" using namespace olc; -class Example : public olc::PixelGameEngine -{ -public: - Example() - { - sAppName = "Example"; - } - -public: - bool RayVsRect(const vf2d ray_origin, const vf2d ray_dir, const olc::utils::geom2d::rect target, vf2d&contact_point, vf2d&contact_normal, float&t_hit_near){ - - contact_normal = { 0, 0 }; - contact_point = { 0, 0 }; - - vf2d t_near = {(target.pos.x - ray_origin.x) / ray_dir.x, (target.pos.y - ray_origin.y) / ray_dir.y}; - vf2d t_far = {(target.pos.x + target.size.x - ray_origin.x) / ray_dir.x, (target.pos.y + target.size.y - ray_origin.y) / ray_dir.y}; - - if (t_near.x > t_far.x) {float b; b = t_near.x; t_near.x = t_far.x; t_far.x = b;}; - if (t_near.y > t_far.y) {float b; b = t_near.y; t_near.y = t_far.y; t_far.y = b;}; - - if (t_near.x > t_far.y || t_near.y > t_far.x) return false; - - t_hit_near = fmax(t_near.x, t_near.y); - float t_hit_far = fmin(t_far.x, t_far.y); - - if (t_hit_far < 0) return false; - - contact_point.x = ray_origin.x + t_hit_near * ray_dir.x; - contact_point.y = ray_origin.y + t_hit_near * ray_dir.y; - - if (t_near.x > t_near.y) - if ( 1.0f / ray_dir.x < 0) - contact_normal = { 1, 0 }; - else - contact_normal = { -1, 0}; - else - if ( t_near.x < t_near.y) - if ( 1.0f / ray_dir.y < 0) - contact_normal = { 0, 1 }; - else - contact_normal = { 0, -1 }; - - return true; +struct Data{ + int value; //Number. + int position; //Current position in the list. +}; - +int main() +{ + std::ifstream file("input"); + std::vectororiginalSet; + std::vectornewSet; + while (file.good()){ + std::string line; + std::getline(file,line); + //std::cout<0){ + Data*data=new Data{std::atoi(line.c_str()),(int)originalSet.size()}; + originalSet.push_back(data); + newSet.push_back(data); + } + } + for (int i=0;iposition; + Data*temp=newSet[pos]; + int shift=val->value; + while (shift!=0){ + if (shift>0){ + //Move it to the right of the list. + int newPos=(pos+1)%newSet.size(); + /*std::cout<<" Swap "<value<<" ["<position<<"]"; + std::cout<<" with "<value<<" ["<position<<"]"<position=newPos; + newSet[pos]->position=pos; + shift--; + pos=newPos; + } else { + //Move it to the left of the list. + int newPos=pos-1; + if (newPos<0){ + newPos=newSet.size()-1; + } + /*std::cout<<" Swap "<value<<" ["<position<<"]"; + std::cout<<" with "<value<<" ["<position<<"]";*/ + newSet[pos]=newSet[newPos]; + newSet[newPos]=temp; + newSet[newPos]->position=newPos; + newSet[pos]->position=pos; + shift++; + pos=newPos; + } + } + /*std::cout<value<<" ["<position<<"]"; + } + std::cout<{originPoint+velocity,5},olc::utils::geom2d::rect{{32,32},{64,32}})) { - originPoint+=velocity; - DrawCircle(originPoint,5); - } else { - DrawCircle(originPoint,5,RED); + for (int i=0;ivalue==0){ + zeroVal=newSet[i]; + break; } - DrawLine(originPoint,GetMousePos()); + } - DrawRect({32,32},{64,32},RayVsRect(originPoint, GetMousePos()-originPoint, olc::utils::geom2d::rect{{32,32},{64,32}},contact_point,contact_normal,t_hit_near)&&t_hit_near<1?YELLOW:WHITE); - return true; - } -}; + int offset=(zeroVal->position+1000)%newSet.size(); + int offset2=(zeroVal->position+2000)%newSet.size(); + int offset3=(zeroVal->position+3000)%newSet.size(); + std::cout<<"1000: "<value<value<value<value+newSet[offset2]->value+newSet[offset3]->value; + std::cout<<"Sum: "<