diff --git a/.gitignore b/.gitignore index cb7f85d..c6cb61d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /target -*.json \ No newline at end of file +*.json +*.lock \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 8d8efb9..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,230 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[package]] -name = "lyagushka" -version = "1.1.0" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "lyagushka" -version = "1.1.0" -dependencies = [ - "atty", - "pyo3", - "serde", - "serde_json", -] - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets", -] - -[[package]] -name = "proc-macro2" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags", -] - -[[package]] -name = "ryu" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" - -[[package]] -name = "serde" -version = "1.0.196" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.196" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.113" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "syn" -version = "2.0.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "target-lexicon" -version = "0.12.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unindent" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml index d6aedab..cecbc54 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,10 +2,18 @@ name = "lyagushka" version = "1.1.0" edition = "2021" -crate-type = ["cdylib"] [dependencies] atty = "0.2.14" -pyo3 = { version = "0.20.2", features = ["extension-module"] } +pyo3 = { version = "0.23.3", features = ["extension-module"] } serde = { version = "1.0.196", features = ["derive"] } -serde_json = "1.0.113" \ No newline at end of file +serde_json = "1.0.113" + +[lib] +name = "lyagushka" +path = "src/lib.rs" +crate-type = ["cdylib", "lib"] + +[[bin]] +name = "lyagushka" +path = "src/bin/bin.rs" \ No newline at end of file diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..4cb109f --- /dev/null +++ b/Pipfile @@ -0,0 +1,12 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +maturin = "*" + +[dev-packages] + +[requires] +python_version = "3.12" diff --git a/random_values.txt b/random_values.txt deleted file mode 100644 index 9f2b8a8..0000000 --- a/random_values.txt +++ /dev/null @@ -1,10000 +0,0 @@ -11733634 -387227151 -2797658504 -923068048 -322483586 -3181034116 -795416411 -2247951927 -1006035668 -1299096361 -2388972500 -2619418309 -27452730 -1028076398 -3176128502 -4131741725 -150538202 -1820323605 -1364508839 -2807430474 -3115430477 -3270478231 -1794871365 -2754810485 -1219059862 -3038245417 -1401990958 -4159970230 -2075890980 -1728052613 -4151892230 -2738963531 -2297313930 -2410379393 -1306587139 -822791052 -3659943007 -235851780 -1005485659 -329420874 -4114370772 -3023999412 -2958403548 -3738285985 -288054680 -1011709665 -625313083 -158720700 -528002229 -3114016574 -2155137540 -775930073 -3094107434 -2089257848 -252659578 -808665251 -595139836 -4043140760 -2562601956 -2509167815 -3137131662 -3845065666 -3584754671 -1014573100 -2145608343 -3216411847 -960533483 -3725153632 -2779755750 -3907485395 -2772259671 -1252568917 -485092039 -1111762069 -2975457719 -781310338 -1805728509 -3110975521 -1260776441 -2427351484 -725877092 -3327320159 -2858448272 -2057199752 -3813572600 -1621159656 -975881215 -1386061170 -2119628469 -3641572764 -2440923591 -3826164049 -2897112207 -2836550859 -4118765993 -3554949536 -3956954921 -3233528427 -2365340606 -4187936871 -1144613737 -2323895856 -4192750546 -3873712507 -148144727 -2560170690 -4263823282 -2074237896 -2553297874 -1198393026 -1585358759 -275439813 -712413642 -961883300 -1594081846 -3297067167 -1620285722 -4228996334 -2390445714 -2263735909 -2752488117 -3992924718 -1314169794 -556148406 -3535377467 -513820772 -1659172483 -11730247 -2292965048 -3497423790 -2111812651 -3013852592 -2347562279 -677297368 -1627835996 -754098488 -2318149312 -2128317790 -4251845640 -459805046 -3643896923 -392920915 -418915353 -3203792414 -3616414424 -804258591 -3771991100 -2814345886 -3242552952 -1376131658 -1669701717 -3974052690 -2575647763 -4030036860 -3791216320 -49376153 -3383707535 -2170433704 -4105499992 -3523202532 -3679324545 -1546174185 -951743241 -1730440128 -2954990111 -4025708835 -2498455797 -4138039839 -488640711 -1992932607 -3904551569 -3841086448 -2749032375 -1343302158 -3717963430 -3245398575 -411640587 -2213990975 -129098516 -258761549 -2191402044 -3713245087 -4196023599 -1924249622 -4250374710 -103135133 -1899764402 -2164122688 -3472881797 -575010161 -746693413 -498195774 -3740864424 -1438702322 -2201318397 -3174556510 -1082309123 -1802893539 -652718831 -2818201595 -3877223148 -3614041570 -291033769 -820305777 -1951187641 -3396097612 -3866437864 -3310496744 -522582755 -3291269053 -47049538 -3043058052 -2176670460 -493099302 -3105952543 -528348270 -2718692404 -3356781856 -2241368320 -2804834545 -1962059752 -746168637 -3692836828 -2166899814 -906193405 -840923006 -645944316 -1012441744 -1560013833 -24046603 -497815682 -3523344672 -4156679195 -2634819494 -312385414 -3653374316 -2710778390 -3412544345 -3640996023 -2757006152 -3649845382 -1520639532 -1853831913 -2169914341 -2949485026 -3143672165 -4141798237 -4167847928 -2150259503 -1925182808 -3419943338 -4294434249 -629543727 -1609826917 -2944873161 -2121631471 -2799174357 -1603403932 -274128665 -57716222 -1336805972 -3969935202 -2426677357 -3989834571 -446437560 -2577611661 -2964215468 -687423337 -4000748952 -2327187214 -726739035 -197639480 -1639170003 -32417639 -2547593471 -2974088952 -2656672279 -325980929 -2099875292 -3626663281 -3371918219 -2264447222 -3796324144 -42808801 -1561044688 -3889280572 -4085146859 -1953355356 -1826339086 -1226360755 -2863005955 -2098046254 -3132413246 -1930369638 -3116082852 -2247127838 -93137513 -1610086081 -92397815 -2861498339 -333373818 -3924067454 -3524456597 -3723824844 -2458399121 -2924953259 -153835772 -4233917604 -414438578 -3454844707 -3312690104 -313779499 -4249212318 -1386044878 -1170576414 -3597270028 -2306169892 -2036425996 -199133640 -2210049530 -1980569557 -602430173 -581872136 -3810180436 -2626139104 -2783655466 -2347225919 -4049988243 -480729947 -3516661273 -2178217002 -2083843540 -132970232 -1440972652 -803159763 -2211306891 -748246620 -3920104794 -954566838 -2044611360 -422071958 -3258822044 -2998850116 -2529271462 -1592741052 -3371882132 -949731376 -3239873976 -2556510505 -3602152023 -1111267488 -3362486474 -1585041592 -1271368206 -470352127 -2273312674 -273286386 -2218879906 -2298748842 -3767577405 -891848922 -2377741426 -1528421853 -3397992705 -3228835394 -2319357399 -352313476 -1839781700 -640439923 -4113320725 -2791845429 -3039697767 -244014281 -2624172883 -2698936789 -2455386956 -2779655757 -735937156 -195376263 -689098930 -3661776770 -1447680237 -1866667647 -1876855417 -3446400974 -87997877 -2129347799 -304065580 -2296255662 -1467861560 -2920345232 -1323542363 -3974846417 -2728144666 -3916810095 -827866532 -2787052093 -581934152 -967246433 -1239223236 -3341089612 -932895731 -856310772 -3453014682 -3510562380 -3798853214 -3427860727 -189236723 -2445140862 -4114437067 -674102319 -1773129284 -3326244291 -3422368295 -1914606449 -1928492906 -2234975756 -3826762253 -902857189 -1476276331 -3714231403 -556315436 -1950332879 -1132756160 -760961886 -4194852551 -841080557 -443209153 -811470006 -915382087 -3553157905 -4266571112 -3604549252 -3253618638 -3297122068 -3030288743 -3227403608 -373213851 -1636710285 -3688091495 -1801030383 -1495017391 -1352449898 -472299822 -2359225166 -205175655 -3305298712 -3518208164 -1776402019 -29219336 -78642241 -3500924596 -380882984 -1009312358 -1163719605 -1749524171 -2753442632 -3040882589 -773991126 -1733342434 -3395940156 -2982709531 -3029978140 -2618734495 -95176902 -1522178530 -514149587 -432221487 -19763410 -4131531055 -384497867 -4267784306 -3015354244 -3276973920 -225456589 -634951496 -3460239332 -4027240440 -2030208125 -1518288336 -23718305 -3075368095 -1425938683 -3948741271 -1414550131 -2440651503 -2283377069 -1318062470 -2947918861 -304013034 -2392111527 -2859015920 -1872490756 -6002893 -609791146 -1031846837 -3415622474 -172994316 -3884376896 -1400975818 -2416565628 -783518958 -2699415615 -1612800193 -505701558 -214685897 -3950874861 -1686419778 -3367331390 -530359937 -280382656 -581325085 -1592813903 -538529720 -712384024 -3113521001 -2934909476 -3242029033 -380506885 -1106518178 -1659480061 -3759965248 -729071253 -2975616995 -4229872015 -1187996328 -2196911707 -2434995539 -1114072642 -4196333040 -1102423416 -2681357864 -418715839 -4023323583 -4110641667 -3988181267 -2208054510 -2204907709 -588629482 -4132729355 -1297849472 -818703672 -2796863845 -629532841 -2250781782 -1476584586 -339005172 -4199482880 -2801331434 -3312783548 -3124946000 -3204744237 -976879232 -3449290264 -4144666980 -2231246855 -3433925282 -2399618976 -1081297014 -2146407773 -2475846419 -3300630512 -634456770 -1083828117 -1796596135 -927688902 -472968999 -260655112 -229443090 -2465662540 -1813085653 -3213580868 -447444628 -4021256001 -3278887625 -219376765 -767314795 -3775974470 -394210685 -962423007 -2910138950 -465277751 -2310202011 -2943645058 -1021117018 -1728008420 -3214743007 -1781212706 -1476003716 -984383719 -3611457035 -1595331717 -3274028886 -440733630 -3011546677 -856289705 -654213009 -1483431547 -4111342016 -3909349971 -3257399791 -2735871207 -3411887841 -1568180768 -2504341074 -2146040729 -568276747 -2519869140 -1882691994 -3672883203 -2210821484 -511636971 -840165021 -4172335784 -3109107223 -2777326540 -250931070 -952868217 -2122082871 -3432894290 -3881639748 -3782573150 -3744720262 -3811890633 -2603580404 -3131665634 -4217628566 -4147054654 -4019023891 -3388125093 -1795451630 -212291825 -1649579804 -2748731116 -1732202769 -3152681166 -2428411818 -3687166670 -1066985452 -1358724475 -266673710 -1674287811 -597980339 -3976919483 -557928664 -2622342581 -1264373611 -2907983003 -3657212566 -3436870460 -2914321638 -3273600183 -3589981893 -247694909 -53770387 -3879767114 -1968047019 -2478630346 -2990300510 -3196351401 -1353102676 -2844064403 -3443058750 -3021770392 -111754426 -80525444 -486471518 -785608158 -1638376777 -2936236964 -1822535044 -3378519298 -3154720979 -599854154 -2378308542 -475240782 -2169983793 -4009110167 -1182925265 -3077118916 -2571894436 -854169937 -4289310636 -1424268824 -775409503 -2540004716 -1447670356 -2777320248 -2302930240 -2584488099 -500780780 -2717684999 -2112442371 -404852976 -78736717 -2432165702 -2137185726 -281088050 -3512330282 -1003523176 -885760699 -701044146 -1454601573 -4183450936 -2624857075 -3138738813 -4140621527 -896636960 -359355293 -2869503909 -1178627079 -1134918788 -2027072012 -1961808443 -4279989716 -3132608904 -477234115 -1665709284 -3056790416 -3113131872 -2855476347 -1644373998 -2341725508 -4064892822 -1043149367 -1569148310 -2545735840 -97932147 -430890571 -3027756263 -1530734088 -1928150992 -1142474402 -3275616515 -2080306798 -207170011 -1202472653 -1063064383 -2866904254 -445687564 -3246569678 -3692115599 -1971810377 -1298772762 -2449927608 -61155084 -110528028 -1305654006 -518115988 -2253331990 -3652273675 -4133370258 -4076183878 -3127514935 -2542288881 -3075917077 -2882610253 -262518843 -2313791245 -1003838933 -92187613 -1349735372 -241757463 -1824883323 -800448687 -999754827 -1914619017 -10385052 -1128755050 -488901115 -1738036947 -918740279 -1018107824 -694317749 -2399125504 -1120508177 -1427892455 -2843328638 -204731174 -720953194 -2136886624 -944705507 -640682591 -59016688 -1320624835 -2278917552 -2348414189 -2735844338 -854372031 -628786907 -3902268111 -2350581453 -1910428846 -1997661002 -125515500 -3144476376 -4207545898 -3350408591 -3169650230 -4130752944 -3280869350 -2060721169 -4055080916 -1214783388 -1267309838 -1567651911 -4260219378 -488020015 -2357473848 -4272846040 -3318123498 -1390654554 -997709811 -233041771 -1330167784 -2713664473 -134098813 -1658105871 -3473391130 -2404452284 -189711461 -3900574451 -3933347509 -2315276434 -2150670607 -1579040085 -3427133297 -932192781 -708281415 -3911774757 -1543910977 -1030018647 -1470793444 -2371206049 -661523691 -3739004692 -2314081102 -2857637242 -3555654341 -3600190883 -3668401856 -3776748800 -2571153861 -2421193507 -1878637460 -2761590320 -1241045310 -715368652 -2607629551 -3348222671 -2164175702 -3072824493 -3606174614 -741614143 -3089991759 -2953110068 -1263165780 -2041519986 -500261200 -4257737583 -3444201791 -2974356224 -3512567671 -2727381895 -1870283059 -3661638605 -391983793 -1281079410 -2036731095 -2322378859 -1744117133 -357671465 -2785465407 -2353688166 -2424718862 -2537852919 -308049869 -1882016264 -4250227138 -756223683 -162281165 -1241261077 -1708868967 -4189480959 -824790004 -2144598721 -1872432932 -56334402 -537447859 -1030739372 -2283173192 -959153430 -2080814319 -3540112230 -3921218128 -1053808642 -652380415 -1585020892 -3429253054 -2103517790 -1033286510 -2110416734 -283409362 -3198259781 -933762234 -3739457573 -2452103895 -761053256 -324150000 -1790876352 -2942831174 -1629873625 -2303319290 -2433523614 -2078097469 -437006442 -667462270 -2999377482 -1279240761 -639763377 -4233725340 -3398721571 -4038816124 -1864976101 -1282485023 -2176050432 -1158188490 -1159692123 -2207370260 -1414026554 -3589021797 -26201306 -4159808603 -3935112911 -2934156457 -140504477 -1231839038 -3240668315 -389334727 -3676719791 -2357174688 -1011975964 -2278387315 -453482405 -2774528845 -1587982011 -3512742410 -1848858474 -1753564614 -3714436034 -543362728 -3192011633 -572958721 -3863029439 -797541160 -977677061 -969279613 -2348682044 -3311294942 -3581550179 -56090814 -3197109272 -2708014254 -2455641818 -1001188043 -3399428026 -2803198481 -3873276762 -745551675 -668867089 -2854885372 -2163743857 -2128194760 -2894944044 -1104356005 -2058048706 -4226917329 -3608629183 -3761780562 -584657972 -3562079441 -3774623916 -580759603 -562716929 -2100364236 -1550017180 -497780364 -3417263565 -3343120174 -2052445427 -243482081 -2047349158 -3448614238 -1189855367 -1885445745 -2021259319 -2675209430 -1749157803 -870030317 -2641162793 -2322653732 -2291639557 -576194159 -4292497442 -1021883125 -1986258688 -2739045813 -2077351381 -590201163 -2430925725 -3072168904 -717304975 -1812453648 -467143860 -4257970744 -1316806128 -2311816747 -906243735 -4194904615 -1064236201 -3068756080 -2931109368 -3319859355 -250642682 -2542958706 -332839712 -1876208596 -2145731357 -2341871607 -1980797794 -3999211826 -1996423113 -4234842572 -1940657491 -2292872314 -1648910422 -3690000569 -6756729 -293153138 -219955022 -2020743201 -2942076987 -451684904 -461810147 -260443164 -601464474 -1900534212 -2190227829 -925362946 -2432682548 -2673336204 -940447383 -3692102015 -3308185545 -571121519 -1283461211 -101212987 -1162398223 -3900528904 -926984104 -2279343673 -734708963 -3942111075 -649549285 -3274725298 -283153918 -3327068372 -1881409656 -1233873206 -266313483 -1641799968 -4278932761 -811717662 -4026310547 -4127560499 -2469205224 -745714925 -396889234 -205717469 -3152325621 -2434949790 -59123128 -1086151831 -3813994463 -3614206712 -189866965 -3757249321 -780976484 -1946312068 -184760875 -1611345961 -2784184747 -2406145610 -4162102749 -474358255 -1935147200 -4276666335 -3940185490 -3028679923 -1833563628 -2062211823 -2665284877 -1897433466 -2386206170 -526621737 -379937392 -3864809021 -239378407 -465697606 -1354677967 -842184398 -557051762 -2460906393 -4166933267 -2083467900 -1551956653 -2474595545 -141475080 -3521608636 -3430811083 -3587746610 -3672199899 -2366564085 -3601832401 -1645676249 -1656771830 -2953909498 -1961328309 -3031277364 -3566778776 -1012829079 -656639563 -2243364384 -868441815 -2561993762 -2244836764 -1623518219 -1230847223 -3544009757 -92627029 -3021194252 -2630584517 -1015713767 -52326881 -1967867742 -2970313413 -1127250522 -777610903 -3352328296 -1035670504 -4288203839 -3524209519 -1148365498 -3529917563 -1325321078 -3707321864 -3117680007 -983824308 -14409311 -2464574599 -2998557654 -2390872169 -398581205 -2991047615 -2795026118 -1666596871 -3328021112 -1060246692 -231889069 -2157884208 -3958733559 -1004433380 -174762889 -3946577781 -3023041978 -1669822115 -2252023460 -2949901378 -2248803165 -3053631336 -2592608056 -4058045623 -2332170669 -3165145431 -3054922548 -1719123438 -2927683026 -683394112 -2682426449 -3165668432 -3708375051 -1761102435 -226742329 -4253589332 -339424970 -1772541307 -330662566 -3476770814 -1173515023 -2429732185 -696029174 -1748329534 -1665513357 -137088014 -3984306704 -3441028644 -1871546139 -1066721307 -849075493 -2806272064 -10885400 -3123483781 -1280281870 -2977898519 -1185445292 -2323070667 -784530496 -1053732125 -1072041541 -2091815708 -464659761 -2247177245 -1579562986 -1208939293 -4081580911 -495189643 -2345669612 -3210030591 -4145455370 -3826175125 -3093200035 -2517614581 -712347556 -2592821082 -543562564 -1377311277 -393188688 -381721560 -732577263 -4174833259 -3460938168 -271029443 -1209714092 -1923695149 -60642793 -278464555 -2689347157 -1113775484 -2966424332 -3863615391 -2877920545 -533375740 -872757607 -2884329134 -2863022917 -1503007911 -551109132 -946900750 -2573503408 -750604618 -2717053000 -3331327795 -4317452 -3584327908 -3779211512 -3770249231 -876600215 -2510199889 -2122361366 -830890469 -586102823 -606624573 -2187888568 -3978650888 -2842168021 -1653753297 -1364893092 -4092298789 -3080622987 -2637110835 -2591045764 -3419944440 -3400652712 -2735879711 -4100678678 -864680461 -2891813762 -1146561632 -231938006 -1099071171 -1146553641 -2999298338 -855495556 -4065761584 -3321651355 -3877881997 -450063918 -253389222 -2830089818 -1158498914 -2955847671 -2598713313 -1265940774 -1985063666 -2297920522 -3515659567 -4099691609 -438872109 -1820983052 -665773884 -1030467040 -402864223 -258709537 -1036893764 -1463409562 -1314436194 -2526445865 -3818491598 -844805898 -1982443902 -580573616 -2164134585 -951838921 -829263276 -1624387762 -3277310200 -3285203842 -1313916450 -734579850 -495113417 -2644735696 -116988643 -2794310811 -2314414759 -4130793340 -470689236 -406906190 -2751086694 -3104847292 -3888034029 -3175589361 -3557944951 -90118942 -515876907 -3315329072 -5246378 -235848476 -965891263 -3025399616 -2671703371 -4171445244 -3258192012 -2712667104 -2993389686 -2311106662 -2706712202 -772879321 -3333183976 -1560268016 -3300484389 -2656035371 -719617393 -1345317283 -1157272286 -313764172 -405768091 -2830418612 -1260982261 -172996578 -1955455613 -3573997755 -3319151763 -2974282041 -656314673 -2549485057 -2576684481 -1058137320 -1053796533 -1931002942 -469321073 -2801899646 -4065398319 -983675923 -2587898364 -235764411 -296911946 -2994216147 -2986461468 -3634924817 -2994429617 -889787596 -59518826 -3924637193 -1318708529 -2548600248 -1856721665 -4274475320 -2356971964 -883542618 -1043339087 -2567523602 -787662000 -1240906333 -1096732705 -580778572 -1203416752 -1548959214 -602035234 -3980541761 -112674019 -238570565 -197322807 -4175434171 -2820046672 -729333417 -582897428 -1065885545 -2562765244 -1603314824 -1395388097 -4233970665 -3991939054 -2228170700 -1532190555 -2095431882 -454269994 -3384853637 -150934692 -3565970640 -3674561835 -1109949135 -2687938127 -3673837405 -1117827207 -3944384878 -3629724319 -3623624841 -1026107049 -3410028801 -3484168240 -393557827 -1620951524 -2294662186 -3986275756 -4205771245 -1158551233 -1511460485 -682748909 -79907876 -745170995 -3671432223 -3307993698 -720041753 -3943277627 -2057293068 -3433805472 -887890395 -3342527778 -133107390 -3608004382 -2898153417 -532789606 -1719953815 -2364202214 -4053008230 -1106052734 -483990882 -1370177910 -799420375 -234690865 -2545633777 -3909669905 -2747343559 -1707795091 -3093314103 -3648588426 -3008434098 -2897192903 -3381571278 -1347308923 -1786266365 -1288506735 -2381876196 -2386011903 -696033673 -3907069792 -2843298285 -219468225 -3527150981 -3226371243 -938702512 -3570943954 -547938584 -1962914570 -2626992686 -1523357150 -2885333271 -4285619087 -862100108 -340824776 -3581243398 -606187558 -3632619274 -2163405104 -2524935197 -1609614249 -1023015318 -1984607617 -3544508391 -1317728485 -2457233140 -18366939 -949626099 -699169719 -3170774997 -2155492916 -2787835051 -362553229 -607170894 -2112664511 -109394397 -1463945834 -3951970385 -744715328 -798701529 -464797989 -2963775773 -1489114367 -2761627516 -607721034 -246810396 -3402250569 -1374739749 -3811812102 -1307696369 -4180056654 -2385998851 -986281762 -3769003335 -4059600151 -2071260397 -1184775867 -1628958932 -1974071053 -524312532 -737382880 -3481483256 -1200231861 -3493950921 -2093459955 -3741814601 -2200003491 -1908726269 -2968976701 -456353398 -631569165 -182291382 -2636621893 -1271938644 -2664585166 -2676927084 -3375812360 -3640578285 -3775556878 -1758132582 -4099750447 -2371028781 -4238203015 -3384056260 -1777083920 -1602780835 -955197763 -4227828421 -3972069889 -3325799 -328364363 -1685652051 -4293952201 -1452610933 -2234100236 -1033744939 -1428949839 -493738718 -3289501441 -4179179620 -3857494358 -269521993 -3216439718 -215118565 -767339972 -3664456336 -3158218274 -3815022665 -796221128 -2529372927 -843443077 -214263178 -1481805919 -3917035919 -3206055008 -4035868110 -3341112173 -3390899796 -2471483270 -1864215183 -1143906133 -2131591969 -1746080778 -3149290413 -2729472584 -526382174 -2299665992 -1503261920 -4275156751 -3912987244 -3240518742 -1696948284 -1558641997 -1445216858 -3345533090 -2752113417 -3078048849 -3616493515 -3538357619 -1635463735 -2334967184 -3737409688 -902959599 -354108114 -391163795 -2444265269 -894199318 -4013473821 -3806287173 -882898692 -1716597498 -1997665454 -2796383066 -1219410093 -2153734203 -2024470762 -84438485 -1529679033 -2472796182 -769107777 -2468490697 -2445758405 -1532450227 -2320384347 -1655063126 -2819040603 -258911833 -3781529038 -3459090801 -2431066523 -3254648856 -3310664426 -2801207625 -938031928 -3426747484 -2704619765 -91130207 -3700882663 -2671252539 -2011963152 -2787838127 -256997018 -1807472115 -1209880441 -606379714 -290740573 -2941961156 -22094246 -1371420378 -1774439591 -448962234 -1262111738 -830852952 -1864634890 -1454660318 -2461456619 -2299252933 -2612943295 -3714583911 -1562234306 -1195903925 -3487398571 -4167381443 -3115866469 -101003507 -422300583 -3189550772 -2095478786 -622509086 -1261344807 -4064312517 -3918920302 -87818215 -2503140292 -423794763 -2605759231 -4198297774 -1213320190 -12797724 -2313810378 -3958328445 -3175827344 -102618920 -3067635974 -1646618527 -2654665292 -1244908866 -1003773434 -2909945727 -2494670511 -1306492476 -2788644801 -3316607236 -3887449443 -445554976 -1327383400 -1516384482 -384389219 -4028964135 -1178636438 -595208881 -2198487145 -403543623 -3509713515 -3433660893 -738620562 -1428128095 -2445837099 -3272553703 -3940384851 -1966835018 -2815101466 -4224039653 -945806672 -1291136267 -724042724 -678570140 -3694783588 -627248399 -1873373752 -629032993 -2361351039 -3313055218 -1764627724 -3393457223 -222721607 -2459503868 -2543837178 -1208524274 -2774449433 -835222244 -2275997785 -1059253230 -3586722156 -363741030 -2801569839 -3528285853 -1005839707 -2296367093 -3579673267 -1287650396 -485743160 -3336082804 -1102461824 -3420329254 -3698411039 -536998494 -49031263 -4212724288 -2640505991 -1598858869 -1577119805 -1879274294 -2603948069 -3250569601 -2663870501 -1142673684 -865025316 -376895875 -1519092899 -804405453 -4250727491 -21559721 -4193003362 -3429674506 -3830683481 -888166859 -3148508250 -2325542116 -2269800415 -34172501 -2078718957 -2919223391 -3989180482 -1985455890 -864307715 -3972461881 -146827851 -1043236923 -3352180567 -1713556056 -1832588637 -3481921431 -2936384930 -4084211771 -1812120115 -111263472 -992618535 -474451789 -449215139 -1434403606 -489703153 -1493110098 -1636207091 -2796597365 -2455964150 -3364954953 -3628325407 -2701432695 -3089346604 -3889996624 -3976797213 -3171814656 -3792812072 -4154697497 -1139312140 -1781441081 -1177516726 -4236796778 -1388883566 -1033069126 -263155761 -1215078184 -1030088429 -611800976 -3253627438 -3344590162 -2779665181 -2497212543 -3178420767 -3490112830 -3047817178 -4074427168 -1935042100 -1276644772 -1214603165 -2096586040 -1135217544 -1402658886 -1213516198 -416448492 -183288880 -4199170424 -2006063832 -1513944928 -2017629618 -686934543 -3015588533 -3952919792 -1743150814 -1812164801 -125584747 -3542745568 -2707782755 -1847174429 -4049811137 -3922387800 -2833969000 -1815723950 -387632541 -711137357 -3257446291 -2738773792 -3144149739 -1071695539 -2985543783 -2333075665 -3386353139 -4050924797 -1932148301 -1394364929 -1628577345 -295760270 -488228588 -4238207876 -1091102955 -4267961773 -1557366254 -3483120767 -3791317684 -1300044185 -2778634477 -2251790768 -3314453201 -983781865 -1441627889 -3816072649 -2252811557 -117099763 -2812323868 -3561697422 -1589189315 -47341289 -2399698710 -3134856139 -1719231030 -3291339215 -623453491 -323891798 -2310927089 -1126362333 -1775061866 -673999290 -1002195186 -1775006956 -3640418518 -3160335228 -3652728348 -3688028897 -3308973907 -203792064 -3913690498 -3947516663 -328993473 -3119075399 -2304133033 -3588703281 -1078319490 -1139776690 -4022171907 -2065580176 -3548139048 -1244751417 -3171151476 -1529664962 -1695049214 -1745870680 -1898089691 -3733360547 -762181330 -2378871284 -127141688 -2285125429 -2920279571 -279437218 -3211100148 -1484402038 -3964792040 -2239529138 -89034926 -3162414065 -2977079951 -3801228229 -2580338092 -3125778304 -2846849444 -555822114 -1461801557 -454648302 -827567483 -2907886298 -3853973958 -4090022006 -1116602888 -3395270211 -3367485119 -2846126255 -3973277265 -1229950153 -872896962 -390442261 -3605343394 -600108392 -1381588484 -201908905 -1819457243 -2421190679 -2318008005 -2605310493 -3359023898 -3583975341 -2752109161 -2708865778 -799414276 -1409418507 -2414186167 -1219450404 -1177836305 -2805886901 -423603343 -2573241281 -1618990262 -4190695296 -2180913400 -4029464760 -283488451 -1771761254 -1803668566 -1445534080 -3779520282 -3313125087 -3999751149 -3483551979 -21583561 -2320159458 -197092163 -1390072899 -2262244784 -3415716752 -2828566304 -143911072 -3812664457 -2581703347 -2879638590 -3250586618 -1179579978 -986014200 -3282024971 -1769949210 -1882747540 -3671155360 -3564519690 -3366202831 -1060266639 -3159523006 -454168079 -4119955103 -4042864845 -2286953856 -774415705 -2840442847 -596744441 -392704173 -3215006208 -3600482595 -1971986434 -4266954045 -3928680748 -1072731711 -1728410351 -809808323 -2631431799 -3474472814 -1742844525 -3051177169 -2622182415 -2606604569 -3641057589 -3706378604 -1306781988 -3063567966 -305222476 -1255006629 -5338818 -200884911 -3345259831 -937740521 -1276511629 -2385218098 -3148051863 -1407762179 -2651165036 -2608393017 -3465064634 -3130130620 -3975079318 -1063406339 -3153557723 -4280233159 -3668565719 -4225929982 -3295907052 -1885631136 -582792158 -3620138996 -4134234937 -2075950562 -2612866651 -886548333 -486968877 -108545788 -401550016 -1741677181 -1903265137 -755557682 -2215767512 -1124314281 -2949787371 -2810506400 -1316700045 -308622017 -4127953611 -3558008944 -736452414 -4023315097 -2748253197 -749369746 -3218287140 -864865222 -1779079 -619596163 -2099740015 -1297616321 -1349190420 -1252169919 -3103643158 -738667792 -2486081647 -1765879977 -665761176 -882948104 -2380946114 -1244227016 -179247461 -3398451554 -459245460 -1986667508 -1697796541 -623761773 -3972786923 -215455592 -3195900397 -530482474 -3770398056 -1515011857 -2064193214 -594361862 -107421741 -1883451095 -2304355803 -1753591417 -672738028 -839111724 -1893482841 -3309027273 -1004491492 -1430137508 -4015913045 -1591145784 -1752891306 -738943816 -3302002521 -2480634565 -3274895880 -895603978 -175762113 -322228076 -4238093090 -4133748092 -768863038 -3969860490 -2184406429 -1766329522 -2450329854 -4273825236 -901861192 -419149208 -2584260553 -4028539413 -505543258 -1871979635 -426576491 -2129697605 -708939966 -1013895960 -1730478049 -3582235095 -1535890059 -3338967254 -486913519 -2021520407 -1405799709 -3761240252 -3079003628 -2749601605 -796611959 -911515611 -1703291642 -3717226415 -28418072 -879454460 -3560531366 -304483471 -946982459 -2948115421 -4216337852 -817275394 -2381793112 -2639428323 -1087581232 -2820534359 -2864258129 -444148212 -2086516837 -1278978808 -296975690 -2319352066 -2993413253 -697174870 -3134902562 -2764789328 -1899741814 -3000658716 -81542853 -2236947944 -262424328 -1586707952 -3328286398 -4285196191 -2191337142 -3271057350 -1437578369 -3266336129 -169086591 -3827762388 -3437600030 -3724628604 -3996062794 -2447377021 -1756890379 -2762176587 -4091267529 -1698253276 -1189632722 -1325396453 -2435312110 -2646791732 -3343274136 -4155793903 -3632759904 -2308405896 -184521533 -4125536282 -2451345605 -508822413 -4098892742 -3627161500 -4080084384 -1354463758 -949153653 -455548749 -3245167089 -1701843314 -760366392 -142572922 -3088097693 -506570983 -1994273181 -807903047 -3622455917 -2657868551 -838651303 -3699467381 -1764383973 -1052283384 -3459448713 -2293846906 -3037369482 -1927830579 -4210727941 -2767918927 -4229344204 -463351458 -1975172190 -2511853496 -423263659 -2957850341 -1997326361 -2452248066 -2953046474 -629593613 -1749259435 -1136935523 -1139531642 -553556627 -1834366935 -1151816236 -3766754076 -729366865 -3216046232 -3100728216 -2470903170 -4207173946 -3165706238 -371744979 -497308962 -1592782748 -1554233414 -2549156513 -2888119992 -754831122 -3838376396 -3107736068 -183266291 -1284458228 -2850178904 -225321998 -3752177238 -1510801627 -2241569694 -1550374200 -3693955016 -2727179600 -849675506 -3837727536 -1942583681 -441802343 -42794910 -291943731 -3945001845 -1550677274 -1919456822 -473332417 -1592110145 -612689720 -3306819280 -1661356818 -4151406221 -1044597007 -2490804366 -1482695649 -1196795352 -1406349289 -3625332478 -345807678 -1778842893 -2963431418 -3313302353 -3861145130 -2645391818 -495379895 -159462147 -2830582692 -211816728 -789224519 -2837572883 -1901486255 -2491302698 -332268598 -2451721821 -1925154405 -3143279741 -3033313472 -4127302003 -309342652 -34866290 -4069052977 -592767547 -1075173524 -4150543492 -3305019441 -287871555 -4048158788 -4169369505 -413177012 -516539774 -1386190127 -2405107744 -4156529537 -2655784963 -2216875018 -3290954325 -2349388364 -3934234653 -3601847920 -1840010875 -937652816 -89152451 -355435079 -2848590420 -980101547 -2439643914 -425450406 -1958840308 -2113895732 -301761145 -2285428130 -308676734 -2126464210 -393354738 -520745943 -2741723040 -1905411470 -1680331768 -4168601096 -1691576057 -555680687 -2242049506 -166225333 -2043362935 -3793810761 -1843207147 -2561656547 -2127712818 -2676334057 -4122030283 -344110557 -112349010 -3503336838 -2664900981 -1883426496 -1928689175 -3101754484 -4204166041 -2477512240 -2854380840 -3901183465 -3804510480 -610800695 -2383404112 -3694996004 -1425067004 -1158964909 -1594513045 -4114376893 -3365365985 -1304106415 -3166931472 -3698314344 -1972170773 -1904209367 -1146685266 -3974062714 -3461223524 -736741249 -4057093557 -2509224852 -1928167916 -1138302905 -2276047286 -696172074 -1686696273 -2324072822 -1511099615 -1677089608 -3167059319 -4065499167 -525655295 -4289276248 -781013612 -3328849938 -1621621789 -215440255 -1450830092 -2749361166 -1689517847 -2081322454 -2191666470 -1135467844 -2850801070 -2937612211 -3286912109 -390256100 -577834352 -3078620360 -665427901 -3730049380 -1038305206 -727998750 -420353331 -737099722 -770518211 -1369830451 -2922612995 -1063455378 -2661751385 -1840782768 -2960745411 -4222124933 -1650856323 -1892832762 -224822750 -2768804587 -2124644147 -1547920315 -1480108510 -2404083511 -257114847 -3261406390 -27614400 -3387982301 -1221276475 -4107606111 -3827982105 -3967083724 -4133480027 -858144069 -3152095738 -1830693469 -2607873203 -1557146042 -423068397 -1661968785 -2153672991 -1916818633 -2210970365 -3230944067 -3917183345 -3968607739 -3083528922 -2218629660 -3671302781 -2929306539 -1327654861 -1067539993 -151822582 -825826259 -1887819316 -711461116 -3337946791 -3956552725 -1299615164 -3222308369 -1685622966 -232767640 -1482960050 -2508417829 -560978732 -2026322658 -173486309 -2842774947 -3309797884 -3344983546 -1372533081 -4110313385 -1791182993 -3800766695 -2270318575 -3233544887 -2808003094 -1190201546 -860701214 -3078516821 -3915015795 -91634137 -3894963073 -3988643518 -40246363 -1866007229 -2117644531 -402130069 -3345315507 -660361638 -2277241065 -327531886 -2022819959 -419248547 -789747941 -2108789971 -880019248 -1327065473 -1833233959 -4084698828 -4040218488 -2253536627 -349530456 -1674813339 -2764280724 -3182396202 -444180047 -3052286155 -1051447085 -1094998715 -3485604419 -1886601645 -2562593043 -1671063887 -3342615106 -725604891 -1920787059 -2356398892 -731326174 -4264980619 -3725207325 -1600861522 -2831698520 -916771403 -3655759654 -1824474792 -3727482832 -4195166734 -1243124903 -2874855219 -5810166 -2540171359 -1782136914 -2837962837 -576263472 -2749047700 -3174774098 -2385763239 -2958454767 -2374988032 -4138690340 -172412181 -2804288606 -3865795530 -3113812159 -49208582 -2568541422 -2398261257 -4276111680 -3228689904 -3530670594 -2874269070 -1453998240 -3120242019 -1747602210 -1636200879 -3877283573 -2328064808 -3944479977 -2664205171 -4157002902 -1209347932 -2350269794 -3756588873 -1365857068 -2184836385 -824505132 -672526997 -792503777 -4083001506 -1903724085 -552996182 -2932722023 -4188447571 -1358793368 -4023235193 -2756407065 -4058715497 -979523334 -1220190997 -497809367 -2292327377 -4065714243 -716594830 -1166583663 -3131055185 -583132273 -3418455817 -1566388773 -3586591183 -49767858 -1789632130 -1363551167 -2179979673 -1945174971 -3672500673 -1271316381 -90325099 -2316063869 -1785188813 -361621492 -1111164791 -3888685140 -3706012661 -111834005 -2406754674 -440300094 -3836247051 -1941676379 -3649331835 -3290000069 -717749508 -2856264910 -278389079 -2043281423 -292319462 -1925163697 -2481454299 -2880813807 -780179697 -826098029 -2681371896 -1975883526 -3726825612 -2891796247 -1520938460 -1776221992 -4258713656 -811154739 -3495010973 -2119899291 -153226042 -2306796477 -243036470 -2937403903 -1218497391 -1847022722 -1151973287 -993396810 -281872740 -1342962720 -2695800090 -2766252166 -1703308783 -2449924403 -2367369027 -3048674227 -2740439548 -2795682071 -3935322509 -1236508020 -4148500262 -1442688589 -855503212 -2306075325 -513457478 -2665114610 -4164104594 -375405399 -592041452 -2226019525 -2006418040 -973737734 -1303711440 -192445737 -1964643871 -1044221810 -623267489 -425328371 -3043158716 -2211785067 -2666884451 -2459149736 -890116441 -524225454 -433754567 -656704944 -304368731 -1282092039 -1277075322 -1580033886 -1795850130 -2442808722 -3541260853 -3491455231 -4188499301 -2613696219 -2957283510 -1542460381 -3418794174 -1587489236 -3899449339 -2062063315 -4279443278 -863167776 -1959456506 -3781935285 -3756950620 -1208896741 -1324546046 -2526355446 -1937170924 -2105167461 -2585434655 -3494431909 -3070871090 -4293379298 -2635240224 -4169009195 -2341033945 -589253340 -4202082563 -1113893883 -3598131584 -2911197199 -3147844380 -3959219512 -3464751531 -2694907284 -2223316546 -4048568846 -2590914436 -2351409564 -1886852333 -3898197983 -377703548 -3646755203 -21448943 -1442596368 -4052028856 -3696270412 -92155444 -77131593 -557187761 -200974592 -3290604853 -3712558751 -2927237806 -514408869 -2033881266 -3085752984 -768439322 -408036787 -1755780724 -2513568677 -2525931729 -4136414966 -3940843572 -2183554120 -2776182338 -3344331314 -3732473898 -207887202 -3442554595 -1119417559 -1140541393 -195382767 -524470799 -603383028 -2706808243 -2575707752 -1419300148 -2367527190 -44772322 -3070490180 -1247657842 -2238884364 -3782032847 -2198352636 -2590759836 -1941637160 -1119639918 -810781451 -1260595740 -4016974332 -4180929137 -1121292215 -310124796 -1136446569 -3288479035 -1884278603 -3580564507 -3051579862 -4040295620 -2299039961 -4183755609 -2660052774 -2750710535 -3873018258 -2368445805 -3669140405 -2263327248 -239637675 -1821929779 -4203087056 -3523942891 -3529387182 -2794285468 -1385650400 -3841304674 -4144893470 -3440282448 -2470874215 -2083015314 -1928343951 -3041034107 -3904005353 -2148461775 -1453078231 -3873583734 -2741309275 -1838634328 -4058087852 -2816188624 -156601382 -1422866989 -2820276293 -3651679433 -115647505 -3029791887 -3646246410 -317610509 -612259959 -1577110759 -3040420058 -4241139018 -2555617108 -2776392938 -1965109975 -3632376241 -3183789305 -1409567594 -1079476717 -321147780 -594930831 -3176924461 -2052423804 -489198082 -4206945454 -1966994053 -3475187451 -3974524794 -2050249694 -54148511 -2469354276 -2737566602 -2117517557 -927578553 -1589965557 -1159681214 -397545028 -986116365 -1966948246 -2164524947 -1480030093 -2385651076 -830771846 -287058695 -79223010 -2454732879 -1554014951 -1443541250 -1109243201 -2655092272 -350108331 -3859006373 -196584140 -1336428239 -3399935730 -3261550955 -3872080814 -3431017502 -1706296304 -1685956307 -1994240210 -501260527 -1434987437 -65680078 -3577946936 -3021514841 -291026813 -3122539510 -4113524903 -2439600552 -2560057557 -2040131724 -242614529 -3381930585 -201885383 -3934213111 -3573587081 -1529659352 -377464705 -140827718 -2796767080 -1914586182 -1572092744 -3335320426 -3096813323 -1564153425 -3692874471 -2982463746 -515445215 -3064182579 -2525043061 -86953131 -18290247 -3012569234 -886840310 -1650479286 -2358785658 -1310219978 -385926231 -3739718128 -2832902988 -1823059725 -3926790157 -1294208085 -1974960898 -2644274900 -4047088600 -555862933 -69374423 -518862708 -1283185652 -1534494339 -3146210063 -926539396 -3384757140 -2003817032 -915532582 -1470586339 -206329655 -2522344625 -358651521 -101146345 -3666081140 -910769772 -940820820 -2560570895 -3910090320 -3623962110 -3613209578 -1984577040 -3839698498 -4291415068 -3920501627 -3470610805 -4032164931 -3201862672 -1483461066 -176659047 -3010079203 -2555468952 -1218999376 -3330587498 -309657603 -3638838650 -3401568755 -848012465 -774090675 -1045899883 -1461030618 -2348606048 -529730778 -1236241404 -1797847896 -4146103457 -1431946685 -2556824860 -1058341341 -2202127821 -1456835772 -1335660517 -3072544357 -3917328307 -2955286133 -3742546235 -285688547 -2861428448 -2425851499 -370018725 -2410376695 -2208880404 -555349698 -3911560864 -2853831037 -1279445855 -1941400745 -2142539270 -194703444 -797201822 -3718076661 -888902231 -180699259 -3180298393 -3962117197 -1560236065 -2324469006 -2723835026 -3659781920 -2149420135 -2409320416 -1838705408 -3116816148 -804153895 -1713574529 -2684516234 -1317344600 -3251549611 -989756729 -864375942 -2757272019 -3137505079 -2273975976 -1464914920 -380871577 -340764534 -3582757989 -3533622506 -3455238416 -4055948875 -1936467037 -1747175902 -4172400362 -4035100674 -418937003 -489320970 -453010941 -908324772 -3790894005 -1622136653 -98923565 -225476375 -328674494 -1303157820 -384782747 -594740538 -3650273854 -4140532948 -729628463 -2748012932 -1270253811 -2353729070 -2395937348 -4001559636 -448615905 -3635210726 -3958553206 -4227091924 -2407655517 -224262368 -276925782 -1756086592 -362248498 -583376823 -2836926049 -3846316042 -2380309152 -4141072858 -3257431256 -301472744 -1328060313 -377552102 -633578405 -416740329 -4220899113 -178826076 -42497966 -3025541289 -700938254 -1354947828 -3435206902 -1090922552 -1687900010 -2199740381 -4046379776 -3998361077 -3183682228 -2863834890 -1210653626 -2755457745 -584292605 -3495345282 -1102924683 -3771730445 -1280514316 -2015608928 -1055344680 -461421105 -1874424649 -3836579915 -720314190 -3347582038 -3434949967 -2420866831 -644242352 -958205693 -3081965968 -4056670215 -3507477623 -3660767791 -3737394169 -2027567639 -4044292338 -2017082455 -518111801 -2149894533 -721457718 -3505367478 -3140642430 -1724912333 -4071004153 -1015738451 -1404212625 -297174014 -850608788 -3995850056 -1183481161 -1389224044 -3953687991 -1307089638 -3796055765 -3597564806 -1917214209 -3112771295 -603762316 -1984062838 -741376702 -3276704829 -1210906803 -1253663407 -389480280 -52269076 -2284026739 -599186639 -777744404 -3398954426 -2231625943 -4190207940 -1287527006 -2370369310 -1294018707 -1658751819 -3260611362 -426445514 -1976210172 -649270056 -2566845441 -4262240376 -1681327132 -3621920702 -3209274723 -4026603773 -2011458926 -4096227743 -2722214721 -1144105551 -1470617364 -4241718783 -1023388957 -1444557984 -1201625614 -2888908462 -2225479223 -847797876 -3708216663 -1829763805 -2350305580 -1176941516 -1417554016 -2519394645 -1898636095 -499926535 -3516350991 -1569652670 -4174053147 -266132722 -3941150539 -1496867503 -2301629301 -420280106 -176409005 -605524806 -1883990184 -3037831247 -1137799554 -1947247021 -3078732969 -185282491 -427761081 -1361595517 -168577291 -1356525643 -1545261487 -1583298477 -1842813739 -2888963550 -4058898059 -3819024462 -2244319543 -3102969422 -490515825 -2677775453 -3423771991 -3764921256 -1874735126 -832895298 -1641221321 -2636299079 -203221600 -4255516732 -4133270592 -2432239555 -334133759 -2226317410 -2729182672 -1080071282 -3271315188 -1672580641 -3291444464 -692008487 -3943496381 -3552939866 -436575526 -3393352892 -3078573259 -1572026462 -1967604694 -240311375 -37244620 -4117966463 -3584183487 -4262911202 -3779201508 -1155743314 -1453434517 -3485641312 -1315784753 -3988230615 -2756037550 -1127593010 -2421633085 -2712588091 -2824160907 -1952948745 -1550738140 -587469429 -3840859020 -3176430678 -701252302 -11866956 -2249671163 -1754557233 -772001310 -2968004708 -323229491 -3618565998 -4047613988 -3486853989 -822630613 -199082578 -1592306065 -2507872335 -2215106410 -2039092256 -3900102446 -247879638 -3939720287 -2502008207 -2301400961 -2804576590 -2243355916 -4158458042 -553972395 -492225845 -857887284 -4212197328 -233877059 -3270560763 -907438323 -387241209 -4008155967 -3147490536 -1745423154 -405147843 -2472376645 -634920382 -1759840059 -3672657988 -506159183 -3904328626 -4087589846 -4023974207 -1158499857 -178259628 -2859638196 -1946681420 -2312776751 -335614964 -3864291905 -3645071300 -568240972 -526285467 -1520707488 -3282503029 -3315089120 -1396581324 -2655022584 -957954675 -3225541744 -2269497644 -971808475 -1344218940 -3322654341 -3968582229 -3527482179 -2879612821 -38473860 -1206226939 -1117535122 -2552522100 -3218517076 -2964782638 -2647653918 -2740874259 -1780016303 -1919183353 -1720677746 -635770255 -1573241797 -2144808363 -1887340545 -2601865514 -1492497181 -3211485444 -1581460326 -3517808846 -2465040167 -2380703168 -2204656389 -2622021602 -871562229 -3513404067 -2625775055 -446309903 -2570212568 -1606310693 -1686510910 -2204791455 -3244751838 -1424388831 -1347831390 -3936294291 -1120005866 -2300311933 -2068642415 -870112050 -3695505910 -1239007391 -1119179517 -2507289252 -2898706651 -2617617599 -1720277109 -382595135 -3495891420 -1256842226 -350229899 -3591720738 -38886279 -3915351102 -3267217196 -2588417954 -1721632372 -2360961677 -1105463090 -4242446297 -1660809967 -2700576092 -722101632 -2821607544 -4104120719 -2502829559 -271977991 -128614166 -1212880890 -2814277272 -709839862 -872193917 -794329793 -3875418129 -1088199498 -3827179127 -2094916154 -988590585 -2850264270 -3925639002 -614013576 -913358324 -2404411196 -1887512180 -916908403 -3256581227 -3851150900 -4122778367 -4213220488 -2315734458 -3646984201 -2804394628 -1442877318 -590852069 -3507161388 -3234058180 -1236794803 -1609379802 -538771611 -3858430150 -2308963548 -3329229202 -320069439 -2016721411 -732150922 -2072214170 -134004903 -1159097953 -2824193973 -1906196488 -1506412485 -4097819257 -1519556863 -3435650403 -2999217134 -2661930526 -3832983792 -3044119929 -1470574538 -1744043032 -4177692476 -1381650873 -1807987246 -4148963932 -457799408 -706877156 -1329737420 -4202318612 -1733904323 -445176095 -739561164 -457340827 -1080368398 -2849962997 -3806303034 -263160748 -1945967909 -3672768415 -3153377618 -3635092018 -2140098904 -1443903317 -149642899 -1937984608 -3362782408 -2026790462 -1405021941 -3147525369 -821954250 -1269646023 -856447262 -3879173315 -1727876481 -4062280429 -1192646833 -781517487 -1466689859 -539933978 -1517137289 -1191802924 -107492984 -1723216885 -2883176931 -2573697331 -3925298098 -1430843787 -3738204221 -681348166 -2638158578 -3252681586 -638178227 -921196863 -2483588445 -1331769470 -3961587721 -2285740225 -1245882791 -2308460353 -3119224910 -69109225 -2896572891 -3875210935 -3645735001 -3630785398 -162869517 -881610715 -1928663624 -3713591717 -1368534337 -1582518311 -1126146737 -1888370073 -3483957932 -2975912060 -746797387 -4164480449 -3159432211 -2053705509 -3516913649 -1895615198 -894221843 -1218868255 -400320756 -4234121007 -1687200245 -2157330103 -1215440843 -4184184177 -3393796898 -2925005719 -208274935 -2252261581 -1967475380 -2703150174 -1660061091 -3909459119 -3563550815 -916445852 -741517855 -3783005762 -3716399424 -2223577682 -4258900016 -1694723961 -1402131857 -3005693351 -2016249001 -1131181263 -3854333876 -7077734 -5847280 -3086526947 -406170693 -889375850 -594952260 -3460488707 -2327657136 -2295472094 -501399083 -2446727009 -3133642718 -2381357129 -4221655935 -3240337393 -575627325 -4232524212 -4267791960 -3738236363 -1870813190 -3639156503 -2523870390 -2107171427 -3974607378 -2238664216 -1818604774 -1856045396 -3402342162 -3595801336 -1790598130 -2143442909 -3846572672 -4027028175 -2855956255 -3185403224 -2767638317 -1039580908 -1135740376 -861889973 -669823471 -767570404 -1101961049 -141434794 -3099578956 -1723516519 -2368513168 -2552309946 -4026158427 -2568131585 -341922603 -3712034904 -2094980403 -3309129827 -1065342906 -502844043 -566089124 -800814213 -1021980669 -3320332848 -1502708270 -3756860474 -3628612472 -1596894807 -3407075215 -572328855 -726211680 -2358795183 -1104084721 -2975116611 -3028744354 -408468629 -3940417479 -240386991 -1473387913 -1876717813 -2312433057 -3364313428 -1872893510 -3028086117 -3729021814 -2741805787 -3890198697 -2546778708 -345773820 -161863450 -3127913169 -3184038458 -3957433687 -4012024471 -3252572860 -665513752 -529877469 -3409767390 -2728799899 -151727078 -606293663 -20638385 -1802385166 -1338178979 -3972306353 -3275036221 -4286478087 -2525309462 -2554203238 -390942472 -2091322883 -1908850845 -2232370001 -168151102 -123602519 -1244000402 -3594587334 -2205591364 -667389038 -856068598 -2756638949 -3271735932 -1211765998 -2761707666 -4284490592 -1564816496 -1291686545 -194092553 -975244491 -148358119 -2070448527 -3572957560 -281501616 -2677261459 -3347079326 -3791674095 -2515435332 -417346662 -405140899 -2255162102 -3795260492 -4046794230 -3676514228 -3634409759 -4244931120 -1914648691 -3532234327 -1584414504 -4013132630 -2228469018 -548521821 -1826327833 -4170156901 -3499020159 -3176718381 -1152077205 -2753999817 -1241808503 -1043062718 -3412301032 -1666120905 -2397348667 -356468913 -1068178803 -627937632 -2479687690 -1770562486 -542616567 -2229828553 -146174121 -2225569970 -2072141375 -90987341 -4059535405 -3749562615 -60324743 -4203291870 -388856864 -2568739838 -149459694 -2494263670 -2699399660 -3435499703 -4041215295 -4292299825 -2385897053 -1920180933 -28149376 -3287247365 -1519310450 -1904374721 -3951280029 -682424170 -3534161098 -2952516516 -3109794988 -2542036671 -4176719274 -452869063 -858953041 -955344586 -115578828 -3812602648 -3514529474 -2747490452 -4021558453 -2139153852 -2642077300 -957258547 -186283242 -3290249608 -3150694260 -3835612752 -1116520777 -503309689 -3153101153 -3270699925 -896142778 -3733292855 -1761956614 -549983931 -3901486111 -4153456310 -2144471157 -934420279 -2100454623 -420674173 -2986749450 -3469289126 -1865152472 -1684606086 -2631455567 -2080572882 -254249635 -92601696 -1463198021 -1825030026 -4025785056 -4028675264 -604399744 -918328080 -1727267311 -1649569114 -2426824898 -2710659474 -3359814378 -2524300172 -78430955 -3956467348 -1600855037 -3976618332 -2089940395 -3983361488 -1114058438 -1609030269 -2323982539 -478872977 -3774651439 -2578197805 -225708691 -2346637994 -2811023056 -3057142456 -2589007460 -3781965796 -89788623 -3307155192 -1871656856 -3152388292 -3867320812 -226846624 -2734067284 -3621672899 -1082021319 -2004922534 -2059637059 -2234611363 -423252642 -546361671 -3415315131 -2763071979 -4025441516 -3662047628 -4145635531 -3918476436 -999509301 -2100524810 -378900004 -1287335525 -2942001149 -683817556 -1307790932 -4266519925 -3396383326 -108317562 -2546760800 -3200627339 -309763635 -1754471132 -4120750102 -3782062717 -4034341763 -721548101 -901444457 -4259204867 -2556211438 -2100359078 -2875466488 -2851140660 -386666046 -3317751570 -2863343196 -3705494544 -2692210538 -678886920 -4246971047 -1714797999 -1207121890 -2706893775 -427840315 -2555259241 -183698627 -3128772418 -1805998546 -2452895769 -2146998186 -86025168 -2346279194 -993209125 -4041147895 -315737890 -2134331108 -745210875 -867262502 -2908436441 -312402270 -1007478312 -2990671982 -3491044913 -2239510790 -4049390122 -3673548367 -3279563532 -2768281951 -2463292068 -4229684218 -3342073929 -1685297601 -2403555708 -3051350908 -4060257931 -33194106 -1195529176 -2049293439 -1342972509 -2015059793 -3476838592 -2087459866 -2367932252 -3474371226 -72021981 -4289909320 -2690928804 -3974047601 -3865442079 -2016544321 -3560345325 -1774514047 -3357960033 -3916073239 -3035166711 -2037423953 -4237279717 -2748061640 -484515724 -1342720485 -2378566233 -3807599683 -2243451499 -3545325339 -426675042 -1809539197 -3535139314 -617675193 -1640621461 -3281528548 -559038305 -884721473 -2289868597 -1914893614 -3307756037 -1102206250 -2191445861 -1537145930 -3250246952 -3895064368 -2979742746 -2250041059 -2498873339 -3190428361 -2946401893 -553677603 -591574264 -1441262024 -3291763448 -532619858 -1268504293 -1316714984 -2403696195 -3037219567 -4229173563 -509282032 -2054231022 -77275089 -4204014228 -3678585025 -777830804 -1987996996 -3310066327 -641992467 -1800094106 -2180651445 -1062840855 -3041747834 -2528268695 -1150176206 -306591742 -3458704296 -2602378803 -1171366575 -3251335327 -3839451985 -500029310 -2855336761 -135185478 -411725303 -3205231626 -1460051889 -356767054 -2578570277 -550163628 -2719552209 -2677611998 -846545480 -992454776 -2345410147 -4179915254 -4234492268 -387558786 -730481803 -3236452971 -1363011226 -1246601190 -973497720 -562374061 -441270933 -2253700654 -3585847274 -1491050212 -1675012056 -2050889729 -2528511797 -2644501022 -3150383086 -420009078 -879515504 -2303014148 -2450173662 -857542755 -3724180002 -2535467150 -1750462074 -2531490987 -2276403902 -2695459659 -952204871 -3766323811 -1142218700 -2092204553 -4123808263 -2176919164 -948089917 -1834839456 -1510104036 -3238305522 -896122153 -611404335 -2163977519 -2945592278 -1807551167 -1299758020 -926007414 -2175140362 -1269440641 -1280662735 -3656150543 -2294870211 -3431525572 -597287452 -2356412774 -260331108 -4204129542 -3783251029 -201081009 -797446510 -511253550 -2737126294 -445974320 -1256169040 -3596963176 -405827342 -3138609414 -2032939127 -2384473083 -3136790846 -2568382242 -3132381458 -1167535889 -2319093144 -1513834633 -1877788064 -1038010856 -1406447106 -4161959 -3671116958 -2885694978 -4086160180 -2024545470 -1399480754 -1465166480 -3686741263 -1723159146 -4062493664 -3878547450 -121982780 -2088553922 -4268516741 -3302025148 -4144118925 -2737966153 -2508717821 -660001806 -3845757503 -2164690141 -1134002582 -4009568627 -2484830852 -2379482856 -2258525215 -1620466858 -1496439447 -2211467187 -209910583 -247898406 -726850246 -688571914 -4266020634 -451677928 -2922367159 -3499437554 -4196409235 -3757069227 -1465432865 -4028116998 -4212747565 -759703787 -3253634397 -2409919874 -1749570366 -4270565210 -1687793560 -2281484821 -2862248965 -3576974452 -2292629964 -1458543914 -3584898861 -1248349247 -771435253 -4201999379 -2606470303 -1313320020 -1201291814 -4099111906 -1991687429 -1573354724 -991215698 -1014109010 -3221065101 -1762430284 -2109593356 -1866705358 -72861049 -620196996 -1435140717 -2043740206 -431386733 -3041760130 -4036159511 -521803281 -3994622077 -3882389428 -2659306625 -1482685235 -1189402 -2540122279 -1116528219 -3381094507 -362412149 -1142979764 -3217811862 -2147340857 -297747773 -1545168876 -3678662084 -1046627836 -4204753880 -2602043361 -3536932032 -1699374549 -55385156 -662866657 -907805548 -2762852636 -2095827961 -4119987853 -1355137370 -926473528 -3729367211 -2366948054 -1109582923 -3049206138 -3508838901 -3501165886 -958265153 -1214827251 -3078552523 -2973193248 -2771110470 -1192407278 -2138312073 -3962996502 -4195932890 -5439643 -2495088740 -2957618610 -3220550509 -681163341 -3359251742 -2473120238 -3159492559 -959932144 -682481970 -1806804743 -2364168200 -2597491549 -1988732049 -1563534535 -318938570 -877435420 -2351281342 -1248507739 -2249265763 -1151679370 -2973005979 -295439239 -373717003 -3140707223 -951831206 -4014254169 -216459731 -2660644265 -330718453 -646992436 -3408597605 -599352133 -898653976 -1498181993 -962171798 -3184372907 -2982638582 -3789626776 -2763294492 -1862820645 -2553767405 -3226653788 -2631518637 -921276484 -3386258730 -3589420277 -373353503 -4097972833 -3813196543 -2850080054 -1923502931 -3702943376 -4265135004 -765801142 -1339664406 -456441304 -3320856607 -1951371717 -2823342525 -2689991675 -620051303 -2083214990 -2859671854 -656284556 -3349862349 -3964045686 -2450565721 -2016234637 -1721345607 -918861584 -2532803014 -3636848207 -644712268 -2453169701 -1489700679 -2109061272 -1225596209 -3037329004 -3409361961 -226099737 -3444940404 -308894870 -393465030 -4179812444 -1740698365 -3086571919 -1243848113 -378558194 -1609262479 -3088819839 -1951618360 -2796084376 -941846498 -2541472962 -2519797502 -3662412283 -2632432798 -1166830612 -3703757491 -1179467539 -110656262 -4119542729 -1767673905 -2232343764 -3797824193 -3911460446 -2789382493 -3938741462 -3638840366 -786036134 -161512192 -2948317796 -123424717 -2589365169 -2320642623 -4047180600 -4010090805 -4037330552 -3134021948 -3706694344 -3127223557 -474748048 -541884947 -1577276193 -1688711162 -2568961685 -2984858821 -2922127315 -3256480510 -257046353 -3822368874 -3103392606 -3550209118 -3090547349 -3256479559 -1061317890 -3540580649 -1367102482 -3552266637 -1882811379 -341630588 -3678037527 -1954384655 -856043756 -1097198020 -118819797 -3933610952 -1949779810 -1280382506 -319976802 -2577575936 -3492108653 -4083768867 -31606466 -782682622 -2418839467 -1592377835 -264553872 -955944151 -3978381108 -3163621218 -2944232570 -2407686398 -2115787890 -1551377942 -734693081 -3496072400 -3949580127 -632085989 -3112561712 -3250934900 -4166169764 -1519407178 -3612581215 -2562358783 -1402035366 -982630424 -254244593 -1374251218 -2750225731 -2194022467 -690077264 -165119564 -4266956628 -2606501793 -1373028083 -792723091 -624014591 -1872798626 -3150864942 -2027934086 -128064174 -2245609009 -3287639232 -1348220311 -1522532234 -1232212248 -1267535540 -870410267 -2754828457 -3868001639 -1359225388 -235834622 -3752380436 -3730820595 -3956321637 -2413383331 -4278865555 -2693818714 -489120362 -3124314246 -1706899380 -903820173 -3350702762 -1875862285 -441271345 -2037175859 -2205116082 -2346724288 -3547595075 -1666749092 -289795114 -4129883540 -3579430864 -29035871 -4017433578 -2534323836 -1301607112 -2553608477 -1024769368 -3258714897 -4279853836 -1143744627 -778700911 -3103974620 -242130611 -1054051654 -218669262 -130458069 -2065079855 -2655680099 -3269685977 -4247417423 -2286803342 -4175703827 -2060878972 -1179429852 -372960755 -2892358588 -705458823 -2171708995 -2500101358 -253759673 -4196074137 -1538126192 -1065988861 -984112488 -4176508216 -1439346002 -4241446131 -2035378124 -2781294508 -1244638381 -1119800294 -2000611569 -411494096 -2139635949 -3189582524 -119237527 -3698283775 -913539962 -751752899 -2634669595 -1844328427 -3237420508 -3426778924 -1778209209 -3940430748 -3511330966 -3955128263 -1175085250 -3398458466 -3188998534 -438926441 -234672391 -1095674839 -2739944851 -2377416606 -2203926056 -2116284214 -3889023991 -1429169640 -1194422132 -3848573117 -2417941758 -1992781211 -1133581935 -1094863294 -1915572451 -1496199161 -3005186553 -2594348194 -3143068804 -397657701 -3459885218 -2431423177 -1992828114 -107945219 -3044752819 -2680981907 -1619733317 -3846770186 -1745415768 -41714002 -3717851893 -2299631868 -1757086337 -52170961 -3696092374 -1481741266 -1792303845 -2057974876 -858436693 -2153457784 -1211914414 -4149114693 -3722871629 -1836981472 -3370384225 -714795175 -2530742250 -2731947729 -985648055 -67624256 -964071052 -4074592602 -2679488695 -1350144513 -1760137138 -1832336365 -3305760173 -3034743795 -578191652 -2847086707 -70540527 -295779447 -1147491937 -396489819 -480166835 -3716204796 -1028616602 -692114190 -2878280532 -1783209659 -1556478756 -390721761 -1605360516 -2955730123 -30211890 -1406875184 -3598422149 -1448860351 -558041524 -1529362113 -182946665 -4032068088 -2886667615 -3069280484 -1530731474 -3346839427 -1262916674 -1768471332 -2202611923 -665040907 -277337212 -83935353 -922901639 -2066724908 -971513023 -1668832373 -1488114314 -1899080360 -1343491104 -2200280864 -1459027177 -3472275099 -1255081745 -3453711947 -1797651137 -403274812 -1643142403 -692051937 -781034171 -3400254053 -3883920638 -1901755708 -527360390 -2604771251 -1811041081 -3546210130 -4285821214 -2878344853 -1713691847 -2051310669 -1979266046 -57992494 -2151985011 -2253702322 -78155996 -1004652397 -1541714781 -3083451593 -2670677203 -608822244 -1351633739 -2420513310 -2736265900 -1801021106 -2348945429 -792250343 -1930437931 -2523254891 -3335236623 -2592817313 -3646190218 -1799971804 -1765785792 -3495323301 -2014391980 -1477054215 -523641202 -2604457068 -323137 -4010586332 -1883238503 -1306890274 -344811677 -4086535934 -4141350784 -683270961 -3416494913 -3412487448 -387631006 -2946219625 -2715958161 -3043179312 -1221919990 -3416304797 -1905310756 -236883391 -2731459497 -3236627632 -813223969 -258234301 -2419008830 -1967299525 -794728221 -282368905 -3200661183 -2794657111 -4171254586 -4036967666 -2004939968 -1471389873 -1331225759 -3301227279 -338781159 -1821180854 -89325628 -2252573329 -4278981703 -3466410039 -1455671479 -1948417091 -2408448734 -172308248 -3802149380 -3979082782 -3691302740 -1045888782 -1290034426 -1359860715 -3079544862 -2545797091 -1202302394 -4144405727 -1355831442 -4041044335 -2016880951 -1800930442 -3907307102 -713912938 -4077377901 -2662922727 -1696071256 -2052537106 -1782184515 -1811517214 -2006552870 -1412811154 -1332178897 -2465354660 -4182846404 -3577600842 -3487867834 -4254225344 -3344704529 -801877981 -3427642966 -1180941835 -919755422 -1568166625 -2820807511 -1399553257 -1987436950 -3374548908 -4182834142 -442583266 -567345662 -2779443848 -716482501 -41856767 -1227612340 -4146208664 -1427180090 -422846504 -2879825793 -378431145 -2718729170 -1696702270 -4056138460 -2852228416 -3351910268 -3725151358 -2828295830 -2878682075 -3808482472 -2856497367 -3322890499 -1947535730 -2318866963 -693728138 -2353862687 -3749463313 -317036810 -1792152197 -240563341 -1185900597 -2357204700 -1439474022 -4161329408 -320433614 -3768942653 -1322008913 -2534006098 -3081574020 -2790453157 -3219311160 -4069912951 -2072917214 -3727299051 -25814111 -499342025 -20003871 -869214097 -4076681871 -2107538046 -431484641 -867757662 -2460134438 -3407994121 -1435174446 -1817103457 -2377321188 -2429960381 -3605327920 -3850250820 -2878508508 -3703282267 -3992371769 -3336081648 -2084223273 -2720172627 -2570305990 -3161946132 -2678530403 -2874169023 -304007736 -1233286837 -2961913662 -2073023224 -3500987172 -4019586854 -3181422555 -211375265 -175236713 -427362417 -692449001 -3695012311 -2795328937 -3452705482 -2363728365 -1284563213 -1801317995 -3750439120 -2586829324 -2277437707 -3639071408 -2678032816 -3988686677 -252114874 -867685462 -4023342911 -3534465538 -4132652200 -2877589572 -2834552776 -631092364 -3930087549 -3724605443 -1708213859 -687432959 -2859258680 -2161508343 -4095351728 -680474819 -1212334904 -4238605265 -3543698767 -3749108938 -1710742918 -553613995 -4231319329 -2561065214 -1799753800 -3911565515 -2265139510 -4244021632 -3459305935 -328337474 -2105517069 -1399647381 -662333159 -1218767073 -2062647228 -1606204140 -2248433334 -2224731129 -3283156484 -3888961044 -3006381555 -2697412105 -4026072538 -241883824 -3725821278 -2806246680 -2182832240 -3605357100 -1096474973 -4042086008 -83010282 -2752929783 -224643096 -504841957 -586183778 -1433982257 -3393644567 -3371612406 -2368632788 -1242000200 -2584375808 -3809549957 -3386652868 -756259349 -218487586 -2991613938 -474828700 -3089069464 -2978639659 -2623763201 -2170216283 -929331292 -3350277431 -900615699 -2673125013 -3424505860 -2976719215 -106124885 -1887696455 -1856990498 -3396630401 -2425817372 -1227130920 -3269046080 -1020904026 -2354715723 -3564304401 -416375471 -2563473206 -2454781160 -3398619317 -234820736 -2148887939 -4023272748 -1318266834 -1939107317 -2988691921 -3629141174 -225782880 -3216822492 -3056883752 -620224059 -1549389340 -414870049 -671508058 -3088171557 -277875777 -799305044 -323523465 -1695266456 -103712210 -763405930 -2562909577 -2335970682 -4169895428 -67442564 -2914741802 -3515476582 -786610849 -259187555 -909034171 -3278364109 -2433713251 -2886209162 -953772732 -1844827866 -1189872879 -1095645041 -1750226114 -3569499400 -1271932560 -2641334331 -1560177282 -3727133640 -3017818919 -2967804318 -3539164083 -964175838 -2990925303 -3723450060 -1818845132 -2626917863 -2974217419 -1529940826 -2249977789 -926077209 -90911606 -2470147659 -1082076382 -398543989 -1758234358 -2412287176 -4250322250 -2132070530 -1592993014 -746555599 -4055388280 -1615507504 -249364164 -4022358697 -496646919 -2043300246 -3764330461 -841304419 -1266255470 -427075775 -1837719172 -1909269568 -3946117927 -2241006844 -3709648167 -4022504909 -2593008142 -1834414272 -1234888624 -1725362156 -1586259300 -1208345849 -3554430893 -2709863157 -675318141 -3589243395 -331527344 -141130977 -3610777702 -3556621577 -1308850524 -3663997276 -3977178075 -305594055 -690441540 -1391335405 -2368657463 -4169404768 -2830221309 -1109804008 -3948367528 -140801325 -2979642662 -7761692 -2938734491 -1303025273 -2078491528 -55742608 -516366463 -357154011 -1729344822 -261722291 -563472591 -3369130599 -1943714454 -3113791357 -2110371751 -2307028835 -3479121643 -1332640541 -970936332 -4070941673 -1747815037 -4246482394 -1747563713 -1815615665 -3367560812 -900036867 -3279978442 -580753775 -2051329400 -3280101710 -3566042215 -2336016884 -2373679254 -1488756864 -1110392664 -2401780132 -938132304 -2812986572 -30080882 -421717888 -1456840436 -1367123629 -1646900050 -4251880598 -2630020374 -3128249 -922982653 -2944739433 -3021094891 -1458959116 -1480158447 -3066874179 -2632300626 -2696062298 -3538311063 -3152127082 -1260015635 -3597232126 -3137199089 -1343057014 -1600622289 -1506217442 -2719457677 -2129456124 -378824159 -3423378018 -3059231429 -186750228 -3325366154 -3297780353 -1793464317 -454407786 -3650332401 -3621175267 -2400234614 -3588649376 -3932001467 -1336692558 -3918601607 -2335875489 -2540962726 -2883282784 -3581176739 -507961776 -4080283905 -3277287680 -2781055775 -558013340 -1946888484 -282753918 -1030511234 -3070135762 -3321173203 -770608570 -537624271 -1318342296 -3575766596 -2983465264 -1395684072 -2706549491 -3017445744 -1601347941 -2528862126 -2665852553 -2812627336 -1049155766 -2340800605 -2880860944 -1517428275 -664483888 -370953555 -2268578781 -3826516680 -820811545 -51005231 -1880721202 -3586818877 -1114670876 -3011417590 -4232279860 -1356828871 -1915678175 -733441022 -3995691152 -430266930 -2233261518 -2156044704 -605018827 -2296998010 -1204938010 -3638438568 -138163965 -1455709391 -3987803780 -1028069570 -3829934637 -953453051 -3740943160 -197000233 -1900099086 -43588663 -695262706 -885615586 -2901903443 -4216394442 -3783141790 -2815169283 -4019385406 -573231158 -3235225450 -677666465 -1283298913 -638941181 -1037867934 -2531381719 -1302857375 -2752936575 -1302108949 -301445558 -3644966616 -454660025 -3014390427 -1573663649 -2841194296 -3958418457 -780914107 -3036470151 -4219771431 -591365930 -3979113824 -2763534942 -3953187864 -1716341884 -2825128163 -123928135 -9181152 -1158402982 -3964165054 -353917564 -4181256959 -2188297691 -2066297340 -970963234 -1231417244 -3562052400 -304064304 -2054717532 -1827271528 -7883984 -1502092505 -739240073 -2363842218 -701065050 -193607692 -2287655641 -2351997688 -110044376 -3305414422 -750412112 -3611472440 -2968469318 -1380448861 -1521148690 -1297793195 -2494422972 -2689346794 -2489414514 -3739248030 -1624390851 -1336760407 -832143244 -2131462043 -528807962 -2292263121 -2726733253 -4124136686 -2083254300 -3197657673 -1172352192 -845443122 -445302699 -616184919 -2027911630 -997140638 -657613087 -1071725742 -2458859196 -395322268 -3351073356 -3652194357 -908439613 -4048158959 -2062369928 -1502907208 -3430054170 -1703115371 -3937256854 -453693056 -2700905397 -1347328655 -1695311325 -1640740847 -1287135030 -1295650667 -3692047503 -3187820605 -1289859172 -3131345006 -549291001 -4257836680 -4142627753 -105612644 -3016265830 -1902896377 -859304470 -2594945395 -1198151228 -436317110 -506770506 -2965709434 -4105456519 -4154745881 -1181728580 -3873130093 -1608073117 -3431912062 -718128194 -1020009104 -1761433479 -3332599351 -2620645114 -2723296145 -3005676333 -1152711827 -3527089144 -484959914 -4252580530 -1828152152 -2166092855 -3284088484 -3471278477 -893785288 -872129367 -3038583232 -2582264090 -4027310661 -561339471 -2173967856 -1040828273 -2845914233 -403137598 -4090144615 -1388467412 -3082180576 -2841667530 -2782746972 -810817879 -1156224669 -2198404343 -1316460719 -2260800862 -2520200703 -2664605006 -2063138787 -2238428411 -3386685751 -2645027114 -1540501579 -2482561431 -1066116916 -307217525 -2047441593 -3251541545 -183315845 -2844733484 -1762241112 -1472917006 -861857698 -3246796060 -2652761074 -2980365418 -1961961680 -560164937 -1040149334 -2766844646 -4057750129 -1135400093 -3455521951 -1748414588 -983726190 -2630462408 -333827442 -3902329960 -2707731699 -4110392671 -314174400 -1080950066 -3465427593 -3106779251 -4173382496 -693696080 -1683763826 -2472120283 -341337930 -3593632105 -1055918453 -986576425 -276977582 -3626230611 -581422136 -2018231298 -2163553511 -4205112015 -2487570033 -3878139168 -842539613 -1970068750 -1211645640 -2012543206 -4263817275 -1179505949 -1161237767 -3492264446 -3345842983 -3934789695 -2405479983 -351401614 -2205597053 -3920000011 -2593019856 -3594631415 -691649502 -3843641764 -2453396851 -2174940811 -1399210500 -238143438 -897569779 -2220889421 -1337567466 -1657216766 -3759667365 -3331740950 -2529544497 -827882101 -293449682 -191325072 -972426541 -335394877 -1477559226 -410091328 -1455208935 -2818091707 -1398303780 -767473152 -922444732 -3288726164 -362045761 -2837145602 -1311637592 -900041271 -3423311982 -3309628061 -3455376223 -2567912211 -3333781680 -1582658045 -775825876 -3431349816 -2132734209 -2570291967 -2454165790 -3051809806 -3459500095 -67411622 -302719711 -2642680595 -2279541191 -4118529431 -1924061271 -2939379071 -3667528970 -4172934211 -92798021 -1084243601 -574257454 -1813202874 -1932468857 -873624798 -2276267240 -1633988500 -1236859159 -2556100434 -778337761 -632982952 -1919107960 -4166542196 -2689865632 -1415489177 -1108678956 -1028669987 -3584917518 -414929632 -669492832 -1152726710 -3994457268 -3027820399 -2977574425 -1362479460 -837578921 -316938822 -1837042472 -2822952643 -2378054297 -2200622382 -1737832257 -1771340417 -905699819 -1610894190 -904637276 -4169754213 -3385330396 -3369818192 -3185651513 -3703025582 -4065265801 -1883952240 -4180685826 -3838527494 -796747387 -1542946817 -3466188529 -2844358261 -721052692 -2801817350 -3318311978 -766188451 -651215122 -1753953217 -3150652846 -4100945971 -4286458946 -74970595 -1745984224 -188817829 -3221973878 -3176907897 -2838398039 -1622398181 -428797025 -2367047834 -2202804853 -2404768872 -809240834 -2215127814 -2251263306 -2502802488 -1494016874 -1128516970 -3788763498 -1520852000 -1233186702 -3024750480 -1635980563 -2728576756 -3540353807 -3540217166 -2773403560 -1868343827 -908522890 -1664990781 -2878938181 -1789904830 -2723501270 -3234437101 -4045307669 -2072699726 -2521195940 -3222507411 -3790648231 -676793109 -3122398200 -35787526 -2860826438 -1069905408 -2446865541 -2966200719 -3829438327 -4080938335 -549390983 -3014192521 -1931038170 -620676571 -609249816 -2399486442 -2599902952 -1413788090 -466289414 -553129789 -89735613 -3343124412 -3259265973 -4014222677 -2728335251 -3678792314 -3096587264 -1763748462 -1184194936 -4218267981 -4144802834 -3670004670 -2175236016 -4086967031 -295256444 -378361042 -4097896420 -235295838 -3303759582 -2014782901 -3436191173 -3467768688 -1807272007 -4143977645 -3850205659 -1246791068 -2481443365 -2346080191 -2336624075 -2475831549 -1989350290 -1851967548 -1695699931 -4215849345 -2311897503 -3985054597 -3636070219 -608255193 -613704945 -705981514 -2347842526 -312825162 -3843581947 -4109141528 -54581123 -3901175129 -1641174372 -785554524 -950021112 -2707154000 -659416927 -85429981 -2348060801 -544091759 -107996671 -1993180566 -2369815531 -2779720269 -2738299430 -2403813091 -1723139523 -360377902 -3224831272 -2762756607 -1161858595 -4162818422 -237592 -2378237753 -1140544106 -229877794 -2715146206 -1295227553 -1903407095 -2683379927 -4008433336 -957783704 -3395695829 -895866231 -2616836137 -4041269688 -2007586236 -1498065483 -1754412637 -1370271974 -3910508489 -833913852 -4133748021 -2120487437 -3464854065 -2830461428 -1225439969 -1470774164 -3714842617 -3903055176 -3278245953 -1696108730 -322389968 -3969444481 -2419553136 -2878627958 -4182244380 -3876554035 -2625710922 -2486770006 -2740172339 -679569617 -2229215919 -3611976852 -2630461096 -1999110897 -2717857906 -1016053512 -1567730734 -3536813050 -3140743524 -2295724841 -1826092651 -2388417553 -1576793383 -1950829218 -1566641013 -3202259846 -695778630 -3116540768 -2102769811 -2810940169 -377975296 -1884762138 -3002324177 -213858653 -3210116529 -542891836 -3140897926 -3765074081 -1072381535 -2800075698 -1634306415 -3344068332 -607269374 -2987365348 -2607595245 -2844954257 -1946876391 -2892975772 -1684976329 -3154063346 -1026568784 -3546710121 -3407175226 -1224007095 -326584600 -4256913704 -2121943453 -1652913365 -4126368140 -2719989579 -3249824895 -309718058 -3803068656 -2647600424 -2992736485 -1959670234 -4037105652 -3253381848 -2388736701 -2717134283 -2567888063 -781740169 -1470723724 -3062898257 -3615150912 -745764116 -2975230353 -983148424 -866436452 -1019804037 -1602977367 -3592409597 -3482914048 -589068480 -4141106509 -696839308 -309757675 -519138855 -2709435127 -778195884 -3628687438 -2698873875 -1229425987 -3565573557 -3986588919 -2680433399 -2237423209 -2127088705 -3641489017 -3040888291 -2765197897 -671245056 -2084969471 -3889930595 -654361927 -862074371 -3316282649 -829554617 -3522385154 -2993485081 -3050949125 -618739808 -98616949 -2830607303 -1960889427 -2489675056 -3859112914 -625477676 -1771295787 -1183776438 -545803262 -1267518398 -2482983780 -1244458038 -1027399129 -947585038 -1523817352 -3994734919 -3609371797 -1688175707 -3445967648 -2140386786 -2712121806 -2074521779 -2644897215 -3203625637 -2713955306 -2346767594 -3093764709 -990972113 -2003786748 -2300638850 -2017460657 -3007808149 -1022487576 -569382904 -650511328 -501733511 -4268737748 -140840943 -338298749 -2370870129 -1960731393 -669617684 -559799326 -2385056981 -341573204 -2489576172 -3446878688 -2151013307 -1336778961 -3385071612 -964397183 -2177105081 -1018541519 -3110456040 -400891361 -4010410330 -2228196117 -153572728 -3409749397 -4112708743 -3012005981 -2760930345 -1183171216 -4244199961 -1840544995 -239031352 -3104241588 -1395020353 -2510557151 -3586986273 -1215701153 -499435820 -2918992374 -3989394778 -690754450 -2404794361 -4265847007 -2143120560 -3974258780 -1963494973 -1315836372 -2416889571 -3893570156 -798281755 -3105415053 -2829903115 -1618207896 -3788061236 -1722068048 -1515707191 -2195977186 -1085717455 -1972240601 -3534994730 -2930973046 -30239734 -4109404764 -2856048221 -443309473 -4115405248 -2881163202 -2958127146 -1501572725 -3608499185 -4141687964 -114970833 -2884594787 -2674216153 -3597816665 -681753160 -1790296161 -1750968097 -3709191339 -2314918335 -940746406 -144564472 -1709159540 -2843479426 -3048700456 -4224196283 -4275403385 -963346943 -487043468 -1345057140 -1226824227 -1838156812 -1515925381 -3246577932 -3172937643 -2248782483 -4010279200 -237569570 -3147107337 -1347015433 -3032062457 -2567573594 -1429112155 -3884584471 -3678470980 -3314468979 -3307948751 -3704461812 -2009335453 -1155686492 -2416745684 -2855044763 -1574704771 -1633949308 -884773264 -977367873 -2543258371 -2343630449 -1788640028 -3424449385 -975511082 -594709901 -2162229977 -1544646740 -1744041834 -786818204 -3027760758 -2155344600 -2793752473 -1194207602 -195229046 -2251847464 -1383259646 -1268850704 -1073773608 -863508084 -417047148 -587545909 -4118133548 -2612156242 -3944502888 -3497900842 -217168038 -4206356486 -1143050321 -2498421370 -3632121235 -61263649 -2910696028 -720097578 -3108188527 -3448878754 -3443812928 -947923455 -2175303337 -281646494 -1023005678 -253505018 -935553016 -1240139029 -2866556868 -2189893256 -252299093 -1608606802 -445601700 -288528011 -3803653409 -4250313948 -262880670 -850839896 -1247914007 -2442831877 -3098270543 -4247580730 -238727172 -3011844231 -2188334137 -2775537761 -1632652092 -2856717274 -4280197648 -2364234049 -282194471 -3023351934 -2656001651 -3601576627 -2058869896 -2710774326 -4167458741 -3489994894 -2908888589 -1586320174 -2379598303 -201187793 -527551002 -864373982 -1867619953 -524642490 -2714508456 -1384453532 -1454746576 -2852321903 -3801567977 -2747299148 -1270875217 -2429214813 -1746662690 -2404131893 -1836947881 -3430898009 -3469148151 -2402939509 -2444350486 -3226781037 -2077588373 -1526860588 -3371992756 -2974271362 -3695412862 -3911805398 -1603721842 -3084020978 -2923620464 -1119120136 -266915796 -438217830 -1515064084 -1683519234 -3707605647 -3763230228 -952962271 -3000714409 -824254897 -1402334962 -2478281980 -1552046304 -2525306647 -580237065 -2270001939 -350150581 -1261684585 -4131316519 -821213900 -3836870223 -3782127757 -1429576508 -3079341913 -3682427254 -4003844759 -2678458826 -2748852051 -1428190693 -34844994 -3739542442 -4012642535 -2909217469 -1683530020 -2359244261 -3538321472 -2030713516 -286128536 -3855184086 -4094077344 -3714483720 -2241971778 -2509804397 -44820274 -4183115138 -3047649962 -1229215309 -2350891964 -3912737296 -2590991440 -4087966029 -1106564837 -1344565439 -2519671579 -3092285313 -3609499639 -2522363562 -3751533602 -2273153435 -2693956530 -1898908745 -540147941 -902146414 -2449708464 -1852118020 -2329497789 -418103239 -4291383872 -3039355858 -3339719394 -456554329 -376664585 -4271267789 -1840326458 -3629179409 -1141649815 -1626557467 -584856185 -3579638156 -3634855264 -1660930820 -2973519415 -2936422533 -56647071 -3013560172 -3028665419 -1492693580 -2810799099 -3818914635 -311202578 -4074949032 -2608122314 -3516486843 -2785712376 -3941077561 -487385272 -1600066155 -2227500216 -3541630197 -4275088082 -3940590152 -312337193 -109883280 -122258912 -2231628962 -3871301722 -1724731610 -3325586234 -3194975333 -1059425562 -1659184939 -76552412 -1275653060 -63807200 -2052942916 -405611440 -3264024192 -939901586 -1242285179 -1218324007 -3615742139 -1094785796 -3770267916 -1327900021 -1536358598 -1326487538 -606986918 -2687675393 -2767768641 -231323901 -4163849695 -1089411364 -2197538139 -3680379375 -3344494662 -1094703252 -183741359 -3640043291 -3756610145 -783969981 -1589352343 -1449275099 -250651936 -2120865181 -3387779928 -1302009545 -1618324671 -2992677238 -1151400551 -879771071 -2725795105 -3813977585 -3168229776 -2541530857 -1408936777 -4082187896 -1871042330 -1567258547 -3966469476 -2955100461 -250255847 -977876625 -2147253577 -4105465628 -435865435 -3992321179 -2119758132 -1002913380 -674455675 -98432606 -25100052 -1096547010 -3453695201 -1231402309 -1780898105 -3104330849 -3950987479 -1114623294 -3733869541 -95838221 -2071522879 -1995526398 -1545012508 -2102669005 -2420724697 -1672842256 -219405931 -2484015988 -3200564461 -3380500882 -799513064 -1861205941 -3599260620 -4122649693 -1568752569 -1274529948 -643830716 -2662097612 -1069944204 -2081836386 -539059152 -2121109125 -3490629015 -2408253655 -56259298 -2334354199 -928568374 -1401973487 -3428303622 -373896257 -4193966088 -190334650 -1664213754 -2510405464 -3525049939 -2189259174 -3189514018 -1504369099 -937647705 -241083659 -1258640028 -2794381486 -2233306329 -1011215009 -3104605888 -2121188239 -2353067970 -493678549 -3675030242 -2185431242 -1851801560 -1954802566 -281659846 -13799726 -1453705578 -1808870039 -2690413732 -627969464 -2860221920 -1737134989 -4125892496 -2351075180 -2934254129 -778535606 -3443875191 -2291780211 -205056715 -1626119590 -2705455524 -3729704606 -6139439 -3842619106 -1747190422 -3123243789 -1741345141 -3562116879 -2605045913 -3773493109 -2256797707 -3884601490 -2986168880 -3725633587 -728754972 -3339069334 -2909431521 -3936885525 -4152335001 -690767912 -425561028 -3107357179 -1401239902 -806217310 -1110023233 -2263997399 -1119608028 -939309607 -840407703 -2305368780 -1556192398 -3064995187 -3449963529 -2637173177 -4218694298 -3898197543 -1461121474 -3651104988 -559783958 -1110943299 -3231933558 -820992916 -2873556902 -3369989706 -2447568124 -1394671326 -1052664224 -3944275775 -540794676 -4210122379 -1461109519 -2011424392 -2986289989 -4268096214 -2325505555 -161906651 -3523498558 -1001834090 -135998862 -2124423140 -1836450141 -3398231613 -1186108903 -3329694229 -733506288 -4244091551 -2281892755 -2510970646 -1253493743 -192952924 -1761119202 -2561400136 -1975520694 -1717120361 -2791300802 -2598573164 -2511098819 -2883542330 -369690404 -2208079720 -2185842177 -2419531895 -473952893 -1130221763 -1726236766 -1517840975 -1376485117 -2888857355 -692560948 -3969480022 -128588174 -2141143277 -4246195000 -1961353034 -1199483856 -2358820515 -2362170768 -900271435 -3066500976 -2517919453 -1932637581 -3723042738 -1521801386 -3739769783 -3686863822 -683664902 -2450334889 -3215849299 -2415804237 -365033823 -2318236535 -2625888135 -2581855471 -22377324 -2852603660 -3174553561 -3941658290 -787442326 -729484476 -2252503476 -244943852 -4033693012 -2022741034 -3216699253 -4187847218 -1947264615 -3859813251 -4070685032 -3358104641 -2674603641 -101074433 -3614637008 -2825756874 -3103796811 -3212486931 -134004112 -3912540490 -1195437797 -3434500613 -761237527 -2803439981 -2843313375 -3403374166 -2566807684 -592963605 -3408433639 -2469013392 -3988089716 -3080052434 -1872409674 -1405155978 -2739586944 -1449611718 -1960292888 -2071701896 -1267986031 -362950578 -216762587 -3431969175 -1513021211 -913979715 -264080631 -3921296780 -3710890044 -2202549462 -465416165 -387707877 -603082877 -2961845986 -1207239244 -15833079 -3423529613 -3154498655 -2928635787 -1239811031 -4219965835 -3412221044 -731909596 -190943099 -1428291084 -4052411142 -382619255 -48148264 -2233361948 -4183096607 -891944920 -3179511003 -2741234998 -3482727481 -1684175835 -1969938175 -3280832787 -1834274119 -1298835094 -3467533030 -3523463596 -460213113 -269497398 -3094998269 -612796156 -1324234204 -3703532785 -4245124304 -3899528928 -210834735 -1091829992 -4080645255 -3250481520 -3188110935 -2554806369 -1598273313 -89792139 -2160301039 -3774693648 -155018092 -4145131884 -1252177920 -2110997747 -2131031310 -490121845 -3579542979 -2752934632 -2298694838 -4078249808 -224589050 -846508321 -523746519 -3603764453 -1672160240 -1234273911 -2939578811 -1608220092 -2392369237 -2894552218 -2496030026 -4178091729 -2502355148 -1646178028 -2452116541 -1894084441 -340253989 -803777358 -118321084 -4068901312 -67246786 -1896760888 -955785689 -2491983078 -2219850810 -3090880481 -739268151 -136080628 -3450535010 -814249626 -1055081886 -1382103965 -1519922554 -2178133616 -71881308 -2820216307 -3272558849 -1089824221 -2338994328 -2435376069 -4014815299 -2735078257 -2587861516 -406772784 -3434872417 -1751472210 -2572293287 -1619998589 -2393966033 -965726902 -4241769761 -361164296 -2887835585 -3324555664 -871122535 -530802500 -1022435177 -1606035329 -4111244803 -2010572247 -3783649932 -3789594050 -3084720318 -2952226075 -3457624445 -1500602251 -2807343178 -680973374 -33062479 -792655418 -198345830 -2552086648 -2399139892 -4183209301 -2341786170 -1053847062 -3043045505 -1702258834 -4100895544 -352291241 -3877244721 -3813720923 -3172641187 -2434860089 -2579253863 -2564008272 -3566160948 -3951574808 -3364786580 -1864303678 -2396329548 -1098178963 -3442113568 -2675761337 -2229417567 -1991043294 -820203209 -963204451 -2118517608 -1641332437 -3821849735 -3077361115 -2775306036 -1193885388 -920022332 -328171860 -3665251487 -961131431 -3421894630 -2500004483 -3805870780 -2823186320 -599401155 -2649791515 -2915748024 -1803596505 -1671476227 -3150983011 -3634648737 -34900047 -3330227434 -1971185103 -2679952496 -1067522198 -2754635781 -2280306637 -1009310443 -1695163050 -1938373121 -4278990644 -404337842 -707232676 -3900329553 -1689364800 -402829884 -3827399243 -888203583 -1603718228 -3729703774 -3924056802 -3871583932 -300949108 -1861295558 -115711167 -1069705052 -2183568167 -681296168 -1257415776 -1074769948 -1689138392 -2652137437 -1257483075 -2832304260 -2821942540 -1621431908 -3341509017 -3506748507 -1675323500 -3063075133 -4219053072 -351090742 -2750995818 -965678080 -971107257 -3929402765 -3135613752 -4170371149 -1078537978 -697379463 -2842768181 -2927844146 -1402398643 -2494778940 -1503833303 -2832201623 -154973662 -993670697 -85376913 -4069481070 -744053082 -1764762591 -13352372 -73562979 -952035881 -3617082400 -4278223844 -48454973 -316313494 -259255153 -3851797356 -3544660307 -3121860413 -1588777131 -1557394163 -2095418367 -142074093 -3639388844 -1091693083 -534298938 -4159320373 -2296992053 -1491350768 -734045233 -3330428379 -3369051474 -4132070015 -4195672835 -1845509139 -172327655 -4083646675 -2767937141 -2045083047 -3879165142 -490982838 -1454817681 -1498730181 -856183160 -1985284651 -3793492212 -397736226 -222482496 -671488035 -947799220 -3907763232 -2662523469 -3766724532 -1081881003 -1870212160 -2794977115 -2210640495 -3631394047 -3832502265 -3163706371 -2662728671 -3574379350 -3614226071 -3565556173 -3536122276 -3361609484 -3136350953 -2328598827 -1902444091 -684320006 -927679839 -2068980748 -1369610964 -3585442291 -1498514697 -3455376395 -2495446452 -2749715079 -929451202 -2148650753 -1840251654 -199142011 -2078497219 -3570965911 -3834474759 -4188677282 -1541238076 -1846233814 -3663342557 -55838631 -1357211938 -193557983 -557295528 -2863841065 -1158638075 -1981576751 -4167733870 -2857378851 -2434919276 -2954427258 -2975034505 -4258056524 -604070199 -3955933534 -3787851285 -1492439569 -1587942249 -4743196 -3804355590 -256188339 -1275647078 -213450066 -1385454790 -630151931 -33441890 -1002765910 -490653007 -3484731131 -4128286323 -3968392751 -3533260940 -2301992164 -1630340183 -937321853 -1030684900 -875199166 -2403556603 -2095515505 -3778004855 -55944463 -3058246540 -2433207735 -3913961278 -285548800 -3024640759 -2465515912 -838942013 -1014175005 -966202841 -2931086951 -1018410699 -1176866739 -3468017474 -1827743432 -185486344 -46945919 -3242792921 -3055254194 -416142236 -3866750786 -3539110474 -3142108966 -479026221 -2657658078 -2019223145 -286962339 -60561507 -786123002 -999826166 -3060254790 -2485258729 -1841635696 -3367123388 -1176841562 -4043028822 -1464735186 -2857445925 -3655492806 -1202858255 -2540463145 -3761518553 -101905704 -1077529326 -978859755 -2405591666 -1458069365 -3466386490 -3824756135 -1176970821 -2002643211 -1431782842 -1840886885 -366916660 -2337964398 -1867189543 -2134243068 -3852417411 -2789159112 -2612629941 -2159829430 -2541744553 -198235113 -2578934205 -2467063036 -2080304342 -2976119014 -2861941367 -2227205692 -2791576117 -3680402387 -3759174017 -4174850546 -1128687108 -3030697802 -1677989045 -498919724 -1576064016 -2511215049 -1576549066 -630499026 -1348101703 -3240871115 -3681769229 -230699938 -3792115999 -3713185977 -2747397978 -3457100947 -3133197786 -2356324462 -2154620559 -1299637899 -2009183020 -3991874360 -3551726957 -1842758543 -1679608390 -331502886 -2923399750 -2145568466 -718784043 -3376269856 -1830432170 -2481723739 -1731085589 -3400083218 -1970810426 -3160546236 -801627213 -2056841678 -332328807 -2875869333 -19516003 -986311143 -3468188270 -2083358448 -3016264263 -3734535997 -1801542948 -4003064725 -2954311692 -3173157737 -762786177 -755924659 -1213506694 -35391957 -314616057 -3097796537 -128628250 -1160441288 -1643921487 -851298913 -1912281222 -1496792687 -744578241 -2201678554 -1647802714 -1264955269 -3917275533 -2788212438 -1879949306 -2756335986 -3465824082 -4291999520 -116212784 -2867701520 -475592678 -2444624833 -2499076723 -1021622288 -1530264554 -150609127 -482716998 -1918200242 -4266782198 -826809758 -567102026 -3974941713 -2159488895 -920419061 -2417710430 -2365057231 -2791602759 -2353028317 -613484274 -1519378868 -1775329585 -2309200080 -1037285357 -1990129728 -678541157 -3282474546 -2495737797 -1798068023 -391658537 -1794079408 -1553138653 -2331317921 -3241010335 -3813952125 -892502527 -838449997 -1579069715 -4149464115 -1079686327 -4156741215 -436775257 -3960632067 -2631019669 -3186833348 -2283624842 -1891170446 -4080438165 -2499779984 -3491469064 -2218576245 -2354232017 -1565346025 -369441536 -3740397700 -2855677297 -50863197 -4101719280 -2555213980 -3289714823 -1142263760 -2117011936 -2252474591 -750134441 -4239418129 -3297511823 -1091125918 -2096765677 -1550190099 -735385348 -1579259395 -168818442 -344445650 -3644681974 -1504899568 -2176666112 -133373047 -2963694943 -29762050 -2585259069 -4133483248 -1281888641 -2647980554 -424044158 -2630513517 -3699500740 -1779843568 -1996716498 -2319652228 -951392438 -783988763 -549515405 -3036760636 -228340540 -1942642652 -296552943 -411573183 -392169162 -3108544744 -428877419 -567762775 -2241651837 -2667812975 -3550346598 -3431173316 -3586093164 -3104351709 -3007254666 -2250173054 -992563246 -1124813146 -4060580172 -2051594266 -3261297186 -256965879 -2909125197 -307151745 -2648699216 -3201617339 -779101521 -3662855043 -2619247061 -1450354515 -4100692717 -3200257136 -1463691912 -508597723 -4043067614 -359227080 -2977537527 -3342275085 -3822505048 -3329546118 -3494156560 -3399300955 -1482841165 -917936142 -470444776 -1250081477 -3563274138 -480583819 -1918007477 -3795703340 -4020967008 -200841726 -528963365 -1926555133 -4238926871 -3771684750 -1938812905 -2154230155 -4155319825 -2016712627 -1013066473 -654378447 -1739041578 -63341180 -1665465509 -1692742700 -1898497836 -2908561606 -3212555658 -1442078086 -3560804162 -2926068759 -166305835 -1204145511 -3480533001 -74374104 -572311216 -1835488418 -1602033093 -2611846536 -2756043256 -772567817 -23710452 -67271441 -1258037690 -964576264 -3104371556 -2208513530 -645672291 -1678679155 -1829121862 -2114972590 -3336926662 -1875819948 -2533047494 -1313084492 -2155067054 -24765256 -2014196892 -1965932008 -4185061618 -621515617 -1408304676 -2446688332 -757157036 -2045568481 -1691633066 -4185656143 -3966156494 -3955500614 -1688760886 -2378371482 -2414585928 -3261895362 -4213972047 -3656211414 -982690772 -1513362157 -2186702638 -2747389859 -1069310541 -4060255973 -4240908532 -2536056074 -755177718 -785183613 -1057976584 -971549835 -918021515 -1507113159 -3800756096 -1650376339 -2904824194 -2212732141 -1784349972 -3167669100 -3534195587 -33476353 -15475920 -2916218182 -5794628 -3563648362 -3758620966 -188029557 -552701417 -4289119474 -4107500376 -659384650 -3916679610 -3017168399 -1954047874 -262945463 -804936219 -4080040359 -2759852742 -4069036452 -2154846547 -1779468257 -3697535759 -1839082598 -1142813470 -2286058303 -1812371149 -3518475585 -2674089041 -1833219069 -212228374 -2795979162 -266382415 -4274686067 -1950294043 -4010544069 -325301441 -686439470 -2204153883 -3813051450 -2764267348 -1293282082 -2153463256 -1323479395 -2776368596 -1948157216 -2308312522 -2691480245 -756272870 -4031732536 -2555043869 -3940710481 -493921579 -3966995936 -1306094621 -718657694 -3564062817 -140107482 -109717420 -287566635 -1378057619 -2583689213 -3082314202 -3374004442 -56974787 -413698675 -1506527953 -3590927908 -3610939763 -3987868779 -1262149415 -4026827206 -1875003930 -576989864 -1183483642 -629539547 -80904354 -1656707075 -2915155003 -3207883055 -1899551095 -1105687079 -1177396444 -1431081782 -1642677469 -2750919818 -3166204915 -2138209692 -24681795 -1990670805 -2888854113 -4170780280 -3447359808 -3017769031 -1745800472 -2183071540 -3850428880 -132515560 -3004942631 -1462667522 -3699842183 -2140377493 -1054877393 -1640658077 -271899926 -2632917991 -182246749 -2940461142 -518710507 -267989018 -1709215063 -3823384707 -2045250082 -3747865867 -2905300682 -2070772728 -2435510506 -727363444 -2452846061 -1437563159 -1375460344 -140085685 -3240740540 -1090171906 -3293349273 -4064582298 -4001991193 -3824401636 -1592845942 -658565826 -4140365249 -1982289377 -917866369 -1512218968 -948240591 -88510079 -2508385478 -2186178943 -4206658297 -3938640772 -2410692749 -1232672704 -23190785 -3638702363 -3628446216 -1797938403 -3257628707 -2577423135 -2025139131 -3436364912 -3974270475 -1897415479 -405473027 -712233987 -3398901337 -3098279349 -1594187207 -1213795699 -3941060728 -2572385350 -1531078536 -604041643 -2122381843 -1211549506 -1809734021 -502723555 -2952365700 -2831783989 -2742540510 -3015295738 -1622069895 -2174363117 -2027115219 -2636938367 -604017409 -4034416347 -2729024997 -3554854000 -1903719891 -166360826 -820765174 -2893052247 -1173992189 -554636453 -670143353 -4200387468 -1951805482 -4099899842 -3340940625 -1020377022 -1556662452 -2953442615 -2672084893 -4265257235 -447247002 -1331962963 -2978464877 -3497199160 -1325854402 -111891837 -1548760723 -2060559075 -1768591180 -3956968245 -864632690 -2376745912 -2156794411 -2857936982 -2241683133 -3181749614 -2088130863 -2410080856 -1467249791 -468703961 -3848355030 -4057655956 -3643107217 -472575749 -3926100497 -3878969020 -3108491493 -3169195449 -2348527964 -1917854082 -4203037726 -3025369273 -588778764 -741190805 -2610708747 -1958206095 -1258677833 -730941968 -2761515572 -3369548809 -1881606406 -3112636116 -1463105112 -1744968801 -3730081672 -3040865120 -2343531400 -631781521 -329225624 -2890964445 -2524198295 -2003947177 -2515970912 -223342157 -462282019 -75110040 -3582652152 -281043868 -3731859581 -1499196684 -2128937408 -4126346011 -4058149595 -1008704740 -251170456 -2607577391 -1599069103 -1591654983 -756043616 -4261333144 -2916746491 -2418314145 -3035795527 -3171604049 -2104465422 -359220895 -3167794005 -662879158 -279411998 -3292017011 -2364134418 -3487539898 -107933423 -3878282620 -4179152314 -1046797158 -4114290196 -2446327700 -3363675053 -2991705859 -1791114571 -831129837 -1565013664 -746707465 -327528040 -2388916686 -1351047030 -1559809537 -359484891 -1500108678 -2245800518 -2104094736 -671129021 -1150257294 -3391104345 -701766765 -3140511347 -3513221647 -1082722575 -3883540361 -273753511 -4108931923 -2631056250 -4048282343 -1815753432 -2062218136 -2154630113 -935947966 -3581282902 -3024238562 -2241205062 -821681376 -3433485934 -1131263183 -872395309 -2293817780 -1788613816 -732708852 -1063310912 -4019398519 -2753513671 -2810878787 -3596264670 -3848471699 -2661864786 -2787238975 -2651138163 -3158788998 -4024747748 -448864780 -483279784 -2898585675 -2339176231 -1042597843 -1022034504 -2879368484 -2761490975 -3406940043 -1931212581 -3150224320 -2631658731 -2904880430 -611224948 -538189877 -3946208025 -1332319860 -1558896396 -3984962230 -3162614895 -3719264089 -2185119474 -196263499 -2797726449 -3378331379 -47525393 -1426579393 -774720257 -3788906033 -2436492922 -845583754 -1652905142 -2087560667 -2885739896 -2690225363 -54530304 -1196293985 -1508659410 -3077565504 -1811871706 -989750245 -1024551310 -2441249371 -2437844929 -1872516822 -2665050709 -709065271 -322825947 -2690912614 -2504903823 -210890647 -1794545486 -2441164939 -2577225361 -3174830633 -861747951 -3785818343 -1733110974 -1139691856 -755380839 -1280341368 -4042514670 -2351294925 -3614968347 -1190252040 -435969692 -3274287738 -1110065558 -41913844 -804851208 -173185559 -4249579131 -2687388502 -2619788590 -1525899480 -3163741173 -3325993266 -2358819978 -2726633188 -2302558579 -1352291776 -3184881851 -1913993273 -4241433006 -29078551 -3864184136 -6226831 -2759458379 -3237318309 -4283331876 -1574033205 -1732140124 -1851848359 -2250200405 -3138482940 -486516934 -637451760 -753247177 -2349211173 -625112824 -1580093960 -2577188706 -4183754677 -2077956674 -1201745465 -3877580273 -3329976645 -857748338 -2766442583 -3796217189 -1347160316 -3456172748 -1079283991 -598866337 -2513352275 -1852264796 -2448561576 -3224757425 -3259008624 -530957471 -4292066780 -501399784 -4264277991 -4058424560 -1575952755 -2628377857 -3518790254 -356411173 -3578162879 -978385856 -3054333573 -1521422254 -1842226885 -2047721199 -958213802 -1438850242 -1245818940 -1356160800 -3039823056 -1584852267 -4267575744 -1749558887 -2108264837 -1488533114 -3287898113 -2685115357 -805824061 -3822800072 -1689372932 -2616101948 -729956148 -1562220300 -1132401730 -3392852277 -3735524310 -123368740 -1888031660 -232773873 -182408750 -1916331085 -3614533640 -1578421470 -15405053 -916178006 -2690548122 -164881635 -3344552135 -3274219742 -3940631354 -3151922463 -3409901808 -1543756717 -2806356076 -1399050765 -2135636768 -494497538 -3227859248 -3192159062 -1697482672 -3586535026 -1242094305 -273664585 -3170210774 -424670438 -1396590269 -3078602566 -187273833 -1349973958 -4263822817 -551854726 -3131672344 -1770822470 -3757800698 -4056675897 -1607510806 -3899085267 -2318777266 -1315285722 -763685328 -3327274742 -2874088291 -3508755493 -2085146644 -475792220 -2800801248 -3716596859 -2750778579 -509793276 -974608028 -1435576618 -2520054731 -2211005831 -2419667961 -1940185738 -3019652374 -3590023513 -3688553539 -2278595886 -4195528181 -364000244 -3323502632 -3189923684 -1010238687 -3639017579 -4131602307 -4080271554 -2284902738 -1020915922 -3102542754 -1736548871 -2999900724 -2220015452 -2892112239 -53371893 -499959597 -3502597343 -691154410 -3154761371 -933910162 -3921845160 -4150187389 -2053760768 -2602982996 -3085020451 -2397373213 -1151365540 -207222177 -950244186 -3554083161 -803471381 -1185789083 -345699230 -876523645 -1743212742 -2159503839 -1212415913 -1823573125 -3963256235 -909650467 -1067524259 -141667778 -320599473 -1946849897 -3415967387 -1992834272 -222896725 -453412754 -2684271964 -736872171 -1733831064 -3215826059 -838965292 -2395135387 -3744384673 -3506353396 -1649951322 -2385769185 -2536405490 -2063968452 -3549210921 -1806613368 -4058940063 -2315243095 -3964341444 -3052306319 -860542128 -1739312217 -86672337 -2018139050 -246405752 -2673550754 -2170312757 -2729355641 -1766962907 -1724512072 -2872678266 -1568663198 -1708660913 -2701057840 -629616760 -2152293265 -2451722047 -3842049472 -2757564003 -3968421390 -2011838017 -76750527 -52981974 -3456489694 -2513731538 -4243539209 -379243135 -3162450419 -2472332074 -3655921705 -2689614415 -952935412 -2391444993 -2630783709 -4134378603 -1264218784 -1961434899 -796533788 -1467217940 -2862528864 -2833184623 -3992012189 -4124206121 -542293067 -1593908906 -1211462571 -4241122284 -3009485715 -238610242 -3521550058 -3085139326 -3242573598 -802671348 -2843285047 -1933468272 -3382289208 -543582116 -957009548 -3243724197 -2855331598 -1108601079 -2926380762 -503317475 -1573694987 -652156337 -3775596348 -3296989732 -3955477429 -2558827376 -3388848714 -4232587065 -1660722767 -3158384596 -2049193723 -2655609289 -1870799770 -2382435448 -1308693869 -193449089 -2126427288 -3473310389 -3490200925 -1817663219 -1418933966 -2792502766 -1423381216 -524639709 -2565634232 -4051426163 -1427449417 -1174551167 -1650948865 -1955093412 -479422765 -1125291866 -65104943 -3938174377 -977269455 -2195915653 -935282397 -3994144785 -2677189825 -4186190443 -1606778902 -3015786830 -1896427380 -3229945708 -3533138046 -3178607343 -2335770482 -217274864 -2177703702 -2022531946 -1487489721 -1611095186 -2173378751 -2577464772 -3414208436 -2323731073 -713334413 -2861466623 -1520056970 -2607404499 -3559540365 -2100175022 -2526793205 -3863899741 -3817620772 -215585722 -1939275309 -404070329 -3707227947 -2495885983 -2723342696 -1418287907 -2868575706 -4185160641 -1827021705 -2244085030 -1960931372 -3265629595 -1549911435 -1578176969 -1107765910 -3223954116 -2275815946 -2028633717 -1953121917 -1548448780 -2657156228 -2034973272 -3990104428 -559141935 -2715670005 -2003961914 -4195405474 -3499935375 -913912928 -1997654245 -575631221 -314927881 -776449345 -910692647 -2576094226 -3398763574 -1311490024 -4135634805 -3001949589 -3520110912 -3408222631 -793657078 -537899682 -990526076 -883748562 -4038991810 -1969343266 -3030141334 -2597536750 -3942680289 -2210239878 -21277744 -3650497576 -3768033373 -1415642248 -2253447548 -3671470768 -706096584 -706348390 -905787700 -1343082637 -736704248 -714527427 -1245913480 -48829441 -3324173765 -2894868964 -3790383331 -4205870112 -1277125863 -60134108 -3094393341 -3434247090 -1255030061 -2189623936 -3957520301 -1551299361 -564282356 -3933968463 -2731359377 -876963718 -2976188136 -2466620584 -3599573429 -1714747671 -1691173867 -3875279126 -3513086160 -4169932575 -4174982830 -2202032466 -3955286301 -143889246 -3997320458 -1251713235 -1839658690 -3999559273 -3367699356 -4250473432 -1631168582 -1462204950 -1009638369 -2571971360 -1418920779 -528315340 -661731373 -1292470109 -758514377 -3586901819 -3575019644 -2053559557 -547621568 -4107205004 -3121534331 -2705713692 -2136065866 -3537139608 -4217901960 -790980010 -3852448576 -4277412220 -1720943555 -606759155 -3172064522 -1538885853 -1687918965 -3590168546 -2260583798 -2356264109 -124492480 -3541100031 -2735686438 -3397408515 -759069154 -589513926 -3096042580 -2377875310 -490638414 -3413685352 -448127431 -2132400689 -52665598 -4245818015 -2545804657 -3675222799 -1619099782 -3196168584 -92431555 -1680335786 -1295226183 -2492809553 -4149279500 -1184681677 -3148955010 -1898483201 -2343846814 -850696249 -34059760 -3257004140 -2022223129 -1146138490 -2165417043 -3904473886 -1039842121 -2749138603 -2017037413 -4100357225 -2230753947 -763523229 -2336136132 -1826414275 -978229136 -2897031396 -3915190156 -191733946 -2199398246 -2091232072 -2737564968 -3536476167 -3792933768 -2936398539 -3425969426 -2429610655 -1115479090 -1337709298 -1707664641 -2416650193 -3018760511 -2554504232 -487780253 -892289872 -3207815156 -1887638358 -3606742430 -166930234 -2706843063 -1327988290 -1674549221 -2003404390 -4206264099 -3542042013 -439019725 -277788293 -1203766537 -1129799526 -4239736136 -2047894863 -3688132522 -1533168394 -3756807333 -981354496 -2809569579 -907163489 -1357537833 -2236438921 -2191760947 -352841042 -1104208409 -1228190738 -3444539882 -1673583696 -3394373391 -2806563384 -1800179937 -3659667449 -3342517451 -1542711439 -3927562037 -4132879445 -1907120326 -3185868320 -1762792651 -3878811933 -3516122220 -2330050679 -2117808697 -1524030568 -2864958566 -1320228936 -4052579095 -3297495761 -2650545537 -952141747 -954327898 -617540717 -788503427 -3044699325 -4235404671 -3945878190 -2122456959 -1231521599 -1847146159 -3634856411 -3242999586 -1389089609 -1936868473 -1744229161 -1583111194 -2510407008 -866181541 -3859097376 -1347534371 -3622212407 -2675197803 -3253461184 -2236107429 -3451437510 -1479920084 -1633476571 -677291909 -1037975733 -348472764 -3283205756 -3225777573 -189110454 -2943805391 -2634657415 -491456169 -2718721871 -4048262076 -1186310135 -4051025586 -2872521829 -2846602246 -107031321 -3644243442 -1695636690 -1815329633 -613129221 -2415274638 -802442703 -730623451 -464176165 -4029290555 -897632484 -4243422811 -572822734 -1618541279 -2201634092 -3159677727 -1847820527 -4136135302 -1805315149 -589694627 -4025043085 -3082863635 -4120930046 -1468991689 -2993242063 -1376781855 -3998302422 -15878102 -2753414346 -4123454577 -1612484906 -1384557120 -1478092643 -2583803406 -1205157381 -236887947 -1010821406 -1703286139 -3915199031 -1033519956 -3045091628 -2481673392 -3098280586 -480955469 -403305349 -1122143308 -2868245699 -3180944043 -2721621584 -3352769801 -810622538 -1105197577 -2287645775 -4219367684 -1371208517 -3314580458 -755170913 -3375803408 -2929078913 -3210166223 -522926820 -2391942335 -196647181 -1417756596 -4010966014 -404028533 -2265693444 -1840018044 -1042069748 -2917850530 -3869487372 -1253690843 -2308751096 -3041708341 -2142665518 -2674504873 -3117607516 -1517340617 -1840635447 -1851025181 -430028372 -3948016875 -3078784145 -641073828 -2781690782 -567835842 -421104470 -2910927529 -3280130739 -1057919222 -2522217822 -2034789172 -718535597 -3854089009 -3393220396 -2691394141 -3070100530 -2269912647 -2495505817 -953289651 -908428464 -3353678831 -1851738781 -1311886876 -1757040119 -2879681573 -1422404777 -1521559540 -1916768394 -1763713630 -1645504749 -3378257606 -1471703130 -2738664120 -2946788346 -1612894696 -2979839097 -3938205472 -3935343300 -1378045407 -2914513479 -3741825932 -2151336631 -2555970892 -1020015089 -3582419753 -2720136158 -1538862171 -1722484543 -1429510499 -1049727773 -2884795799 -4008041557 -4139101201 -2095599323 -2676029481 -1885412647 -2036769132 -3006456500 -329110068 -2894996313 -2756010697 -3326258286 -4280015272 -1417822262 -1512680297 -1721663561 -901908273 -3326584480 -2047331005 -2265272233 -1188960988 -1931229170 -442425124 -2503331803 -3559977940 -443535529 -1644039523 -705315982 -444781981 -2067318636 -3881113421 -2484755947 -2864952177 -2582825941 -2415972303 -984213047 -2232653321 -3299739901 -2590945919 -2695140438 -4091515692 -1359484997 -3758770988 -3618249280 -3130873020 -2563399096 -2497718669 -4066318923 -1932718742 -1293085070 -3271781152 -3066654178 -3911833571 -2260612689 -2496738859 -695711378 -4241659368 -793047533 -570831597 -4068009169 -3392647953 -801321787 -36339008 -2842280845 -743755975 -2681337142 -1735730024 -3148217625 -3377493681 -1978786512 -2063889016 -1503649117 -3147825334 -2392040408 -2475879594 -2189295204 -2260485938 -2133754155 -2658968450 -1682358899 -1652882009 -44120004 -488510861 -3911462557 -2626428792 -2016972495 -364515859 -3487719162 -2469243848 -2939592169 -812186701 -4135914826 -1831980967 -2020804829 -3980333647 -2738544247 -145587081 -1269295640 -2516916971 -2184289396 -3012399565 -165448813 -1567998792 -4254573146 -824363421 -3050578803 -1416582925 -4027373220 -2509220512 -3875662889 -538021836 -1607549631 -3224412540 -48946809 -3422688682 -350352752 -3191345520 -2624556127 -3691878105 -1370762190 -3405399010 -3552287747 -3096355497 -1622678635 -2857618815 -2971349421 -1730339684 -1980595318 -677885500 -3049776865 -13752073 -1644279562 -3924855284 -2626428663 -3232477425 -891567566 -780464319 -3310889151 -39863975 -3446112993 -2607025196 -1095269961 -3627055788 -1506903791 -872953245 -1588528115 -3934421542 -3188063009 -2162536898 -43421828 -3038291934 -47759990 -2221880433 -3201800162 -771473404 -3040210491 -868171030 -75836222 -17088386 -2811605142 -1719284761 -3438067046 -2165992732 -2707399457 -974049578 -3454959829 -541525093 -3582920222 -1022291353 -2844428610 -4025997214 -2099744306 -135367152 -1764878704 -1253908926 -2975312386 -3736203896 -1138271091 -1023515057 -1354757400 -937008847 -2026405974 -3742831245 -2127398481 -3642714922 -745905742 -1957594847 -2670811978 -1246121771 -1311035259 -3955040548 -2636769137 -3057804079 -281738832 -447168938 -1827136005 -4172964455 -3143400853 -413054486 -804753041 -708939261 -1150811347 -1936879564 -1511384308 -1620020669 -2085357721 -590180769 -2424301526 -3113337313 -2122986675 -93960951 -751228369 -1819665526 -327310555 -1037104147 -1146068009 -2706810568 -1321792593 -1027082279 -2293028470 -176540704 -1509768714 -2929085037 -619711979 -105403043 -3219196197 -508921017 -3957629762 -4239274292 -529875599 -2091197277 -4073121364 -3213268634 -1433208705 -3924950666 -1753339414 -161179248 -4144986907 -2246988450 -3654358084 -711711708 -326463188 -687952637 -3881062031 -4065651993 -421836649 -3487640631 -3550727483 -1344593006 -2890365226 -2357014141 -4002109371 -3261969598 -2211084438 -729039058 -3876945186 -2855067793 -3603795624 -3127222623 -3701485116 -4203011709 -119708119 -762841954 -2798369435 -3569762832 -4099103871 -1585120249 -1198745248 -1486789744 -2643399325 -3233308870 -3685019635 -1184593716 -2931220624 -3359194505 -2827658299 -837395703 -1223522 -1852383125 -3150026849 -2413777540 -280367650 -3044258135 -75720471 -3426974674 -917076106 -4105883860 -4157592039 -1285803959 -2530068540 -2066242304 -2239255950 -1743689562 -4149730927 -1824224192 -2902752625 -182207254 -1997402270 -996792437 -84993887 -4034839093 -3982245365 -1928344174 -665245661 -3694016506 -1383274988 -3670762735 -1948309991 -3278085888 -3687310222 -3461487381 -3279565302 -1665718515 -2896458359 -3270615725 -1654220936 -2462203879 -767295034 -466997614 -1324347257 -3417649027 -3660292542 -3376445315 -3378174125 -2871963009 -2554826149 -2405133602 -1355116759 -4006457384 -3113680574 -2808101401 -2248720346 -837667228 -83280492 -3848554517 -1198695287 -523147099 -3752703315 -650653630 -2414180582 -651009854 -1551187639 -1103027375 -1173033384 -4038932514 -405518108 -2001892180 -3810841522 -3027600589 -1872489689 -4012359528 -1464513029 -257690771 -311805270 -545627035 -869616362 -3700637608 -1656048596 -3275462152 -1574156617 -1941596017 -2830995934 -2374106014 -555086324 -2936885245 -2290776909 -3496876417 -1092694760 -1400252032 -1447869066 -496943884 -3282711020 -2191095711 -2754147860 -3406428054 -2298441092 -1305588314 -1579677068 -265860174 -494575057 -3966423215 -2744468435 -1612990648 -3099786711 -2389174030 -1309265044 -2868873112 -2576393910 -3990262564 -21929641 -495907081 -479773235 -3524130470 -1969663419 -2731031027 -2115433840 -1659843600 -1380482703 -1975258176 -3284458190 -2636126416 -2022944603 -3425279985 -2227316895 -3122575198 -2677153757 -340938060 -3061690391 -2829615145 -1696126141 -3852920758 -582525752 -2233514782 -1414309674 -776467240 -276705502 -1145773900 -3021955365 -1003428408 -3021290688 -1114397437 -577679117 -2349770260 -4258297335 -3338122351 -3299580783 -2112327256 -3067009065 -194261820 -4032098051 -4265833241 -3335836025 -3186220927 -995227375 -1570849033 -4164347754 -477307577 -1024656913 -1437648700 -3551874274 -3693378070 -2501723221 -2432306225 -2953710828 -1116742475 -1066039349 -3399325733 -2917130792 -1403874754 -585170141 -1920133661 -3101803172 -1357954259 -1014762984 -725409006 -1350119860 -3924315976 -1734598461 -2567524316 -2782697242 -3271167251 -4070115181 -1409995972 -3426619244 -2447629834 -3744920026 -484992886 -4130269865 -235190941 -1569430049 -910041291 -687745909 -1818452303 -2909511393 -2812828947 -1974835549 -2146685420 -4197754717 -4197966532 -64209998 -2464927395 -675211246 -928799672 -946954054 -548689258 -1608363761 -4096730302 -386470322 -1800379790 -1419661186 -2417998525 -1392488765 -3219242287 -2508485574 -3522936613 -256310560 -1401501735 -4107666992 -418295413 -3111388356 -2222857987 -1984562568 -3356248756 -590852521 -433037656 -2609546588 -2958655566 -362382323 -3332491016 -3453328327 -2732192032 -3928537608 -4245718393 -4208547614 -1538949145 -2231164893 -2666447972 -3849957456 -3745736031 -3885539707 -1981444405 -3768651425 -2857608417 -1814657874 -2050862651 -3741332026 -1515174688 -1609481081 -2444149570 -1659440416 -2738406740 -1209945761 -4019150529 -2749156763 -2860931156 -415229568 -291102008 -3691437643 -3352168212 -1162914934 -3327741273 -3069665418 -1992544117 -3241547584 -753823987 -2143264692 -3842943533 -158218054 -3593724457 -3061295879 -287031780 -481425694 -1212509844 -1024431863 -721058883 -4213121677 -1320475345 -2660291367 -923481101 -4188367108 -2213856025 -1805405678 -323406279 -3176771415 -2801325457 -1299017299 -3017076504 -3359880868 -798641969 -4053723015 -3647968335 -1526136733 -2155105372 -2869585317 -4209650351 -3970989922 -2001583817 -1716056251 -3802209544 -665170607 -139422824 -317435559 -1303676322 -3670102392 -1828634966 -14528173 -3155482831 -222696701 -3039434523 -2765390807 -868836649 -3840480386 -3573195082 -4107310032 -2272163079 -158587177 -900773613 -896381810 -3209561701 -2981835840 -3251900830 -1756500995 -81467247 -357105110 -3147789425 -688753479 -3565366269 -356364399 -3110190061 -3785658344 -4105951933 -3453617297 -4155593011 -2503108553 -3628364147 -4048044026 -112676069 -2679167223 -195531253 -2558838575 -1884214682 -3436645142 -4046935078 -1580151296 -3602971983 -2518993210 -965579810 -14825605 -2245814454 -735597486 -2114081700 -3848785961 -3601760399 -1798924396 -2155294572 -3450604249 -2578155240 -697766693 -2204415997 -2448365682 -1358721128 -3062880632 -2554426853 -3690550892 -1589491128 -3012698863 -4286640449 -3516048245 -1585271551 -3126771693 -1729825251 -3583055004 -211608099 -4228259423 -2798090918 -3784935805 -2860874247 -960893459 -1359410541 -234209708 -318764535 -3765055693 -4109355203 -2387162949 -3220814820 -2213405983 -3807493236 -1691620982 -1011028974 -3773997748 -234939635 -648789284 -2245394083 -2867522633 -3652111950 -2756058212 -3649067952 -1896697836 -4292547968 -3558789388 -2593057275 -1296845739 -2326406283 -292023860 -2657809174 -4227308717 -2265140672 -3144295733 -955979704 -2838815477 -3945800217 -3985212861 -4055226378 -506414583 -3199706586 -337108578 -2571297802 -3858825324 -2656528326 -2360333457 -3444465812 -3058477885 -1847273692 -1532089053 -2595954239 -3952937067 -623833544 -3423082014 -853913301 -599133742 -1918728743 -3677439507 -1315522451 -270700807 -1890919753 -1906340762 -1260925767 -438107108 -3238508288 -2204944946 -2282726062 -2334399842 -1462265876 -804818492 -3347868768 -3805056742 -1818652120 -719114789 -621464078 -1802116593 -3376883996 -2215310640 -1048546892 -673615739 -1833177229 -3072703947 -4118013335 -4078273383 -592956394 -1571060237 -1671493003 -1920635147 -279669813 -3962816933 -970050057 -2097972139 -3521672011 -760077277 -2149708853 -3029444998 -1725060714 -1539004248 -2653385761 -3860101637 -3534922502 -874258300 -2168496373 -2336800615 -935937760 -1759826848 -2900716258 -822281200 -524193983 -3176347132 -2700326692 -2910560462 -3031012891 -1728669664 -31596839 -2563820658 -3639908491 -564658581 -3418019408 -3489540378 -4027387254 -186527902 -674313748 -1276054857 -883847451 -1275815812 -741154390 -2234337714 -3264695764 -3290931519 -1059460281 -2182336105 -619653307 -3767973385 -992842188 -1342884097 -1485357321 -2255449652 -799783749 -3821494997 -3654161752 -4056739873 -2733880039 -528127275 -3558068302 -4041770988 -2205238589 -833130997 -1893306552 -2285225667 -2342511558 -100763576 -710830248 -1656381504 -3551249145 -1345839318 -2208602713 -3649258311 -649118461 -1056577309 -3866678388 -990165710 -1313673421 -1877461025 -1329378941 -671724851 -2144759947 -3015612871 -854971896 -410902560 -3336358096 -1172380034 -4085607027 -4205684095 -3193729462 -480215388 -3816554550 -1823647216 -2112391691 -950577346 -146021821 -1732386124 -3848348617 -830700968 -4055293053 -3146631699 -585912330 -3419786961 -1283873298 -3613450530 -1542468431 -1249106217 -2558519453 -2009622840 -2041330924 -799311983 -3842802231 -3441394598 -1757436480 -2991631347 -1606995500 -195675150 -1611255526 -3225050106 -941285138 -2261127652 -1772075654 -3647852755 -803288876 -6155622 -1170111353 -642190749 -2083250877 -2627472652 -784622521 -1425887887 -977467671 -857560409 -1203420872 -1996100296 -1751430202 -3955412768 -994929566 -448280256 -3651428453 -1706720724 -1379320474 -2007612009 -2716627585 -1707074755 -3915054475 -1045144197 -3053365082 -2062293974 -305998420 -521309232 -2124841537 -2674752910 -712372371 -4204061649 -2440572294 -1663370840 -734903282 -2869270045 -3518856465 -4273451110 -688741272 -485823918 -3848139315 -814023534 -1295395799 -885003217 -3643544719 -693171594 -2336715241 -3158707444 -4095767649 -1631813760 -4068639196 -1941175978 -1547403562 -1895738171 -161433143 -2485769320 -788059744 -2355743923 -1169895983 -1613445703 -2105910851 -447186637 -919465668 -728935648 -750689811 -2558998155 -672160152 -1498773446 -2285036385 -2114478828 -906833591 -609857683 -2312746595 -548141365 -3076179902 -4246972234 -1475553853 -2462570845 -2526073983 -304081002 -2785118440 -790408460 -1588754232 -4061426115 -1277378832 -1913034588 -1049566297 -3514852069 -574142639 -3260633651 -1046182310 -3578330873 -3863665115 -3928153715 -1061923048 -135518441 -3556936635 -1573219261 -2242169379 -2114440080 -80644091 -2214478867 -2609431494 -1358804334 -165760862 -742720114 -1863306990 -658503848 -108395129 -3405362302 -894894352 -3178370741 -1554455102 -410267539 -936152637 -2547633403 -2172051635 -328357752 -3080424514 -4163609747 -1764347555 -1534792560 -3192623805 -1100348817 -4143301111 -1842759091 -4145060172 -4057566055 -2199825757 -1570725459 -3876653245 -3871304967 -2615111072 -1046305879 -1268577233 -3636365750 -1594219327 -2532938644 -881586560 -3774395072 -2316776771 -371434194 -1180424352 -1749186556 -1512660044 -438159936 -3157259751 -2149064477 -3113703603 -1736386482 -149949058 -4251552349 -2739675462 -3257981084 -3165986370 -754342638 -2794999121 -19200337 -3545720210 -3706542956 -3027566653 -3096804935 -3576271868 -3390335660 -1395782621 -1178501213 -1547223777 -2941182015 -98380427 -1238042083 -2732186389 -3550059521 -902104719 -3761135643 -794005893 -1688569581 -979282923 -1405777197 -3428454205 -881809367 -2163160398 -3245523672 -1603103218 -2704202260 -723132082 -2901006607 -4104653535 -96240378 -42652716 -1200517037 -2312782410 -3366954726 -352055947 -2381916305 -418634594 -2280761413 -2160955171 -2903075936 -1329386516 -810656105 -2410246253 -2629541800 -3175244169 -1553898936 -3653811450 -1645322192 -966018970 -2126342253 -2067416830 -137249616 -3369677541 -4011654759 -3854528999 -2019813472 -2064916101 -4102414632 -700926287 -1729238655 -2655319905 -119580947 -2744053147 -1269105412 -1701838362 -2277574470 -681070664 -581069702 -635738315 -2548933690 -242121416 -4027012052 -1056043033 -384312347 -146720821 -323234854 -800892134 -1113638835 -2421535940 -18658880 -3522063316 -3855064326 -2325649733 -3098046546 -1614062300 -1557081602 -3114549991 -225884024 -498321757 -2037146565 -1968229708 -1358563636 -1225193494 -2406859226 -2746183751 -3286268312 -4240260607 -456829709 -3077668533 -2945447527 -237203984 -4243680628 -1822399814 -3314935451 -798050014 -994235217 -2938417634 -2228184089 -3726925592 -2682917276 -2179271043 -4128720437 -270883690 -2268070867 -1859421686 -376515175 -4259181116 -3999229799 -688499332 -1744296444 -164609105 -471088255 -253063643 -1501592045 -1793218778 -541449043 -2435213570 -14208419 -455672239 -3035270878 -279062406 -2380193995 -3646859069 -1837088255 -1757243487 -3804472498 -3739276013 -4153482970 -2609359853 -719101196 -4232055219 -40174744 -108671107 -3386132161 -4256767082 -518288254 -1307199898 -352795380 -1900679257 -4035401734 -3246403937 -3770481315 -3831413372 -3144634160 -3787145555 -4252504616 -2563960496 -884201685 -3432613876 -1778220662 -733480259 -3597927096 -2330392460 -1857069829 -446670217 -3052257490 -18162375 -3069525876 -2487516475 -3403791010 -2865246929 -2586786937 -2974890905 -2047815088 -4224989729 -1187805299 -3072122164 -3646863045 -2686219094 -1451583301 -3316153962 -3921809218 -717039878 -710700820 -902075230 -1500906032 -712871921 -2486396918 -3998846020 -930743223 -1038345640 -720210556 -1794488428 -1804371466 -1996618775 -2732113432 -2389202135 -2219336058 -3748887024 -3073522069 -1499708227 -3484213013 -3710397365 -3231897567 -2872453784 -2437272421 -3733252495 -2952282211 -3707016511 -2484087590 -1165020815 -3732586533 -2914326434 -2399262258 -4267344495 -2288179759 -1355551105 -275190774 -932400106 -2626510546 -3358920905 -3538103491 -1504233316 -811235675 -276009643 -3955997151 -19983545 -2925358991 -110788709 -1574587864 -2918576566 -2632276898 -3160374555 -1599995634 -1986361634 -718657125 -3044801233 -2005704141 -1517119989 -907697261 -534823957 -1007325342 -3110666933 -654579736 -3719006734 -2856967058 -3681188735 -2734772039 -675930850 -982450765 -2919301989 -1752963779 -451336829 -3366254812 -2183550148 -1744308954 -2300514522 -1786467543 -1329746955 -4168789982 -3016073596 -4112234777 -4234659265 -1195766615 -2217533853 -3004468879 -4208136570 -1923817248 -3986041118 -3040350320 -2353429232 -452017675 -4148485839 -3103313883 -3437107287 -1533489695 -2000868580 -1805534654 -369559290 -3935557490 -3461041033 -4056689078 -1260756644 -1607738268 -1966521460 -2076683748 -2846572356 -1943555879 -1133768996 -594770376 -3584217274 -327655331 -910445407 -1106691309 -147715753 -393543418 -771060726 -3170243535 -1283645068 -1987083799 -42422214 -2316495575 -3103273794 -3503182660 -3971678545 -3821562545 -2468826787 -1575689405 -1880943947 -491343901 -1028030615 -3606968419 -1815334516 -934559862 -201346811 -2925364442 -2535032210 -2684577026 -849124176 -3834107664 -2219097692 -172230563 -2550424063 -2616655367 -1204017269 -3924509583 -2459257762 -3506907449 -83412101 -1213473227 -62069705 -4140002539 -758222060 -1802200944 -4127275316 -168078748 -1367172824 -3229765966 -3548602319 -3161880487 -3658100821 -3328289031 -12428146 -1181337420 -3483311151 -2849776980 -2022385893 -4073555640 -3811154122 -86111434 -3413711375 -3025369929 -3274121567 -3295389925 -543264259 -2658220706 -2100531243 -153161498 -2998634205 -2567728314 -1479988761 -2225804408 -1687299575 -4036750814 -3589425982 -2836112251 -1716719210 -2172019115 -2350772106 -4082527924 -3351601207 -1144339066 -3915972654 -43677040 -128584907 -3198885474 -2049144513 -2918986309 -3540255481 -1236021912 -1562741564 -1567873543 -4096503314 -3705372188 -2577470487 -1177585846 -2303477841 -1147071691 -2391941774 -4028515432 -4065535079 -2583642951 -137192021 -1927228050 -2766227787 -805351294 -2437235296 -4080042115 -3249408284 -782638505 -3845819339 -1983330740 -3282030749 -3319773648 -3736999876 -847551693 -2880828544 -3990939909 -2376424608 -3558519624 -136024549 -3278583844 -2762688829 -4219078139 -3072924194 -692598667 -384003331 -3163216994 -4250335979 -1050907845 -3668273428 -4284545175 -53358827 -650253891 -1151499313 -1468027639 -154584792 -2405751323 -1623439674 -1871951295 -154769593 -2315767181 -1651880503 -2922573984 -48113999 -1632123974 -1961350997 -2471413878 -760692234 -4034335392 -2570688071 -3833410113 -508807148 -3038711427 -2636318446 -386806387 -3390790295 -2782907078 -2447353028 -1456887012 -2811597433 -212881614 -804809160 -3334329333 -1230287783 -1457291885 -1461924287 -4241223388 -44457849 -468720729 -1708698244 -2469203110 -4166298897 -1816329845 -2351564618 -498356396 -307051041 -2823108653 -500390192 -2106885387 -628884507 -2436753563 -425961169 -1081973821 -3782774728 -4195311156 -3043869666 -784024596 -3230991329 -719488898 -2612700779 -4076451778 -1095350154 -279932687 -1534403755 -3944963892 -1406539870 -369435038 -1257607663 -2268806218 -966755660 -900847547 -523346079 -4262324233 -3259257900 -4214819024 -1493742227 -1233831499 -3884615265 -73416695 -2853873585 -1615175371 -2488905718 -2808973797 -972620036 -503038417 -1939620414 -2868162624 -1026391558 -3270471503 -2132348815 -2588150181 -2251185660 -1621676585 -538659267 -2543864103 -1681701711 -611070410 -4288409520 -3883978380 -1722124485 -211809237 -90504501 -3160069575 -673089801 -1287557598 -1881886356 -3992867063 -2795615641 -2391453641 -90395094 -2044532892 -2563643652 -66993898 -281045970 -2838729401 -1013180974 -3693209515 -1008614051 -1421058744 -4066550625 -268842916 -423735394 -4287524086 -197649468 -1490822546 -3036512475 -1698921535 -3719116118 -2059608618 -3998240135 -2449297257 -2187695348 -4062400468 -591577212 -2303173179 -3713832049 -3385098423 -3228933988 -2247508963 -395746164 -1133045056 -1654163076 -941049078 -1002654406 -3389346210 -214685987 -2897334861 -2279105652 -1096157571 -23167349 -637150742 -1734892250 -1826235216 -223778147 -545013551 -1012972564 -4174034546 -4263333947 -3566346661 -419469625 -3253468378 -2014561577 -1684087087 -1355736393 -1978048357 -1373824448 -1132362566 -677196679 -3039814223 -3789560019 -826232837 -4187578686 -4054727366 -493719327 -876885437 -412335866 -1393011217 -3556358700 -2951538787 -1171878633 -212431878 -4221829516 -3850474833 -2633523891 -14527508 -647802013 -3797070994 -3478895932 -1957426232 -1253475796 -1425135863 -3845350651 diff --git a/readme.md b/readme.md index 3ed4bf2..05190db 100644 --- a/readme.md +++ b/readme.md @@ -11,14 +11,16 @@ It is an algorithm that analyzes a one-dimensional dataset of integers to identi With a Rust and Cargo environment set up, simply run: ```sh -$ cargo build --release +cargo build --release ``` -To also compile a Python wheel, you need Maturin set up. SImply run: +To also compile a Python wheel, you need Maturin set up: ```sh -$ maturin build --release -$ pip install target/wheels/lyagushka-1.1.0*.whl +pipenv install +pipenv shell +maturin build --release +pip install target/wheels/lyagushka-1.1.0*.whl ``` ## Usage diff --git a/src/main.rs b/src/bin/bin.rs similarity index 100% rename from src/main.rs rename to src/bin/bin.rs diff --git a/src/lib.rs b/src/lib.rs index dd09518..74db771 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -154,7 +154,7 @@ impl Lyagushka { } #[pymodule] -fn lyagushka(_py: Python, m: &PyModule) -> PyResult<()> { +fn lyagushka(m: &Bound<'_, PyModule>) -> PyResult<()> { m.add_class::()?; Ok(()) -} +} \ No newline at end of file diff --git a/test.py b/test.py deleted file mode 100644 index 111ded7..0000000 --- a/test.py +++ /dev/null @@ -1,75 +0,0 @@ -from pyagushka import Lyagushka -from randonautentropy import rndo -import json -import matplotlib.pyplot as plt -import numpy as np -from scipy.interpolate import interp1d - -def generate_random_data(size=1024, max_value=100): - - random_data = [] - max_value_bytes = (max_value.bit_length() + 7) // 8 - max_int_for_bytes = 2**(max_value_bytes * 8) - 1 - min_bytes_needed = max_value_bytes * size - mod_cutoff = max_int_for_bytes - (max_int_for_bytes % max_value) - 1 - - # Populate the 'random_data' array - while len(random_data) < size: - hex_data = rndo.get(length=min_bytes_needed) - hex_chunks = list((hex_data[0+i:2 * max_value_bytes+i] for i in range(0, len(hex_data), 2 * max_value_bytes))) - for i in hex_chunks: - num = int(i, 16) - if num <= mod_cutoff and len(random_data) < size: - random_data.append( num % (max_value + 1) ) - - return random_data - -def filter_by_z_score(data, z_score_threshold): - filtered_data = [item for item in data if item['z_score'] is not None and abs(item['z_score']) >= z_score_threshold] - return filtered_data - -# load the random test data -# dataset = [] -# with open('random_values.txt', 'r') as file: -# for line in file: -# random_data.append(int(line.strip())) - -dataset = generate_random_data(1024, 1024) -dataset.sort() - -with open('dataset.json', 'w') as r: - r.write(json.dumps(dataset, indent=4)) - -# calculate the anomalies in the data -zhaba = Lyagushka(dataset) -analysis_results = json.loads(zhaba.search(4.0, 7)) -analysis_results = filter_by_z_score(analysis_results, 1.0) - -with open('result.json', 'w') as r: - r.write(json.dumps(analysis_results, indent=4)) - -# Initialize plot -plt.figure(figsize=(10, 6)) - -# Color palette for clusters and gaps -colors = plt.cm.jet(np.linspace(0, 1, len(analysis_results))) - -# Plot dataset points and assign colors based on cluster membership -for i, result in enumerate(analysis_results): - if result['num_elements'] > 0: # It's a cluster - for point in dataset: - plt.plot(point, 0, 'o', color=colors[i]) # Plot points in cluster with the same color - - # Plot a line segment for the cluster/gap Z-score in the same color - start = result['start'] - end = result['end'] - z_score = result['z_score'] if result['z_score'] is not None else 0 - plt.plot([start, end], [z_score, z_score], color=colors[i], linewidth=2) - -# Enhancements for visualization -plt.xlabel('Integer Value') -plt.ylabel('Z-Score') -plt.title('Cluster and Gap Analysis') -plt.grid(True) - -plt.show() \ No newline at end of file