diff --git a/src/main/kotlin/me/gergo/Aoc20.kt b/src/main/kotlin/me/gergo/Aoc20.kt new file mode 100644 index 0000000..5f0aaae --- /dev/null +++ b/src/main/kotlin/me/gergo/Aoc20.kt @@ -0,0 +1,100 @@ +package me.gergo + +import java.io.File + +fun main() { + val mixedNumbers = File("src/main/resources/input20.txt").readLines() + .map(String::toLong) + .map { it * 811589153 } // Part Two - apply decryption key + .map { NumberList(it) } + + mixedNumbers.reduce(NumberList::add) + mixedNumbers[0].loopWith(mixedNumbers[mixedNumbers.size - 1]) + + for (i in 1..10) // Part Two - mix 10 times + for (n in mixedNumbers) { + // Doing a `mod size-1` to speed things up + n.moveBy(Math.floorMod(n.value, mixedNumbers.size - 1L)) + } + + val zero = mixedNumbers.first { it.value == 0L } + val result1 = zero.next(1000).value + zero.next(2000).value + zero.next(3000).value + println("Sum of coordinates: $result1") +} + +private class NumberList(val value: Long) { + private var prev: NumberList? = null + private var next: NumberList? = null + + fun add(other: NumberList): NumberList { + next = other + other.prev = this + return other + } + + fun next(steps: Long): NumberList { + var result = this + for (i in 1..steps) result = result.next!! + return result + } + + fun prev(steps: Long): NumberList { + var result = this + for (i in 1..steps) result = result.prev!! + return result + } + + fun loopWith(tail: NumberList) { + this.prev = tail + tail.next = this + } + + fun moveBy(steps: Long) { + if (steps > 0) { + moveAfter(next(steps)) + } else { + moveBefore(prev(-steps)) + } + } + + private fun moveBefore(other: NumberList) { + if (other == this) return + remove() + val prev = other.prev!! + prev.next = this + other.prev = this + this.prev = prev + this.next = other + } + + private fun moveAfter(other: NumberList) { + if (other == this) return + remove() + val next = other.next!! + other.next = this + next.prev = this + this.prev = other + this.next = next + } + + private fun remove() { + val prev = this.prev!! + val next = this.next!! + prev.next = next + next.prev = prev + this.prev = null + this.next = null + } + + override fun toString(): String { + val buf = StringBuilder() + var current: NumberList? = this + while (current != null) { + if (current != this) buf.append(',') + buf.append(current.value) + current = current.next + if (current == this) break + } + return buf.toString() + } +} diff --git a/src/main/resources/input20.txt b/src/main/resources/input20.txt new file mode 100644 index 0000000..9cd85a5 --- /dev/null +++ b/src/main/resources/input20.txt @@ -0,0 +1,5000 @@ +-8794 +-1700 +-8487 +8795 +-1932 +-5183 +-5227 +-9549 +4816 +-5566 +9652 +3828 +9602 +-525 +-5646 +-5660 +8347 +-5663 +-1273 +-7147 +-853 +-5322 +2875 +-7867 +1841 +-805 +7606 +363 +-450 +-1549 +-2665 +-4128 +-9935 +-2058 +-4700 +-3215 +9254 +-8432 +6187 +-211 +-3385 +-115 +7735 +-8827 +8849 +2881 +-6477 +7766 +1761 +-3336 +-5713 +4073 +-121 +-3239 +8876 +7450 +-504 +-4176 +1916 +6862 +5820 +-6494 +511 +-9183 +183 +-625 +-1840 +-913 +3129 +3183 +6251 +9481 +-5240 +-4986 +1051 +-8043 +-1662 +-7108 +5949 +3487 +1299 +5850 +897 +-1290 +1001 +-2632 +7632 +-6259 +-759 +4833 +-4327 +879 +6249 +9436 +-7269 +8866 +-4652 +-1875 +2655 +-361 +-4377 +3854 +9345 +-4762 +3021 +1187 +4277 +1281 +2406 +-4704 +940 +5620 +-2550 +-8465 +-5976 +4370 +-8938 +-636 +3694 +-1581 +-6184 +-3924 +-2186 +-2351 +8906 +-3137 +1154 +127 +-1907 +-5797 +6916 +8686 +9496 +-116 +-1624 +3708 +3392 +7375 +3631 +7920 +-1671 +-2927 +3521 +-9575 +-8499 +-2555 +-6926 +8847 +-4075 +8857 +9517 +-8632 +7360 +-7744 +-9456 +5425 +4181 +8691 +1703 +4783 +-9067 +-8775 +-2228 +-1176 +-7219 +-3159 +5729 +7466 +3391 +-5111 +-1484 +9 +574 +876 +-9991 +5660 +-5302 +-6231 +8831 +6747 +9103 +7576 +9081 +7102 +-8075 +-5 +-3956 +-5425 +4820 +9136 +7925 +9205 +5339 +-6895 +-7730 +6210 +-109 +-284 +-6356 +-6349 +1364 +8267 +-9410 +7173 +9631 +4718 +9858 +-6971 +-3800 +8538 +7753 +-9035 +96 +-9356 +-7901 +375 +3052 +-1676 +6577 +-3528 +8162 +-6582 +1121 +-3066 +1650 +-1854 +4400 +8739 +1255 +-4530 +-3839 +4783 +4742 +2762 +-5216 +-1853 +-2238 +2120 +-9654 +-6973 +1975 +-6492 +-6050 +6736 +-5640 +-5625 +-6105 +-1351 +-4592 +3932 +9241 +-7621 +-9578 +-7647 +-4157 +428 +4820 +3377 +3675 +2493 +1971 +8519 +7 +5038 +3799 +-9953 +-3503 +2977 +1519 +7016 +-3094 +1193 +-1099 +4169 +-3336 +-5260 +-9133 +6279 +7970 +3101 +3713 +8503 +-3883 +8829 +-1875 +1231 +-8146 +8825 +-4866 +2823 +-765 +-3362 +6555 +-5277 +7574 +7167 +-2195 +-2330 +-8012 +3459 +6197 +7887 +6058 +877 +-873 +47 +-9047 +1212 +-9227 +1598 +-1599 +-576 +1248 +-6329 +-1639 +3536 +-5621 +-5666 +5905 +5502 +-3437 +-3029 +-8777 +2617 +1938 +-9680 +9687 +-6147 +4058 +-3665 +670 +-8029 +8598 +5038 +-5623 +-5828 +-8104 +-8774 +-127 +-562 +-4013 +158 +8814 +-3500 +-6217 +-5740 +9248 +3603 +-7742 +-3727 +-6220 +8520 +3625 +3568 +-5020 +-6996 +1586 +-2850 +-2731 +-8050 +8786 +-4402 +-4175 +6518 +-6177 +-3571 +7162 +5391 +-7657 +-5393 +-3030 +-33 +2871 +-1874 +7401 +-1008 +-514 +-2058 +1061 +3360 +977 +-6433 +7242 +9481 +8020 +2033 +8599 +4714 +6472 +84 +7456 +4187 +-9500 +3915 +9228 +9194 +7236 +5280 +-6461 +6659 +-8964 +-1240 +5795 +-9467 +-2597 +-6039 +3398 +4230 +-8630 +5000 +1919 +4993 +-130 +-2361 +2616 +9201 +-489 +-2488 +5936 +7039 +6672 +-7941 +1707 +-9969 +3266 +8365 +-9223 +-3976 +-4090 +2029 +-8630 +3101 +2907 +-1173 +4983 +-5885 +-8292 +-5736 +7780 +-8029 +6612 +-190 +-5650 +8377 +-9989 +3307 +1341 +-3383 +-2697 +6317 +6168 +-34 +-6272 +9 +3607 +-8540 +-956 +1206 +2928 +977 +-7481 +1541 +-8291 +-425 +-8046 +3766 +-6908 +-1916 +-9362 +5576 +7039 +3632 +-6660 +6046 +-3021 +4881 +6405 +-2046 +7231 +-3852 +172 +8860 +7252 +4049 +-8862 +-3717 +9872 +-1387 +1366 +5660 +-401 +-5828 +-9898 +-985 +1586 +1011 +-7580 +1760 +1272 +-1203 +-4681 +2157 +-4240 +1526 +2291 +3078 +-827 +1827 +5328 +-6988 +-2927 +8414 +4781 +-6971 +713 +7803 +5873 +7330 +5828 +8296 +1589 +4649 +-294 +-9398 +7903 +116 +3666 +-4939 +-7040 +-8303 +-4317 +-9174 +7224 +-4487 +-6359 +3650 +-3956 +-90 +-8226 +4829 +5153 +-3161 +2294 +5391 +-8059 +-2883 +1562 +-759 +5791 +6326 +-3531 +8634 +5266 +6166 +1541 +5210 +2427 +3434 +-6441 +258 +-2514 +-8827 +-9557 +-3030 +-6358 +-7576 +-3665 +-1962 +-8750 +2515 +3193 +5784 +4742 +8848 +-579 +3577 +-4603 +9376 +-8794 +7373 +1404 +7822 +8029 +-3252 +5796 +1751 +5530 +9615 +1921 +2731 +-5495 +8481 +7819 +-6900 +-5662 +1805 +-2766 +273 +6549 +9824 +-7648 +-824 +7858 +9069 +-2883 +-7501 +1479 +-928 +-5388 +9436 +-2187 +6163 +8535 +-8024 +-2859 +111 +-9519 +8851 +-4763 +-5800 +-5322 +2164 +-5882 +-9616 +331 +-3348 +-2324 +9577 +107 +-5000 +297 +7910 +3725 +8665 +-3816 +360 +-7481 +6257 +-6408 +8296 +3398 +8478 +7195 +-1325 +-206 +8304 +-9435 +-5670 +6791 +4415 +3891 +7380 +7204 +6382 +-6305 +2835 +7664 +-8791 +-2951 +3485 +5940 +7451 +9089 +7125 +9376 +9834 +7982 +-9826 +-1973 +-3620 +8277 +-190 +-4530 +6565 +-4198 +573 +1063 +1437 +-1928 +9443 +9868 +9799 +-6973 +1618 +-2301 +-9381 +9541 +-4945 +4469 +1817 +9773 +9240 +2996 +5196 +-3274 +-3182 +-443 +-2954 +-9930 +3405 +3257 +-420 +-5698 +-5502 +-7967 +375 +8197 +-367 +5837 +-6108 +-7596 +-4043 +6068 +4042 +235 +4230 +3153 +3153 +-2017 +5597 +9393 +-8336 +-705 +666 +1353 +-6182 +-4698 +-500 +-6152 +7142 +7317 +-3177 +-8825 +-8693 +-8597 +-4094 +5808 +-3864 +-2730 +-5397 +8082 +-2106 +-3274 +2802 +-9503 +9436 +7014 +3801 +6455 +375 +-9673 +7662 +-5773 +5961 +5183 +5376 +-5032 +3714 +5613 +-3200 +-3303 +-6365 +-8469 +7407 +4882 +7929 +1519 +5406 +-6858 +879 +967 +-1394 +-5396 +4740 +-1793 +2295 +9345 +-3468 +7857 +3434 +2493 +-3878 +-1599 +-7319 +-767 +6655 +655 +-8676 +7550 +-9096 +-3962 +3607 +-718 +-1217 +9142 +4611 +2741 +3861 +-8863 +3330 +-2388 +-5191 +8567 +7806 +8644 +5382 +-4074 +1281 +-7750 +7016 +2994 +9236 +-830 +3377 +-8227 +-1808 +574 +3351 +5156 +8022 +879 +-2595 +6898 +-541 +6938 +-2332 +-1818 +3414 +-9644 +-4639 +-6359 +-153 +8628 +6405 +-5643 +-2162 +-433 +6299 +4448 +-4700 +-4340 +-4778 +-2659 +8478 +-1877 +-4448 +8346 +-5253 +2675 +7863 +9889 +2157 +-3893 +-9518 +-7501 +1281 +-6447 +2066 +-2222 +-696 +2873 +-7824 +-9565 +3647 +7942 +2152 +1405 +8384 +-1315 +2156 +-8053 +-7712 +-8927 +8527 +3834 +8717 +-2787 +-3156 +9102 +6554 +-3325 +-2953 +-3998 +5442 +-5728 +8373 +-4757 +44 +6749 +-9223 +9270 +5231 +6899 +5669 +-4568 +-1433 +6052 +-8512 +-2168 +9577 +-8647 +-6747 +6889 +2412 +-5076 +4846 +5086 +-1628 +-5309 +-9356 +8 +7 +1943 +-727 +-7222 +1170 +-6301 +4065 +3552 +-9446 +4152 +7446 +-1425 +-8450 +5793 +2005 +-1532 +7314 +-6882 +3496 +4691 +-9918 +-4042 +-4890 +5543 +7877 +-7667 +-4846 +2399 +9249 +-134 +5601 +-4957 +4493 +-1045 +-7191 +2164 +8030 +-878 +5140 +-8481 +4068 +5641 +-8284 +-935 +7588 +6870 +-1680 +-1416 +9320 +-4301 +1934 +-3239 +-9001 +9858 +-6082 +6898 +5225 +466 +-449 +3221 +-4842 +699 +2115 +2175 +-9092 +-7947 +3658 +-8013 +-429 +7350 +-3854 +3434 +-7618 +5436 +-5976 +-9542 +-8131 +2464 +-9551 +-5277 +6535 +359 +-8327 +5597 +2336 +-9271 +7775 +4663 +-6168 +-1892 +9658 +-1290 +-3338 +1005 +5378 +6177 +1429 +-9448 +-2746 +-3307 +7962 +2160 +8402 +3832 +-9742 +7920 +-3380 +5425 +8918 +9169 +-7330 +6806 +-8970 +-811 +-1525 +-459 +8659 +-1680 +-6158 +5862 +2148 +8208 +9394 +-6276 +7819 +-485 +9904 +4670 +-853 +-8916 +3338 +602 +-2353 +2047 +6191 +-5028 +2899 +504 +-4659 +-1811 +6672 +-1299 +-9329 +3708 +-5766 +-7797 +7149 +1516 +-8656 +-6919 +4072 +-4498 +-1281 +-787 +-8755 +8070 +10000 +7987 +-742 +-3750 +5344 +-5610 +-2525 +-4343 +5434 +-2033 +-6508 +-6376 +-1457 +-6522 +2157 +-231 +2531 +5205 +2433 +8445 +-3589 +-6740 +1091 +1938 +-6472 +-3589 +2581 +5822 +-3670 +-1718 +-4332 +4072 +-5125 +-9969 +4540 +-6560 +1662 +-868 +8850 +3823 +-2222 +832 +4982 +-9559 +-8229 +9685 +-1722 +5601 +7060 +8622 +9696 +375 +6672 +-574 +-5122 +6845 +8687 +2217 +2472 +8920 +-5216 +416 +-7392 +3104 +8259 +0 +-1557 +6889 +-351 +6566 +8340 +-8250 +2182 +6485 +345 +-5116 +2473 +-8594 +7116 +-9352 +2648 +-7776 +7114 +770 +8007 +1121 +8804 +2422 +9043 +2904 +-3637 +-9283 +863 +1603 +-3381 +193 +-8349 +-9930 +-6688 +-3008 +-3797 +5280 +3389 +-9869 +-1464 +3058 +1764 +-2836 +-6155 +3544 +-5640 +3669 +9619 +2895 +4026 +-9233 +5575 +5348 +-179 +1252 +2361 +-6561 +-3006 +-3908 +8502 +3290 +-7432 +4912 +-602 +713 +8469 +6874 +8272 +2813 +2084 +3567 +84 +-293 +-7390 +-64 +6983 +8270 +2116 +5806 +950 +-3798 +8849 +1468 +-9559 +1117 +9857 +4901 +-656 +-3888 +-2394 +4954 +4669 +6173 +-9491 +1962 +5095 +-3246 +2479 +-6823 +-2057 +8176 +-6408 +-7793 +-7832 +-1630 +-2604 +-8027 +-1422 +-5808 +3470 +216 +8274 +7194 +-6268 +7146 +8644 +-6305 +2321 +7819 +3829 +7144 +9797 +1973 +1760 +-8598 +-3551 +-9771 +-1798 +6486 +-5324 +7613 +8725 +9628 +2170 +2642 +-4141 +-4586 +2799 +4674 +8494 +600 +903 +-3065 +-9121 +-7974 +-5150 +3994 +7642 +1272 +-3398 +-7912 +-196 +-8686 +853 +4465 +-6884 +-5832 +1219 +4967 +9589 +-8537 +-5868 +9904 +5870 +-190 +744 +-5513 +5511 +-1027 +7655 +-9942 +-783 +-5548 +-7843 +-9055 +4331 +-5722 +2642 +7915 +8127 +2462 +-4118 +7852 +-2137 +-3839 +-5352 +8891 +6898 +-2476 +4489 +-9651 +-6779 +8554 +7872 +-5800 +4382 +-6607 +-133 +-9669 +-7543 +2677 +8586 +-4402 +-6660 +-936 +7129 +-3525 +273 +-2962 +-8044 +6887 +6386 +3819 +2471 +-9045 +-6241 +-7185 +7877 +-7732 +-9279 +7559 +-8327 +573 +4793 +-2278 +-2410 +-5507 +-2927 +8156 +-2482 +-4916 +-8062 +-8473 +-3202 +-1876 +3855 +-9913 +4863 +-7974 +8980 +-8180 +5828 +-6988 +4178 +-8481 +7429 +-8330 +6344 +6628 +4912 +5302 +8733 +7890 +-3707 +-215 +-1355 +9714 +291 +-6449 +-1714 +8891 +-8426 +1315 +-7603 +5333 +-3090 +4713 +-9584 +-1304 +-7685 +-5838 +9024 +-7823 +3061 +-8194 +9105 +-2724 +-4842 +-1325 +-7180 +6364 +3268 +-8062 +-6120 +-6141 +4927 +9609 +-3750 +-1687 +5272 +6784 +2639 +-6903 +-9859 +-6032 +454 +2256 +2675 +-2387 +-8957 +4227 +-8348 +-8126 +8237 +5515 +5879 +9057 +-935 +2199 +4103 +-7615 +6838 +-9065 +-5167 +8706 +2928 +-3556 +1035 +9464 +2534 +-3533 +-2269 +7439 +1568 +9383 +-805 +6904 +-6992 +-7295 +3599 +5908 +-5437 +7272 +-6951 +8033 +2072 +-1460 +5725 +8997 +909 +-6315 +1770 +-5277 +-7037 +-6597 +-1921 +-7313 +-4097 +1713 +6521 +9512 +767 +-9144 +-6823 +-8564 +2644 +-7749 +-7621 +1914 +-8499 +-8724 +-758 +-2359 +296 +8910 +-5646 +-2746 +3046 +1243 +5481 +9859 +-6830 +-4043 +7633 +-1058 +858 +6162 +-1269 +9577 +9558 +-7876 +8905 +5338 +5013 +-4529 +7733 +3236 +-5427 +-3385 +8959 +9349 +5276 +-3085 +-3150 +9113 +8996 +3682 +554 +-878 +-9007 +1295 +-1350 +9562 +-575 +-969 +6687 +-9039 +-9536 +-1271 +2648 +-1100 +8847 +8700 +-9203 +-3234 +8847 +463 +5442 +-1737 +-6082 +6486 +7748 +-2622 +3446 +1026 +-4402 +-6557 +8972 +8419 +-9329 +8179 +813 +-3549 +8229 +4714 +3414 +9517 +1302 +-145 +8482 +-1491 +4 +-4481 +7314 +8318 +-4856 +1950 +4249 +8857 +-862 +7504 +-1784 +-5707 +6270 +-4509 +-9271 +4970 +-5971 +5496 +-6331 +2259 +-8948 +538 +-1909 +-9476 +4405 +6212 +-3403 +-3954 +7091 +3560 +-6582 +9611 +-6505 +8440 +767 +8078 +-2153 +-5111 +-3246 +-853 +-7136 +-9338 +-6402 +375 +5104 +-7196 +-4786 +-2758 +6595 +1916 +-654 +-7703 +3915 +-7285 +6030 +4976 +-5901 +-2400 +1909 +-6801 +-4160 +8997 +-2522 +1281 +4485 +-5648 +-887 +-2746 +-4655 +6192 +-2747 +-2028 +-5116 +-7196 +70 +6234 +2868 +-2621 +5919 +3111 +9961 +1791 +9550 +1703 +-8154 +-7691 +3094 +5594 +-1028 +3571 +6273 +2309 +-7520 +-447 +8876 +2147 +-6219 +-796 +3446 +-7407 +2888 +7583 +4457 +5641 +4292 +-2939 +5118 +-7733 +297 +-8122 +4846 +3706 +-231 +2098 +-7132 +-8397 +7437 +-5646 +-1766 +8720 +1344 +-8448 +-3631 +-2758 +-2720 +-8019 +-7216 +7993 +-7410 +-6455 +5808 +-4487 +8240 +3061 +-4217 +637 +6106 +5766 +3649 +2646 +3717 +-6687 +8751 +3795 +1154 +-9518 +-7613 +-5216 +-1400 +5748 +5603 +5118 +-4992 +6747 +4976 +2235 +9558 +-7222 +6033 +2321 +9517 +-3677 +7296 +3342 +-5026 +-1215 +1958 +-6227 +736 +2713 +-1990 +-5571 +2482 +-3550 +5425 +-7974 +1500 +-196 +322 +-4793 +-5571 +7618 +-4842 +3970 +-7703 +1704 +7947 +5994 +3389 +-7807 +8245 +-5457 +4846 +9684 +7095 +5894 +-3928 +-1049 +9198 +-5015 +8835 +5029 +-7231 +7097 +-4526 +7576 +-64 +9905 +2897 +-1642 +4224 +-6498 +8538 +-9453 +-8973 +3061 +1721 +-1437 +-1415 +-3587 +5137 +6889 +-9362 +1229 +-2371 +7151 +-5455 +-2249 +-9801 +3768 +-4427 +2026 +7224 +7559 +5961 +-9537 +1975 +-9564 +-8423 +7014 +-190 +-447 +947 +-2388 +-2578 +-8842 +-64 +-8281 +-4212 +9886 +-6951 +7292 +-6708 +-520 +9295 +7273 +-668 +-6322 +-8981 +4534 +3260 +-5796 +3487 +-8594 +-3183 +7356 +-6759 +2204 +6823 +5662 +-4692 +7393 +463 +-7955 +2812 +5394 +7285 +-5370 +3076 +2634 +2167 +-6217 +3759 +-303 +4878 +6117 +5206 +6392 +5729 +2481 +8502 +-6718 +7869 +-179 +9531 +7546 +-5625 +-9884 +8255 +-7405 +-5445 +-9273 +754 +5450 +5382 +744 +-1993 +-3921 +1933 +-9801 +1598 +4049 +-573 +1994 +8198 +3322 +4 +-5228 +3463 +3000 +-5457 +292 +1064 +-198 +8840 +7456 +-2200 +-3418 +1763 +5314 +4853 +-6483 +9400 +4956 +1991 +-9669 +-1005 +1826 +9019 +7740 +9985 +8267 +-4842 +4681 +-8029 +9561 +8503 +6265 +-2057 +6118 +-7303 +4437 +-9893 +2944 +2185 +-4962 +3470 +-2467 +6874 +4311 +719 +9355 +-9418 +6250 +-671 +-6996 +5510 +978 +-8029 +-5640 +-7949 +7167 +8032 +-102 +-2033 +-5440 +8007 +8534 +4846 +-765 +9547 +4667 +1468 +-7792 +6736 +7285 +3887 +7613 +3101 +3846 +7870 +83 +3009 +-9116 +-348 +901 +2066 +7368 +28 +8830 +8466 +2539 +5329 +5492 +1880 +277 +-8751 +-6958 +-4024 +-7400 +-3350 +-524 +-2649 +6734 +2680 +8082 +-1549 +-2943 +-3942 +-1424 +6535 +1185 +6630 +-3854 +9512 +-878 +9571 +-6305 +7460 +8243 +-7321 +-5831 +211 +-4182 +-6148 +-3608 +-7292 +858 +-5196 +8465 +6163 +-4541 +-1901 +-2455 +7651 +-8228 +-9595 +-3372 +977 +9353 +6163 +2799 +2805 +-2018 +535 +-1878 +-6858 +7446 +2353 +-3418 +6190 +960 +-896 +-9362 +7393 +-5652 +-1965 +7541 +-2323 +7774 +7515 +-3315 +-1921 +9248 +-705 +262 +1811 +-561 +-594 +5276 +466 +3603 +-143 +734 +-5239 +5532 +9666 +4126 +3903 +-1628 +856 +-1522 +-9796 +2485 +-5665 +-2162 +3453 +-2658 +6472 +-5856 +-824 +7062 +4465 +-4905 +3994 +285 +-5663 +8470 +-1310 +9078 +3078 +-5111 +3629 +9032 +8632 +-3745 +-5895 +2802 +-1338 +-2497 +-9362 +4867 +6033 +3071 +1997 +4793 +6452 +-4033 +-7184 +-9969 +6964 +-13 +-8305 +5870 +6518 +-4459 +5690 +-1552 +-7234 +-2525 +8741 +-8597 +4571 +-5228 +7360 +4351 +-3468 +-9491 +-4877 +3603 +8989 +-2340 +7121 +5348 +7568 +-8993 +2834 +-7026 +-8714 +6883 +1686 +7146 +-5111 +-3383 +8174 +-7390 +-2912 +2731 +-9665 +9961 +8916 +-8820 +7373 +1399 +-5659 +4785 +1115 +-3041 +5700 +-3674 +2265 +-7431 +-2716 +-3597 +-2676 +3521 +7793 +3375 +-4672 +-1915 +-7025 +-7603 +-9764 +-5410 +8222 +5886 +7914 +-6021 +-3713 +4854 +983 +3572 +-7212 +-7430 +-3783 +3946 +6125 +1938 +-247 +-6287 +-5386 +4734 +8996 +1608 +1337 +-6009 +9793 +-7596 +-4186 +-2045 +4471 +-6937 +1652 +-964 +4788 +5864 +5442 +-296 +5433 +3600 +1779 +-2735 +6270 +2517 +-672 +-1552 +-5872 +-8792 +9611 +-1050 +-6955 +-6611 +-2859 +-3089 +7429 +3203 +8734 +795 +-1639 +-4252 +-8348 +-9274 +-3959 +-6988 +4742 +3351 +-711 +8716 +9481 +-3234 +-3708 +2418 +-2114 +-8405 +-4381 +4054 +9169 +1079 +235 +-10 +7143 +6071 +6167 +-853 +-6685 +-6131 +6718 +2448 +1170 +4314 +7886 +-8636 +1212 +-6474 +-5986 +1081 +4207 +-9470 +5921 +7379 +9311 +-269 +-4925 +-5571 +-7138 +1796 +-3359 +-2862 +-4263 +120 +-5784 +-1241 +713 +2185 +9786 +2203 +-2318 +-6234 +2736 +9445 +1901 +-119 +-7683 +857 +-1834 +2501 +3046 +-6463 +662 +-3783 +-3637 +1464 +6617 +3861 +-206 +-8254 +-4831 +3446 +1165 +9365 +7571 +-6563 +-9637 +-3285 +-4876 +-2482 +7 +-7025 +-2209 +7644 +4001 +-1416 +-447 +2215 +-8902 +-8820 +-5043 +3909 +-9045 +-685 +4356 +9102 +7808 +3025 +-2523 +-2583 +7082 +5412 +-5932 +-9989 +-5370 +-4341 +8737 +-2018 +6316 +7852 +-2044 +-805 +-6358 +-383 +-5260 +-9054 +4006 +6669 +-1404 +8691 +9626 +-8823 +-2405 +-548 +-2753 +2148 +2497 +-4724 +7588 +6162 +3600 +5783 +6794 +627 +7735 +-1625 +-5674 +-8137 +3307 +-5316 +-7499 +9213 +-971 +360 +-22 +-9698 +350 +-2374 +5784 +1063 +-2735 +-8474 +-7735 +2682 +-2100 +-5372 +4662 +2001 +2515 +-8330 +1191 +3892 +-8597 +2334 +-3719 +6766 +78 +-6792 +-557 +-5990 +4025 +8299 +8881 +-6272 +-1342 +5697 +9436 +4763 +2907 +8976 +83 +-5104 +9904 +6498 +-8672 +1255 +4964 +-2340 +-9202 +3294 +-3107 +7070 +2862 +394 +-7044 +-3004 +6755 +-8469 +-992 +-7323 +-4763 +5624 +9209 +4470 +-8871 +8127 +8465 +-6504 +-1824 +-636 +8167 +-7036 +882 +-2163 +8505 +-4772 +9219 +2066 +6703 +-3456 +1785 +-4189 +-3370 +1392 +-8701 +-6864 +-8109 +2831 +2271 +-1273 +8884 +4681 +-3716 +-5034 +-8180 +2514 +-9942 +3717 +-2340 +3789 +7544 +-6235 +9271 +-3504 +1008 +-8042 +8267 +-3266 +-6508 +-3608 +4735 +-6157 +-6624 +9541 +-6614 +-8739 +-8446 +9320 +6845 +8313 +3030 +-2177 +-271 +-3710 +-6629 +-5485 +-7621 +9485 +9248 +4124 +-6433 +-8526 +-1916 +-3651 +-7684 +1548 +3330 +4638 +-2482 +8374 +7193 +1681 +9741 +441 +48 +5540 +3471 +-2789 +-314 +2646 +-9327 +-6784 +-2332 +-6131 +8220 +1258 +-5674 +8816 +6212 +-9610 +3659 +-5116 +3652 +-8565 +-8054 +-8291 +1264 +8078 +-3018 +-3110 +9463 +-6688 +4820 +-6561 +9827 +7588 +957 +-6729 +6572 +-2168 +8574 +-827 +-1808 +-4640 +6429 +8322 +6030 +-4992 +9481 +-7946 +8934 +1032 +-5556 +-2909 +2740 +4697 +8112 +1252 +7419 +-9102 +5572 +-1623 +5820 +-5717 +6048 +9306 +-5713 +4252 +-7911 +-8531 +-341 +-4839 +-7112 +2912 +4927 +5067 +6501 +-4968 +1960 +3371 +-9530 +5063 +3353 +-4117 +-9028 +-9042 +-9673 +5113 +-2177 +-8010 +7629 +1248 +8083 +-7446 +-3004 +-1425 +7789 +-257 +4081 +-2853 +5504 +2291 +3230 +8487 +2929 +-5548 +-2740 +-9801 +6166 +742 +1667 +2117 +-140 +-1134 +7370 +2839 +8544 +4982 +2569 +4908 +8006 +-4212 +-2557 +7865 +-6551 +3204 +6049 +-6373 +7542 +-8640 +3156 +-153 +-1719 +7064 +1841 +302 +-3277 +5210 +-377 +5326 +6783 +-9858 +2676 +-3995 +6263 +-9273 +-6340 +3527 +5766 +-2995 +-9771 +4778 +8067 +3846 +-2042 +977 +-5727 +4526 +-20 +6163 +8997 +2874 +2483 +-7684 +-2826 +6824 +-6504 +-5252 +5317 +4776 +-2938 +8777 +5225 +5156 +8641 +3620 +9846 +4844 +9508 +4820 +-6485 +-2696 +7162 +1934 +-1444 +-8737 +8586 +4182 +5939 +-8042 +4488 +-4571 +-9676 +607 +-7791 +4850 +3901 +-8775 +-4781 +-5067 +9658 +-1877 +6058 +9690 +-6382 +7471 +9217 +-1374 +-3400 +7190 +-2522 +-5333 +8934 +3262 +7055 +8521 +4049 +-6125 +-8287 +7521 +-8564 +6069 +-6806 +-3468 +-7751 +1941 +9846 +-3357 +-2062 +-8519 +-8581 +3702 +9198 +-9589 +7937 +-6140 +264 +-3358 +8622 +3305 +-8146 +-6665 +-3700 +-4332 +-4175 +293 +253 +-7673 +9684 +5167 +9378 +-5659 +9494 +8706 +9688 +-3462 +-5335 +8802 +-3090 +-3483 +3920 +-8542 +7672 +-2429 +-7744 +3846 +-133 +-7876 +-7880 +-3004 +7629 +-6081 +789 +9353 +6620 +-8312 +7372 +-2809 +7284 +-7651 +-1133 +4084 +-7651 +-7608 +5507 +-5382 +796 +-6723 +-7497 +5003 +7568 +6736 +-7911 +8833 +-4278 +5886 +-8006 +-7756 +8638 +8734 +-8973 +-1209 +-3102 +-1811 +-134 +-1431 +-9132 +-7880 +7115 +-8003 +5906 +-629 +8780 +-6269 +-3063 +-205 +-7824 +5391 +-8628 +-1281 +8623 +7852 +5171 +-5070 +5831 +4096 +746 +-3059 +-4128 +-2892 +-144 +-9279 +-2753 +1172 +5966 +9818 +4124 +-6032 +9167 +6557 +9569 +-9553 +-1315 +977 +1938 +-488 +401 +4312 +4742 +-6866 +358 +-116 +3544 +8802 +7162 +-2119 +-5579 +-862 +-984 +-9654 +-5097 +8145 +9468 +1148 +-4418 +-5334 +-9698 +1815 +-4842 +9502 +-8776 +-2289 +1478 +9879 +-6372 +-3307 +-3243 +-7607 +977 +-7852 +-8620 +8236 +-9530 +-2578 +-8564 +7090 +3722 +6187 +-3714 +940 +8628 +-1034 +4783 +998 +7322 +5704 +-7988 +215 +-6494 +-4454 +-4436 +5291 +-1437 +6221 +-9095 +9688 +-488 +-4452 +3809 +-5695 +-8794 +-7173 +-3110 +6234 +6383 +3276 +-4176 +-9793 +-7084 +-9948 +55 +9296 +-6090 +7319 +-9353 +-1177 +-8042 +3062 +1264 +2536 +-9833 +5548 +6922 +-623 +9241 +-6312 +9205 +-3631 +-6544 +1281 +-450 +-4013 +-235 +-3492 +-377 +5540 +-1001 +7786 +-642 +2061 +5014 +-8003 +-3792 +5899 +-1326 +6652 +-7567 +-545 +5950 +4442 +-2289 +9393 +4045 +5449 +2185 +-6442 +-8558 +-4493 +-9673 +78 +3883 +4569 +-4624 +-1187 +-4757 +4125 +-9585 +-7752 +-3206 +-6737 +-5142 +7886 +-4321 +-4912 +-1031 +1762 +3243 +2313 +-351 +3864 +6075 +6709 +-2209 +-7966 +-9575 +-2241 +1436 +8466 +-3327 +-4829 +-6923 +6712 +-9328 +-8834 +-3455 +-1346 +2517 +7159 +1082 +-1162 +-4074 +-5241 +-8426 +3788 +-6723 +-7962 +-3791 +6486 +-3745 +541 +-5355 +394 +-7136 +-3288 +4348 +-3177 +3175 +-8994 +6964 +9904 +4670 +-7001 +4654 +2738 +-9291 +-7750 +4878 +4635 +9122 +-7033 +-6197 +-1433 +6408 +5442 +4474 +9295 +-3571 +3712 +5660 +2490 +8348 +3713 +6459 +-2488 +1264 +5791 +-8553 +3775 +5333 +9687 +-5433 +-255 +4520 +-5235 +-9890 +-8168 +-5334 +-7173 +-2748 +9824 +-7957 +8303 +7227 +-2628 +-3136 +4998 +1667 +3969 +-2909 +5673 +4526 +-398 +5121 +4915 +-2746 +-4391 +-6049 +-6151 +614 +4930 +8527 +1399 +6646 +-4357 +5605 +-4090 +-491 +-8291 +-2332 +5179 +-2535 +-1858 +3361 +9240 +-2101 +-7525 +-4765 +5535 +8508 +-811 +-639 +-4831 +7989 +-6363 +-5097 +4126 +-227 +9669 +-1681 +9394 +8614 +4760 +-1065 +-6026 +-3800 +216 +-2787 +9228 +-5727 +-4539 +8007 +4681 +-110 +2410 +-548 +-4180 +1366 +6433 +-9711 +-8694 +2493 +-8636 +-8150 +-1630 +5290 +6205 +-1016 +2888 +8198 +-5273 +-2004 +5284 +-4531 +-4016 +7356 +-1203 +-7278 +-3288 +-6525 +2277 +-4505 +984 +9678 +-3246 +-3468 +-6315 +3263 +8630 +6879 +7285 +-2400 +-766 +9095 +7653 +7362 +-3448 +-1533 +-9654 +5273 +-3621 +8689 +1248 +-5273 +-2301 +-2323 +-9595 +7236 +789 +-1162 +-296 +9439 +-5703 +8427 +-294 +-9028 +-6525 +2868 +6812 +3182 +8176 +3090 +6399 +-7084 +1008 +1644 +7638 +-8630 +-4226 +-6588 +4735 +1059 +-7004 +6130 +1026 +-9718 +2812 +-4147 +-5593 +8876 +4729 +1064 +4300 +-6480 +4083 +-1203 +-7965 +-4443 +-7462 +2215 +-759 +544 +8274 +6610 +8706 +-1425 +-2519 +-3779 +-2044 +-2044 +3759 +-9103 +7863 +-39 +-8048 +3398 +3801 +-2340 +6893 +-334 +-8908 +6161 +-2665 +6964 +-5178 +-5666 +-425 +-3637 +-1450 +-1107 +-650 +-8421 +4089 +1537 +-9356 +2256 +-5056 +-9802 +168 +3410 +9779 +-6149 +5118 +3577 +3806 +-5118 +-7566 +3028 +-1440 +-3361 +5793 +-7847 +-6082 +6168 +4297 +7731 +-9587 +4525 +4307 +4300 +-9289 +-1643 +-2358 +2199 +9868 +9961 +6972 +-1446 +1991 +-321 +-6647 +-3674 +-1513 +-5172 +-3883 +2199 +-2440 +1399 +1223 +6196 +-8322 +4376 +-4034 +7024 +-5855 +8521 +-9322 +4833 +-1901 +-4681 +44 +-546 +-2287 +-3468 +-6151 +5315 +1281 +6998 +-2521 +-9085 +2671 +4998 +-3758 +-694 +9037 +6093 +2669 +2782 +8921 +-8659 +-4724 +85 +-7756 +9248 +-1404 +100 +7124 +9927 +7349 +5118 +-6921 +-824 +-9631 +-7631 +-3254 +-8219 +-1490 +37 +6164 +9579 +-7526 +402 +-862 +4371 +-2293 +3129 +-6699 +-7767 +-4679 +-8484 +396 +8212 +6672 +-8137 +5030 +-7355 +6930 +-7897 +8850 +-4681 +9701 +-7478 +-1411 +-6779 +3188 +8882 +-2001 +2087 +5357 +7307 +6486 +-4016 +-6928 +-1600 +5627 +-1408 +9858 +9791 +3673 +661 +-5000 +-5239 +1300 +8825 +-4542 +-7843 +-2697 +-2026 +3286 +-6324 +4573 +-4421 +2315 +2833 +-7182 +3320 +-3745 +6536 +8804 +-6220 +-7149 +-490 +-8871 +8419 +7183 +-6235 +4207 +-5352 +3375 +9428 +-5172 +1604 +7914 +-7684 +-1265 +3121 +-8395 +5519 +3291 +8139 +4187 +-2616 +-6595 +-6769 +7021 +-1138 +-7037 +-700 +-6322 +-2730 +5766 +-2261 +-8850 +-514 +322 +2617 +6962 +-4647 +3089 +9438 +351 +2361 +4912 +4714 +-2648 +1033 +-9616 +9643 +-7209 +5183 +-1099 +6964 +-8677 +-1112 +5450 +8527 +5545 +2888 +-4713 +1686 +-6082 +5240 +-1574 +2866 +-4105 +-190 +1212 +-5155 +927 +-2665 +3747 +-3576 +7284 +-3223 +-8295 +1206 +5675 +-668 +-7186 +-8737 +-7210 +7814 +6465 +2433 +4915 +-8348 +264 +-1057 +4083 +-2875 +-8029 +3709 +2232 +-3774 +-9092 +8139 +-3581 +-5375 +-5098 +-6026 +-6315 +3944 +-5026 +-3064 +-2531 +8993 +1526 +-8384 +-3893 +-8395 +1971 +9585 +6106 +5966 +-3129 +-439 +8566 +-1799 +8712 +-7906 +9482 +8933 +-1627 +-1424 +5832 +-2735 +-4969 +2977 +1121 +-9602 +2184 +-9653 +-9169 +-9786 +7082 +-9607 +7439 +1287 +5201 +-9047 +135 +4173 +-2119 +-6898 +-7827 +3503 +-1415 +9566 +1553 +-9223 +7666 +7780 +1563 +-1047 +5709 +-9881 +9428 +960 +5596 +-4512 +-6315 +-6349 +3452 +-597 +-1069 +-7714 +8874 +6840 +-1879 +-4652 +-2757 +8974 +2534 +-5683 +1822 +744 +-9831 +-7125 +1418 +6779 +4159 +6405 +-6662 +5946 +977 +-2049 +3360 +1193 +7700 +-3703 +7876 +-3398 +-1680 +-4191 +-3574 +-4498 +-4024 +5119 +-8794 +4228 +504 +-3631 +-3589 +4033 +4512 +-357 +7819 +5976 +-1276 +-7741 +6575 +-2499 +3747 +-7501 +-8291 +-540 +-6379 +-576 +9581 +4606 +-8893 +-9090 +6422 +-5431 +-2664 +-1069 +-1803 +7779 +-9542 +-4051 +2660 +-4681 +-4200 +9983 +-788 +8623 +8583 +9437 +3415 +-2825 +9000 +8079 +-3515 +-4957 +-7617 +6820 +-8897 +8301 +-5927 +7023 +-7659 +-1315 +-9838 +-639 +-3288 +8801 +-623 +-1454 +130 +-8548 +4078 +7787 +3796 +-9747 +-4746 +5450 +5817 +7272 +2705 +-5103 +3474 +-4990 +4178 +6212 +-7028 +-667 +-9474 +-2215 +8998 +17 +-6892 +-528 +-636 +-862 +-6268 +-6229 +-8201 +3521 +1424 +-5274 +4781 +4300 +-5986 +-8491 +4469 +-3359 +-4925 +3979 +-3942 +5753 +-3589 +-2049 +5661 +478 +9846 +5591 +2334 +-4247 +-9655 +-5230 +6086 +-8445 +-5260 +-1209 +7578 +2259 +-2261 +-8776 +3425 +-6611 +-8884 +8158 +190 +-2373 +302 +-2022 +-5334 +7789 +8262 +6211 +1480 +-7880 +-8068 +-5666 +4318 +3847 +3207 +-1799 +5174 +-6848 +-2605 +7877 +-1813 +-2200 +-9604 +-6434 +-6769 +-153 +657 +429 +527 +7079 +-4992 +273 +3414 +-211 +4315 +-5808 +-377 +5147 +586 +1454 +4023 +-143 +-6197 +1347 +3816 +-1834 +8909 +-3655 +2464 +-431 +6849 +5837 +1721 +8296 +3206 +-7889 +6254 +-7430 +5844 +167 +5596 +8034 +-9985 +-4612 +-9388 +4382 +5117 +3855 +-9283 +-8421 +-7119 +5748 +192 +-8241 +-714 +-2696 +-9254 +-3921 +410 +1082 +7588 +-9631 +2333 +-3246 +-7210 +-1833 +-3338 +-2132 +-2615 +1017 +2066 +2203 +4954 +-825 +-2261 +-3354 +-6188 +-2845 +3829 +6898 +6914 +-516 +-5314 +-6630 +-2941 +2541 +-3862 +8850 +9203 +-2168 +7004 +4820 +-3332 +-9969 +-7820 +-5895 +-7339 +-9388 +-2493 +1001 +-1710 +8671 +2788 +6164 +-5118 +1669 +-1133 +6383 +-1541 +-9514 +-4498 +-4487 +-6848 +3691 +-33 +7372 +-9951 +-2373 +9209 +-5142 +3772 +-447 +-4624 +-7351 +-2883 +-7959 +5040 +4820 +6577 +2294 +5376 +-6244 +-5161 +3898 +2204 +2443 +-5001 +-4627 +6317 +6717 +-6405 +2335 +1990 +9566 +9394 +3240 +6999 +-4031 +8272 +-1298 +7804 +-2941 +-4340 +-2681 +-6816 +7268 +-3383 +-7618 +7407 +6964 +-4402 +-6939 +2552 +-3330 +5988 +5696 +1024 +-2186 +-1166 +4737 +-1072 +-2423 +-1945 +4943 +-9137 +-7852 +-4117 +-5529 +-8093 +-9637 +3620 +-7613 +8639 +9437 +1241 +-755 +-5294 +-7566 +8369 +9345 +5120 +-4949 +-870 +-432 +4821 +34 +827 +-7575 +-3905 +3525 +-4512 +-9035 +-5674 +1785 +6712 +695 +7760 +-5727 +-824 +6299 +-6234 +-121 +1272 +1056 +-6908 +7606 +742 +-2406 +6926 +-147 +696 +-1151 +3743 +6174 +5762 +171 +-8553 +1034 +5050 +-8118 +-9735 +6565 +5201 +1779 +6576 +-1102 +-3476 +5873 +8700 +-4976 +-416 +2569 +-9042 +8594 +-56 +2436 +-5854 +-4421 +-2022 +1918 +5490 +8112 +3389 +-9130 +-4336 +-1137 +8267 +8660 +-6014 +-5128 +7806 +7649 +-6172 +4055 +1716 +-9181 +7167 +-2475 +-6522 +-2583 +-788 +-1269 +6794 +8222 +263 +-4542 +9982 +7093 +3575 +-3908 +-1929 +-586 +2036 +6212 +-5808 +2482 +5834 +-9616 +-9917 +4093 +1248 +4462 +-856 +2079 +-8487 +-3154 +-8137 +-711 +4300 +-4829 +1841 +-9721 +3278 +3625 +-3089 +2333 +-8636 +-8554 +-4487 +4954 +-9981 +-2038 +3383 +3371 +-4763 +-6619 +4791 +2125 +-1355 +-4883 +-3339 +-8950 +5425 +-8853 +-9227 +-3793 +-7974 +-8959 +1307 +8207 +8905 +-8518 +6041 +-2097 +3291 +-9969 +-190 +5795 +2944 +-6372 +2340 +6474 +9983 +8505 +4664 +-9421 +7492 +-8422 +-272 +-7843 +-9448 +3009 +947 +7585 +-2209 +2060 +1337 +8197 +5831 +-2001 +7822 +3531 +-5209 +665 +3068 +-239 +2141 +8726 +9759 +4169 +4654 +3920 +-6563 +9606 +-5384 +7218 +-8518 +-8724 +-6332 +-1351 +7804 +6637 +-4448 +110 +-5671 +7224 +-6816 +-9432 +-716 +34 +-971 +5497 +1146 +-153 +-1634 +-9568 +3377 +8296 +9052 +-4615 +9115 +-3749 +7022 +4681 +3937 +-8648 +8631 +6019 +8598 +-8648 +-4947 +-700 +4912 +7507 +-2650 +-7209 +-2764 +-425 +5634 +2768 +3050 +8007 +1530 +-6305 +8167 +-4831 +8470 +1056 +-9924 +-8672 +8312 +1117 +-7091 +-2896 +6887 +9209 +9562 +6289 +-6801 +-4796 +-1196 +-7405 +-4763 +-2575 +977 +-8126 +1686 +-6941 +6599 +6904 +1604 +-7853 +-9801 +-2674 +8981 +-7529 +-6843 +8402 +-4167 +8347 +9140 +-1793 +-7997 +-3842 +7535 +494 +-196 +2418 +-1099 +7503 +-9271 +713 +-4681 +2681 +-7684 +-623 +-8080 +-6931 +-5808 +3395 +-3343 +-9330 +538 +-8152 +-4395 +-732 +-6476 +4606 +9731 +-5152 +-8465 +-6305 +6791 +-6619 +-9980 +-6358 +-3930 +9951 +4426 +7143 +-8010 +2821 +-5199 +-2593 +1064 +-8152 +-8130 +2594 +-9202 +-4856 +5407 +-94 +-1273 +-7669 +5351 +-3904 +1617 +3113 +8822 +3508 +-3275 +4913 +-902 +8023 +3203 +4763 +-6769 +-5412 +-100 +-9246 +3359 +6823 +83 +3544 +-627 +-1147 +7358 +2556 +4424 +8706 +-554 +6712 +423 +6554 +-8281 +-529 +-8957 +-4652 +-2217 +3793 +5332 +-3588 +5166 +5537 +7588 +-9838 +8976 +9735 +-3995 +-1350 +737 +8144 +3846 +7408 +3786 +5286 +6162 +4457 +4783 +-7608 +1784 +2575 +-3052 +183 +-6816 +1091 +-7009 +-3246 +-9307 +2449 +-4994 +-4423 +-5067 +-535 +-6629 +-902 +-5956 +1570 +-9769 +4663 +-5225 +-7886 +2799 +-7588 +4073 +1261 +5004 +-9519 +-6588 +-2528 +5302 +1388 +-9356 +4294 +7939 +-4353 +6791 +9741 +-9436 +9961 +2009 +9421 +-6718 +8368 +-7901 +-671 +2565 +2752 +1128 +-6499 +-2379 +1606 +-4149 +-2693 +-107 +-6357 +7756 +-1406 +-2007 +9576 +194 +-3884 +2977 +7754 +-5274 +-783 +-3137 +2036 +-9092 +-1756 +-3452 +1208 +1882 +5141 +-1450 +-9122 +3360 +6576 +1299 +4023 +-3791 +-2335 +-2105 +1295 +9203 +-5554 +8419 +-1962 +-8421 +4162 +-6205 +9732 +-3107 +-5397 +3722 +3771 +5808 +-6501 +291 +-567 +-4182 +9314 +7703 +4467 +6504 +-5350 +5273 +7468 +-1100 +-8846 +7696 +6130 +-6339 +7194 +-9786 +-5741 +1059 +-144 +-9530 +-8101 +5067 +-1704 +-4678 +7282 +-5453 +3446 +-2630 +4227 +9217 +-754 +-8023 +3330 +3868 +-1875 +7852 +3968 +-892 +3754 +-9486 +9352 +3937 +8790 +2529 +3789 +-3477 +2311 +-3710 +6964 +-650 +5493 +-3123 +7900 +9618 +5669 +7535 +-878 +-207 +2741 +5179 +-6678 +4485 +-3136 +9116 +-5341 +-5384 +4133 +8527 +5194 +4104 +-402 +-9368 +-3495 +8669 +2575 +5003 +-4167 +5280 +-1860 +1669 +6007 +-8527 +-8967 +-1566 +-8600 +5154 +-7045 +183 +-9586 +-1426 +-5911 +3759 +-5156 +-8029 +-2182 +-1027 +-9368 +1471 +5204 +8824 +4303 +-4573 +-9061 +-5256 +7338 +-644 +4178 +-6250 +-1011 +-7792 +9577 +-3783 +9749 +3435 +-2452 +-5442 +7401 +2913 +-2416 +3786 +1111 +2321 +4126 +9982 +6976 +-2597 +2612 +4316 +3632 +7651 +3078 +-8005 +6087 +-3343 +7886 +1337 +-8865 +6168 +5660 +4970 +-4308 +8762 +3600 +2182 +-2973 +600 +-241 +3604 +5353 +-4628 +-4633 +-2864 +-845 +-4510 +7785 +-6185 +7715 +-7119 +1437 +-2912 +-2550 +9580 +1001 +-3356 +2423 +-3884 +5153 +3585 +-7792 +-6687 +5576 +6037 +-7357 +-666 +5013 +-3866 +-2826 +-2575 +410 +5950 +-4782 +7793 +-5773 +7780 +2447 +3211 +-6610 +-8542 +1528 +-8190 +-353 +2561 +4164 +7288 +8996 +5348 +4678 +-5191 +4300 +9216 +5606 +7662 +5834 +8780 +-5101 +4669 +-525 +-7284 +9365 +-7196 +-1939 +9594 +3355 +-6958 +-9320 +-6729 +-7130 +7104 +4078 +3859 +-7741 +6241 +1592 +273 +896 +-7619 +-2714 +-5223 +8262 +-5791 +1288 +982 +1728 +8885 +7993 +2833 +4483 +-1099 +6358 +-156 +-4897 +876 +1538 +7575 +-7523 +-4088 +3186 +5851 +-5783 +8721 +7426 +3233 +1309 +-4961 +229 +4348 +6110 +4006 +8437 +3731 +7460 +-6929 +5620 +9248 +1865 +418 +9270 +8762 +-2429 +3994 +-9948 +-5572 +-4110 +-7058 +-2450 +7761 +3882 +-5443 +7227 +8072 +9547 +586 +-184 +3206 +7489 +3603 +-130 +-2386 +2198 +-3973 +2155 +-2832 +-8817 +9948 +-4292 +5013 +5704 +5880 +1288 +2265 +6898 +-9353 +-6116 +4178 +5837 +9078 +675 +5748 +-682 +6864 +8427 +940 +-6541 +-9551 +-2640 +-1075 +6317 +7866 +-862 +-3878 +-9779 +5017 +8403 +655 +-3817 +-1110 +1894 +4490 +551 +5174 +-6308 +-7295 +1315 +-5674 +1841 +4927 +-8445 +-6120 +-1674 +7960 +-3619 +-8588 +9526 +-7025 +-4033 +-1864 +8032 +3360 +-568 +8622 +1756 +-7988 +258 +1223 +5540 +-6217 +8623 +9485 +-6508 +1401 +8959 +2941 +8145 +-7947 +7908 +1347 +-8330 +-6480 +-35 +5391 +2885 +194 +4333 +-1775 +-7824 +4958 +-7699 +-3286 +6874 +-3041 +-1594 +-9338 +7910 +8982 +-7405 +-7486 +3104 +4200 +-5862 +-2406 +4585 +-6001 +314 +2361 +-8737 +-6616 +9797 +-7832 +8959 +8916 +2971 +1214 +3666 +346 +-7182 +-3114 +4515 +-7879 +1054 +3668 +-5519 +9206 +-4226 +-661 +-3149 +-9518 +-7292 +3771 +7021 +183 +3023 +-213 +2156 +6045 +5594 +4127 +3286 +-6390 +-1298 +-8198 +-9754 +-2462 +5338 +7492 +-1572 +194 +-6365 +-112 +3023 +5897 +-7342 +6691 +1496 +-177 +-9045 +2700 +7643 +-4572 +-5256 +-4912 +-1614 +-4074 +9065 +-5277 +-4796 +-576 +5766 +1479 +-7988 +-5534 +6163 +3245 +3459 +3487 +9916 +7477 +-6679 +-5128 +5731 +2518 +7786 +-1016 +2427 +8580 +-862 +9747 +2851 +9038 +-5895 +-548 +8538 +3220 +5376 +-121 +-6498 +6812 +5641 +5945 +8588 +5828 +-6562 +5879 +4450 +735 +-1215 +-2482 +-1167 +5147 +7491 +2879 +866 +5444 +1191 +-2041 +-9174 +4186 +2871 +-8152 +9576 +469 +-508 +1231 +7451 +-3450 +5763 +-6531 +2956 +-7823 +-6472 +-3154 +7868 +-8029 +7693 +-7100 +-1939 +7568 +9534 +7995 +535 +9526 +8581 +6923 +5677 +4734 +4954 +3470 +9701 +1377 +5101 +-9667 +5016 +6096 +5038 +1264 +9501 +-4248 +-1962 +-7613 +-4452 +6913 +-3379 +4982 +6081 +1894 +7197 +-447 +311 +-7061 +-6887 +9115 +7982