diff --git a/artifacts/2022-09-29-s3billion/garage-0.8-gros.png b/artifacts/2022-09-29-s3billion/garage-0.8-gros.png new file mode 100644 index 0000000..7d33870 Binary files /dev/null and b/artifacts/2022-09-29-s3billion/garage-0.8-gros.png differ diff --git a/artifacts/2022-09-29-s3billion/plot.R b/artifacts/2022-09-29-s3billion/plot.R new file mode 100644 index 0000000..9497cbc --- /dev/null +++ b/artifacts/2022-09-29-s3billion/plot.R @@ -0,0 +1,27 @@ +library(tidyverse) +library(ggpmisc) +library(scales) + + +read_csv("s3billion-dc-gros-32threads-256batchsize-128000batchcount-v0.8-fix-time-30M.csv") %>% mutate(batch_dur_sec = batch_dur_nanoseconds / 1000 / 1000 / 1000) %>% filter(total_objects != 0) -> s + +reg <- lm(s$batch_dur_sec~s$total_objects) + +f <- y~x + +ggplot(s, aes(x=total_objects, y=batch_dur_sec)) + + geom_point(shape = "bullet", alpha=0.4) + + geom_smooth(method="lm", formula=f, se = FALSE, color="blue") + + scale_x_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10), labels = unit_format(unit = "M", scale = 1e-6)) + + scale_y_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10)) + + coord_cartesian(ylim=c(0,3)) + + labs( + y="Time (in sec) spent sending a batch (8192 objects)", + x="Total number of objects stored in the cluster", + caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/Deuxfleurs/mknet", + title="Storing 30M small objects in Garage!", + subtitle="Daemon: Garage v0.8.0-rc1 (+ #398 pull request) with LMDB as db_engine\nBenchmark: 8192 objects/batch. 32 threads/batch. 256 objects/thread. 16-byte/objects.\nEnvironment: mknet on Grid'5000 (gros) https://www.grid5000.fr/w/Nancy:Hardware#gros (SATA SSD).\nDC topo (3 logical nodes, 1Gb/s, 1ms latency).") + + theme_classic() +ggsave("./garage-0.8-gros.png", width=200, height=120, units="mm") +#ggsave("./garage-regression.png", width=200, height=120, units="mm") + diff --git a/artifacts/2022-09-29-s3billion/s3billion-dc-gros-32threads-256batchsize-128000batchcount-v0.8-fix-time-30M.csv b/artifacts/2022-09-29-s3billion/s3billion-dc-gros-32threads-256batchsize-128000batchcount-v0.8-fix-time-30M.csv new file mode 100644 index 0000000..98e152d --- /dev/null +++ b/artifacts/2022-09-29-s3billion/s3billion-dc-gros-32threads-256batchsize-128000batchcount-v0.8-fix-time-30M.csv @@ -0,0 +1,3816 @@ +total_objects,batch_dur_nanoseconds +0,2380724240 +8192,2374550527 +16384,2359923619 +24576,2382417587 +32768,2428711865 +40960,2391350235 +49152,2419205192 +57344,2134397232 +65536,2339447265 +73728,2029692858 +81920,1991953419 +90112,2006151492 +98304,2103347301 +106496,2403206893 +114688,2531341857 +122880,2538878545 +131072,2519545672 +139264,2566946219 +147456,2070620355 +155648,1971266430 +163840,2013969607 +172032,2054968078 +180224,2039398326 +188416,2028530679 +196608,2139008480 +204800,1956504690 +212992,1929976895 +221184,1938505756 +229376,1917455082 +237568,1918977526 +245760,1915969082 +253952,1902674417 +262144,1900340866 +270336,1941723958 +278528,1862728174 +286720,1865561678 +294912,1847032561 +303104,1854417136 +311296,1855725013 +319488,1869729160 +327680,1853953816 +335872,2027975583 +344064,2007104332 +352256,2394472121 +360448,2317815858 +368640,2402256044 +376832,2254817705 +385024,2409681335 +393216,2471172538 +401408,2448913481 +409600,2429172315 +417792,2452993026 +425984,2404055669 +434176,2266781157 +442368,2238574741 +450560,2161974331 +458752,2026215419 +466944,1990354141 +475136,2029548410 +483328,2022587190 +491520,2066946434 +499712,2121831016 +507904,2255853088 +516096,2558652019 +524288,2556961604 +532480,2570923709 +540672,2581092830 +548864,2578797350 +557056,2454614246 +565248,2538292500 +573440,2091187129 +581632,2003751993 +589824,2022029966 +598016,2041928010 +606208,2128995423 +614400,2155893283 +622592,2241040769 +630784,2461771571 +638976,2573635917 +647168,2558657056 +655360,2578221966 +663552,2564096371 +671744,2540438831 +679936,2561607276 +688128,2557467388 +696320,2502807373 +704512,2465453545 +712704,2493501760 +720896,2511858937 +729088,2532668378 +737280,2506255597 +745472,2498486060 +753664,2548794350 +761856,2182062371 +770048,2302381408 +778240,2528696259 +786432,2483954592 +794624,2475188976 +802816,2469845303 +811008,2497768984 +819200,2155518342 +827392,2224922131 +835584,2349645956 +843776,2447864460 +851968,2469558441 +860160,2566444726 +868352,2548754142 +876544,2506881480 +884736,2476711033 +892928,2473037353 +901120,2439168254 +909312,2443666637 +917504,2414950975 +925696,2464525053 +933888,2506773840 +942080,2261763359 +950272,2329263970 +958464,2503690369 +966656,2419500232 +974848,2502340790 +983040,2522349429 +991232,2502095412 +999424,2473780534 +1007616,2497666127 +1015808,2458081046 +1024000,2426282261 +1032192,2424178453 +1040384,2428570179 +1048576,2451009302 +1056768,2446445022 +1064960,2250920336 +1073152,2175817381 +1081344,2134671200 +1089536,2250008884 +1097728,2395339879 +1105920,2481181687 +1114112,2415451863 +1122304,2429490748 +1130496,2459924217 +1138688,2453154936 +1146880,2455698842 +1155072,2480704429 +1163264,2567028575 +1171456,2099114996 +1179648,2094889281 +1187840,2197578642 +1196032,2154770510 +1204224,2114997179 +1212416,2146830438 +1220608,2074990312 +1228800,2215752528 +1236992,2362180696 +1245184,2586565563 +1253376,2584380355 +1261568,2578538999 +1269760,2503781290 +1277952,2440956665 +1286144,2495548523 +1294336,2355796595 +1302528,2385107319 +1310720,2328613711 +1318912,2463129459 +1327104,2187099338 +1335296,2209755818 +1343488,2334119722 +1351680,2570809173 +1359872,2551871089 +1368064,2553981174 +1376256,2538485650 +1384448,2562040348 +1392640,2505039417 +1400832,2533246160 +1409024,2504608588 +1417216,2514348431 +1425408,2554638595 +1433600,2569287289 +1441792,2552677155 +1449984,2576923905 +1458176,2497506316 +1466368,2521986207 +1474560,2500707423 +1482752,2516730599 +1490944,2510215454 +1499136,2480895355 +1507328,2505097717 +1515520,2087628267 +1523712,2134312592 +1531904,2306873148 +1540096,2473493115 +1548288,2483002129 +1556480,2434852397 +1564672,2544225158 +1572864,2093366933 +1581056,2112183320 +1589248,2181426328 +1597440,2115811202 +1605632,2130232805 +1613824,2119384704 +1622016,2120695546 +1630208,2203512901 +1638400,2063003587 +1646592,2069216695 +1654784,2099244284 +1662976,2159764388 +1671168,2213765529 +1679360,2341664040 +1687552,2460649100 +1695744,2532128528 +1703936,2486309826 +1712128,2460950325 +1720320,2437193397 +1728512,2474475262 +1736704,2438237855 +1744896,2473454584 +1753088,2449722839 +1761280,2500305265 +1769472,2072243681 +1777664,2113998697 +1785856,2096778950 +1794048,2129678986 +1802240,2166911097 +1810432,2218616917 +1818624,2158899551 +1826816,2353123100 +1835008,2589183913 +1843200,2574163823 +1851392,2597100186 +1859584,2635561193 +1867776,2136008356 +1875968,2169615313 +1884160,2161384934 +1892352,2172236008 +1900544,2263246572 +1908736,2520166112 +1916928,2564893052 +1925120,2575204517 +1933312,2615548035 +1941504,2446285145 +1949696,2568544965 +1957888,2568532116 +1966080,2517578787 +1974272,2496276354 +1982464,2390813353 +1990656,2443274762 +1998848,2470896312 +2007040,2485966720 +2015232,2454421640 +2023424,2459965880 +2031616,2418791758 +2039808,2431334397 +2048000,2224585604 +2056192,2085193174 +2064384,2120016820 +2072576,2520251610 +2080768,2554424037 +2088960,2611980350 +2097152,2037595167 +2105344,2272559551 +2113536,2356491447 +2121728,2564130524 +2129920,2693310691 +2138112,2673326871 +2146304,2671799762 +2154496,2647426548 +2162688,2664216411 +2170880,2722773563 +2179072,2656017665 +2187264,2686816284 +2195456,2664909324 +2203648,2637750396 +2211840,2648178364 +2220032,2621286578 +2228224,2672880475 +2236416,2697822414 +2244608,2725317151 +2252800,2691005536 +2260992,2663229323 +2269184,2652533335 +2277376,2724132780 +2285568,2703242261 +2293760,2781488738 +2301952,2187262294 +2310144,2252291400 +2318336,2351441439 +2326528,2550291854 +2334720,2637450529 +2342912,2674477262 +2351104,2667241182 +2359296,2642828942 +2367488,2616890395 +2375680,2655543713 +2383872,2630210084 +2392064,2684732175 +2400256,2619411797 +2408448,2626663824 +2416640,2659354487 +2424832,2647825090 +2433024,2623621885 +2441216,2607532160 +2449408,2604806476 +2457600,2647277190 +2465792,2632193565 +2473984,2623261590 +2482176,2582145811 +2490368,2643730198 +2498560,2297276870 +2506752,2503298248 +2514944,2632274922 +2523136,2604470206 +2531328,2637394469 +2539520,2607978411 +2547712,2641814775 +2555904,2623641398 +2564096,2671992528 +2572288,2685023606 +2580480,2693466869 +2588672,2645096321 +2596864,2648233407 +2605056,2602322457 +2613248,2669783909 +2621440,2342459607 +2629632,2654817554 +2637824,2679710516 +2646016,2672030105 +2654208,2671022425 +2662400,2668121252 +2670592,2624142848 +2678784,2604044048 +2686976,2636859858 +2695168,2614244136 +2703360,2587638040 +2711552,2593645240 +2719744,2610173251 +2727936,2577105797 +2736128,2543659331 +2744320,2479865194 +2752512,2571403836 +2760704,2504737548 +2768896,2492454288 +2777088,2553352155 +2785280,2505146583 +2793472,2510539605 +2801664,2598951959 +2809856,2543655031 +2818048,2560896460 +2826240,2273613788 +2834432,2346601601 +2842624,2380786744 +2850816,2427247901 +2859008,2421516955 +2867200,2492383315 +2875392,2278120753 +2883584,2255668847 +2891776,2270060659 +2899968,2261298602 +2908160,2156473033 +2916352,2199605107 +2924544,2265189188 +2932736,2162837138 +2940928,2153992778 +2949120,2135590209 +2957312,2154670194 +2965504,2178780362 +2973696,2208025120 +2981888,2156017467 +2990080,2149227130 +2998272,2190047733 +3006464,2141827430 +3014656,2139775919 +3022848,2149284613 +3031040,2136200123 +3039232,2172671566 +3047424,2124049152 +3055616,2115699409 +3063808,2126157895 +3072000,2149907707 +3080192,2191155831 +3088384,2117526914 +3096576,2132875347 +3104768,2156940013 +3112960,2365228431 +3121152,2524282098 +3129344,2410394491 +3137536,2434586190 +3145728,2423306428 +3153920,2442575161 +3162112,2503700426 +3170304,2400221910 +3178496,2423242581 +3186688,2518995411 +3194880,2502784560 +3203072,2432207001 +3211264,2449577592 +3219456,2466814656 +3227648,2457213790 +3235840,2271614307 +3244032,2487562622 +3252224,2225152021 +3260416,2416820252 +3268608,2433063492 +3276800,2462643532 +3284992,2437146334 +3293184,2498586524 +3301376,2614928359 +3309568,2482751249 +3317760,2498840658 +3325952,2459776546 +3334144,2543558543 +3342336,2119377328 +3350528,2109169493 +3358720,2063276215 +3366912,2072664939 +3375104,2083701354 +3383296,2047483023 +3391488,2073757131 +3399680,2085902709 +3407872,2085200827 +3416064,2082543011 +3424256,2087794967 +3432448,2089716838 +3440640,2101410438 +3448832,1991599664 +3457024,1992580068 +3465216,1971697053 +3473408,2052059015 +3481600,2000642617 +3489792,2024393052 +3497984,2027729480 +3506176,2051911349 +3514368,2060161016 +3522560,2073106612 +3530752,2071344754 +3538944,2088512477 +3547136,2085507990 +3555328,2065458514 +3563520,2034064472 +3571712,2047010624 +3579904,2041770214 +3588096,2036521059 +3596288,2049048826 +3604480,2024463176 +3612672,2049514544 +3620864,2059409400 +3629056,1996634179 +3637248,2015317687 +3645440,2022913678 +3653632,2005356551 +3661824,1983552163 +3670016,2014710247 +3678208,2002524729 +3686400,2052093416 +3694592,1966002461 +3702784,1991160620 +3710976,1977408626 +3719168,1975608359 +3727360,1969696633 +3735552,1985923321 +3743744,1974971805 +3751936,2025181303 +3760128,1991926802 +3768320,2031196562 +3776512,2022698120 +3784704,2042623819 +3792896,2029670047 +3801088,2044165462 +3809280,2036395547 +3817472,2035111763 +3825664,2031114257 +3833856,2055901065 +3842048,2033763780 +3850240,2034872455 +3858432,2029192391 +3866624,2028414652 +3874816,2040256072 +3883008,2099151848 +3891200,2053428781 +3899392,2046976219 +3907584,2048546797 +3915776,2052521753 +3923968,2049751430 +3932160,2061641409 +3940352,2093280983 +3948544,2022090298 +3956736,2089160199 +3964928,1978672300 +3973120,1960804694 +3981312,1988787987 +3989504,1986166753 +3997696,1978883497 +4005888,1982351860 +4014080,1986944036 +4022272,1989157109 +4030464,1981933327 +4038656,2007550481 +4046848,1982131927 +4055040,2036372833 +4063232,1978848202 +4071424,1991249234 +4079616,1979839477 +4087808,1987015438 +4096000,1994200218 +4104192,1999140952 +4112384,2080868978 +4120576,1995413623 +4128768,1994032747 +4136960,1974666450 +4145152,1973125291 +4153344,1961450148 +4161536,1966274650 +4169728,1990946717 +4177920,1967058416 +4186112,1990321738 +4194304,1992523656 +4202496,1995301486 +4210688,1982171795 +4218880,1975904598 +4227072,2003134456 +4235264,1984332279 +4243456,1983520773 +4251648,2156600966 +4259840,2133678875 +4268032,2136558411 +4276224,2152755346 +4284416,2226921418 +4292608,2163242254 +4300800,2152640065 +4308992,2161395045 +4317184,2145992784 +4325376,2166758533 +4333568,2174436268 +4341760,2169252947 +4349952,2179732402 +4358144,2187424018 +4366336,2188709512 +4374528,2161530738 +4382720,2177622184 +4390912,2179718958 +4399104,2189668501 +4407296,2199490056 +4415488,2238687766 +4423680,2187873653 +4431872,2209098357 +4440064,2198877011 +4448256,2206799393 +4456448,2252557106 +4464640,2182446440 +4472832,2234896725 +4481024,2234424925 +4489216,2177416464 +4497408,2170464680 +4505600,2199130877 +4513792,2250361180 +4521984,2156775922 +4530176,2167322829 +4538368,2181111518 +4546560,2246425791 +4554752,2170135149 +4562944,2231009147 +4571136,2202511191 +4579328,2210800592 +4587520,2225914269 +4595712,2194173716 +4603904,2222642402 +4612096,2230781371 +4620288,2241047062 +4628480,2217945762 +4636672,2241848884 +4644864,2252460489 +4653056,2250959200 +4661248,2251534326 +4669440,2273351931 +4677632,2295236608 +4685824,2296134287 +4694016,2362992307 +4702208,2373393561 +4710400,2268180945 +4718592,2294501833 +4726784,2345060393 +4734976,2364514804 +4743168,2395625408 +4751360,2426605895 +4759552,2465909676 +4767744,2497740662 +4775936,2538686273 +4784128,2608915067 +4792320,2711197613 +4800512,2751454203 +4808704,2736992930 +4816896,2816079220 +4825088,2754013588 +4833280,2693603284 +4841472,2676481698 +4849664,2679107603 +4857856,2698910066 +4866048,2694416759 +4874240,2667999065 +4882432,2670431663 +4890624,2701815895 +4898816,2678520214 +4907008,2673888802 +4915200,2671721936 +4923392,2770796761 +4931584,2676636631 +4939776,2714976622 +4947968,2771888298 +4956160,2671984495 +4964352,2690108529 +4972544,2703836469 +4980736,2716747586 +4988928,2664330019 +4997120,2675845916 +5005312,2686678414 +5013504,2696499785 +5021696,2661097978 +5029888,2668892483 +5038080,2747158614 +5046272,2662126506 +5054464,2646122359 +5062656,2659978168 +5070848,2675594855 +5079040,2685866437 +5087232,2725224203 +5095424,2622257598 +5103616,2544231050 +5111808,2545334989 +5120000,2619751131 +5128192,2593055535 +5136384,2542165122 +5144576,2636317018 +5152768,2864357452 +5160960,2666963347 +5169152,2591358848 +5177344,2658517754 +5185536,2631081317 +5193728,2647315059 +5201920,2626244624 +5210112,2644605534 +5218304,2753995314 +5226496,2632804150 +5234688,2594666621 +5242880,2653938208 +5251072,2677805853 +5259264,2658205720 +5267456,2808729579 +5275648,2655572250 +5283840,2603118567 +5292032,2636029865 +5300224,2573593312 +5308416,2598690111 +5316608,2602736760 +5324800,2641306495 +5332992,2658173668 +5341184,2718430262 +5349376,2601359502 +5357568,2693682125 +5365760,2675660573 +5373952,2619966862 +5382144,2631137666 +5390336,2697471090 +5398528,2537805829 +5406720,2685771876 +5414912,2551201173 +5423104,2646953323 +5431296,2733766573 +5439488,2655173247 +5447680,2630628872 +5455872,2671498432 +5464064,2669684236 +5472256,2644710568 +5480448,2648613345 +5488640,2655430518 +5496832,2753250620 +5505024,2656537731 +5513216,2649813254 +5521408,2659728126 +5529600,2683238706 +5537792,2691601015 +5545984,2645518764 +5554176,2659139165 +5562368,2650791416 +5570560,2701687635 +5578752,2671195216 +5586944,2684165796 +5595136,2664964464 +5603328,2672766671 +5611520,2716405243 +5619712,2661936904 +5627904,2662338593 +5636096,2654010598 +5644288,2652200437 +5652480,2635357574 +5660672,2582714359 +5668864,2537666577 +5677056,2553998972 +5685248,2611854786 +5693440,2723763529 +5701632,2650379530 +5709824,2820185176 +5718016,2740228674 +5726208,2677241124 +5734400,2529764027 +5742592,2544843311 +5750784,2499610127 +5758976,2574725545 +5767168,2571566384 +5775360,2593472829 +5783552,2540547946 +5791744,2551976842 +5799936,2548422454 +5808128,2550066431 +5816320,2560544230 +5824512,2539344428 +5832704,2558384754 +5840896,2644345378 +5849088,2566290827 +5857280,2523788165 +5865472,2498965782 +5873664,2469632063 +5881856,2504304463 +5890048,2508493242 +5898240,2593095307 +5906432,2548236039 +5914624,2518659160 +5922816,2482047260 +5931008,2482249174 +5939200,2495438954 +5947392,2465441975 +5955584,2543228377 +5963776,2607343699 +5971968,2512829985 +5980160,2477990207 +5988352,2506238907 +5996544,2510005161 +6004736,2604279090 +6012928,2486480792 +6021120,2439981622 +6029312,2418363356 +6037504,2442329372 +6045696,2519446499 +6053888,2538177797 +6062080,2528219247 +6070272,2475683219 +6078464,2516456248 +6086656,2702225659 +6094848,2402448022 +6103040,2446208965 +6111232,2502464224 +6119424,2559532512 +6127616,2443515483 +6135808,2484400805 +6144000,2513850265 +6152192,2533021329 +6160384,2522500804 +6168576,2493181172 +6176768,2496933011 +6184960,2526399579 +6193152,2517982822 +6201344,2534016760 +6209536,2672825580 +6217728,2636923734 +6225920,2615699225 +6234112,2601602256 +6242304,2627006884 +6250496,2590399768 +6258688,2639154542 +6266880,2635085263 +6275072,2639847372 +6283264,2657370817 +6291456,2655600957 +6299648,2580618161 +6307840,2642206443 +6316032,2607820514 +6324224,2609583818 +6332416,2692663370 +6340608,2629839538 +6348800,2621499804 +6356992,2598548460 +6365184,2595023376 +6373376,2646911946 +6381568,2579649277 +6389760,2703690087 +6397952,2677127732 +6406144,2592636810 +6414336,2618244828 +6422528,2617227776 +6430720,2601284538 +6438912,2633920841 +6447104,2632975181 +6455296,2605448695 +6463488,2635543377 +6471680,2608348457 +6479872,2640967240 +6488064,2604279424 +6496256,2630568544 +6504448,2633370837 +6512640,2673527875 +6520832,2651613115 +6529024,2600623240 +6537216,2572849820 +6545408,2612106051 +6553600,2649229471 +6561792,2621931927 +6569984,2650230244 +6578176,2657280999 +6586368,2579698563 +6594560,2636148598 +6602752,2699869445 +6610944,2665944884 +6619136,2576860141 +6627328,2646133314 +6635520,2618888498 +6643712,2623752908 +6651904,2630346755 +6660096,2628832038 +6668288,2631381453 +6676480,2626839846 +6684672,2616873711 +6692864,2645339444 +6701056,2615019840 +6709248,2619887614 +6717440,2632158974 +6725632,2620301170 +6733824,2622817031 +6742016,2649534076 +6750208,2602718717 +6758400,2595411010 +6766592,2607525352 +6774784,2679448022 +6782976,2665325793 +6791168,2653035052 +6799360,2669802674 +6807552,2779852162 +6815744,2751842917 +6823936,2667507763 +6832128,2691746886 +6840320,2677359527 +6848512,2676969428 +6856704,2716958935 +6864896,2678145459 +6873088,2669347170 +6881280,2688520341 +6889472,2705875046 +6897664,2682717647 +6905856,2667083339 +6914048,2663941802 +6922240,2698898520 +6930432,2711593148 +6938624,2653383713 +6946816,2607777930 +6955008,2616837619 +6963200,2668714907 +6971392,2696264422 +6979584,2670117987 +6987776,2634451607 +6995968,2654119192 +7004160,2632744610 +7012352,2641877534 +7020544,2654547019 +7028736,2721308617 +7036928,2742513937 +7045120,2669458109 +7053312,2590908413 +7061504,2597503983 +7069696,2601939764 +7077888,2598363512 +7086080,2663274198 +7094272,2652100360 +7102464,2668393194 +7110656,2616887086 +7118848,2627928735 +7127040,2661804951 +7135232,2639412746 +7143424,2638739100 +7151616,2628045433 +7159808,2685742131 +7168000,2672194891 +7176192,2664749008 +7184384,2672759064 +7192576,2613690635 +7200768,2570815331 +7208960,2532424478 +7217152,2552004761 +7225344,2542642123 +7233536,2526335379 +7241728,2563941812 +7249920,2589598279 +7258112,2574844685 +7266304,2562722138 +7274496,2594716873 +7282688,2571670397 +7290880,2559816679 +7299072,2541833607 +7307264,2543618990 +7315456,2548585744 +7323648,2533852557 +7331840,2555634983 +7340032,2560196563 +7348224,2482643121 +7356416,2504442645 +7364608,2535818877 +7372800,2502400206 +7380992,2536702371 +7389184,2577826148 +7397376,2632416875 +7405568,2569314349 +7413760,2597489164 +7421952,2603869295 +7430144,2543235116 +7438336,2531960205 +7446528,2551020294 +7454720,2540367239 +7462912,2498618806 +7471104,2502561042 +7479296,2451289585 +7487488,2459029810 +7495680,2464975036 +7503872,2509008538 +7512064,2417553537 +7520256,2547474748 +7528448,2500867793 +7536640,2536609813 +7544832,2514998534 +7553024,2497658261 +7561216,2497383596 +7569408,2456433718 +7577600,2482096208 +7585792,2500202817 +7593984,2519996159 +7602176,2510640152 +7610368,2484291518 +7618560,2475753584 +7626752,2465072110 +7634944,2467681044 +7643136,2473478668 +7651328,2446281636 +7659520,2592486977 +7667712,2487349811 +7675904,2536916334 +7684096,2461856810 +7692288,2528423895 +7700480,2455049642 +7708672,2520012394 +7716864,2488072641 +7725056,2439983664 +7733248,2484567223 +7741440,2554323958 +7749632,2560661255 +7757824,2289259770 +7766016,2250521161 +7774208,2244815600 +7782400,2216580875 +7790592,2205958749 +7798784,2442837916 +7806976,2367570784 +7815168,2386882367 +7823360,2360185903 +7831552,2531712881 +7839744,2523131773 +7847936,2531457553 +7856128,2509089172 +7864320,2649426969 +7872512,2673554486 +7880704,2437689456 +7888896,2508368353 +7897088,2516379979 +7905280,2475201286 +7913472,2486254198 +7921664,2468508079 +7929856,2505020434 +7938048,2508646170 +7946240,2493008121 +7954432,2462173886 +7962624,2449979019 +7970816,2476889220 +7979008,2479308119 +7987200,2525431186 +7995392,2515312456 +8003584,2511844680 +8011776,2552538129 +8019968,2527361995 +8028160,2599075991 +8036352,2558150260 +8044544,2480337226 +8052736,2477298053 +8060928,2481126110 +8069120,2531051700 +8077312,2488015292 +8085504,2450277212 +8093696,2454635459 +8101888,2522315987 +8110080,2461057599 +8118272,2531079441 +8126464,2517564448 +8134656,2503805554 +8142848,2481320556 +8151040,2465278049 +8159232,2495116580 +8167424,2512997556 +8175616,2470472169 +8183808,2480358067 +8192000,2514056511 +8200192,2459490951 +8208384,2453975634 +8216576,2537234017 +8224768,2460889061 +8232960,2420095009 +8241152,2491624300 +8249344,2524797816 +8257536,2496194142 +8265728,2455657197 +8273920,2409161073 +8282112,2423987764 +8290304,2471217912 +8298496,2451075273 +8306688,2415013274 +8314880,2423521583 +8323072,2419590998 +8331264,2492542149 +8339456,2426724355 +8347648,2492268141 +8355840,2453210825 +8364032,2421056253 +8372224,2433544341 +8380416,2487833595 +8388608,2460456265 +8396800,2426631512 +8404992,2434494290 +8413184,2471537717 +8421376,2497604760 +8429568,2369847400 +8437760,2469728606 +8445952,2491621343 +8454144,2426094464 +8462336,2492612365 +8470528,2429573749 +8478720,2432902003 +8486912,2603488261 +8495104,2607232295 +8503296,2602043334 +8511488,2618673566 +8519680,2612221107 +8527872,2571430662 +8536064,2601779669 +8544256,2629526903 +8552448,2367189645 +8560640,2640268468 +8568832,2652283291 +8577024,2681215795 +8585216,2648556174 +8593408,2370321883 +8601600,2668075370 +8609792,2350015716 +8617984,2548242899 +8626176,2611860389 +8634368,2614828265 +8642560,2611044385 +8650752,2664303597 +8658944,2610967313 +8667136,2659301027 +8675328,2462581159 +8683520,2600190848 +8691712,2608711678 +8699904,2569712684 +8708096,2570963570 +8716288,2593435679 +8724480,2624816331 +8732672,2597123367 +8740864,2612843271 +8749056,2606998955 +8757248,2624017625 +8765440,2598850409 +8773632,2654230518 +8781824,2496592717 +8790016,2658184529 +8798208,2609787461 +8806400,2607682201 +8814592,2673139895 +8822784,2490593190 +8830976,2616394119 +8839168,2615709077 +8847360,2649344803 +8855552,2573970487 +8863744,2608651051 +8871936,2552629253 +8880128,2565722776 +8888320,2581989141 +8896512,2615848356 +8904704,2609877870 +8912896,2606573947 +8921088,2614426074 +8929280,2600564072 +8937472,2557933514 +8945664,2591913436 +8953856,2570076424 +8962048,2647472257 +8970240,2445231529 +8978432,2627173470 +8986624,2673723787 +8994816,2394602238 +9003008,2569288211 +9011200,2608871380 +9019392,2554099879 +9027584,2560563430 +9035776,2575834531 +9043968,2616282761 +9052160,2598707377 +9060352,2632048688 +9068544,2469927545 +9076736,2532539425 +9084928,2655593916 +9093120,2382639857 +9101312,2626506537 +9109504,2613793626 +9117696,2611718503 +9125888,2618848363 +9134080,2556228008 +9142272,2548427604 +9150464,2557713183 +9158656,2576637685 +9166848,2630019509 +9175040,2675786164 +9183232,2627302248 +9191424,2592044501 +9199616,2592851760 +9207808,2594014839 +9216000,2678688539 +9224192,2691012357 +9232384,2649773688 +9240576,2604416326 +9248768,2611466155 +9256960,2630919543 +9265152,2603180864 +9273344,2616880988 +9281536,2602086943 +9289728,2620275754 +9297920,2623949782 +9306112,2637020600 +9314304,2648009384 +9322496,2608608752 +9330688,2603524880 +9338880,2619879462 +9347072,2617381647 +9355264,2682138803 +9363456,2635149312 +9371648,2655575280 +9379840,2614621413 +9388032,2666560726 +9396224,2594255064 +9404416,2605016511 +9412608,2617698495 +9420800,2639051532 +9428992,2622149770 +9437184,2590163876 +9445376,2616091441 +9453568,2598254567 +9461760,2693345684 +9469952,2663307011 +9478144,2602656548 +9486336,2566139542 +9494528,2581608567 +9502720,2621105999 +9510912,2606401549 +9519104,2617942640 +9527296,2672431676 +9535488,2528317606 +9543680,2541606702 +9551872,2454583792 +9560064,2448311137 +9568256,2491308578 +9576448,2496414845 +9584640,2414366714 +9592832,2492819596 +9601024,2477500515 +9609216,2478263392 +9617408,2479382623 +9625600,2518425843 +9633792,2553708936 +9641984,2607125202 +9650176,2585485345 +9658368,2506319819 +9666560,2416383359 +9674752,2453012804 +9682944,2456740611 +9691136,2447046946 +9699328,2463296512 +9707520,2413949081 +9715712,2486129996 +9723904,2461896706 +9732096,2465385005 +9740288,2479113650 +9748480,2608752970 +9756672,2519710438 +9764864,2485121906 +9773056,2516829279 +9781248,2473494837 +9789440,2415028991 +9797632,2521020145 +9805824,2476275944 +9814016,2464398435 +9822208,2458990637 +9830400,2500357589 +9838592,2483419655 +9846784,2416507927 +9854976,2573124218 +9863168,2552524022 +9871360,2495105123 +9879552,2508850254 +9887744,2491473130 +9895936,2468202855 +9904128,2493761476 +9912320,2550646282 +9920512,2408088499 +9928704,2514550280 +9936896,2485563363 +9945088,2501316889 +9953280,2464821814 +9961472,2477732940 +9969664,2472349564 +9977856,2476062534 +9986048,2570593431 +9994240,2484615187 +10002432,2471043326 +10010624,2500425363 +10018816,2442498569 +10027008,2529340176 +10035200,2542498431 +10043392,2495129486 +10051584,2563273054 +10059776,2485604802 +10067968,2496738868 +10076160,2494443346 +10084352,2442591045 +10092544,2470547197 +10100736,2505626689 +10108928,2450062925 +10117120,2563470297 +10125312,2447394878 +10133504,2502963695 +10141696,2448587074 +10149888,2451009658 +10158080,2493330289 +10166272,2616811024 +10174464,2459719928 +10182656,2469954703 +10190848,2476059618 +10199040,2523005954 +10207232,2448865926 +10215424,2513755682 +10223616,2505398279 +10231808,2563780301 +10240000,2478714834 +10248192,2443573941 +10256384,2503641460 +10264576,2597905806 +10272768,2331037515 +10280960,2302197716 +10289152,2305986489 +10297344,2495528984 +10305536,2496660528 +10313728,2473782948 +10321920,2548031221 +10330112,2346363083 +10338304,2265320856 +10346496,2469688517 +10354688,2535473583 +10362880,2489422792 +10371072,2280973032 +10379264,2484129274 +10387456,2487869115 +10395648,2544086085 +10403840,2532613975 +10412032,2478494831 +10420224,2497350366 +10428416,2476267243 +10436608,2429176974 +10444800,2487905986 +10452992,2448197753 +10461184,2462487623 +10469376,2495900359 +10477568,2506217927 +10485760,2305230306 +10493952,2457221328 +10502144,2452478068 +10510336,2509674303 +10518528,2538906369 +10526720,2463189340 +10534912,2469900210 +10543104,2462842815 +10551296,2432946931 +10559488,2472327847 +10567680,2378599718 +10575872,2452484074 +10584064,2475370637 +10592256,2436236629 +10600448,2254683710 +10608640,2463533153 +10616832,2485220761 +10625024,2495602958 +10633216,2545426611 +10641408,2525910112 +10649600,2565780787 +10657792,2438457358 +10665984,2366386679 +10674176,2495145992 +10682368,2463211558 +10690560,2469939762 +10698752,2424377702 +10706944,2480825980 +10715136,2492667024 +10723328,2459920053 +10731520,2484793507 +10739712,2467880009 +10747904,2460869567 +10756096,2478569196 +10764288,2533733912 +10772480,2470556265 +10780672,2440026448 +10788864,2454822238 +10797056,2541654976 +10805248,2524647208 +10813440,2565568694 +10821632,2362928052 +10829824,2560682771 +10838016,2503795319 +10846208,2562641265 +10854400,2577829236 +10862592,2345533387 +10870784,2582867235 +10878976,2611352718 +10887168,2438212600 +10895360,2511109949 +10903552,2447294373 +10911744,2432307372 +10919936,2489704469 +10928128,2490332106 +10936320,2450029369 +10944512,2472243986 +10952704,2477832810 +10960896,2508448932 +10969088,2565032961 +10977280,2506666368 +10985472,2584894718 +10993664,2577438159 +11001856,2541549507 +11010048,2562661812 +11018240,2536890516 +11026432,2576021143 +11034624,2317768476 +11042816,2412699492 +11051008,2428528133 +11059200,2418740946 +11067392,2417647979 +11075584,2467999178 +11083776,2434884503 +11091968,2492360974 +11100160,2495221457 +11108352,2394851414 +11116544,2397446281 +11124736,2452737901 +11132928,2414466783 +11141120,2450977938 +11149312,2473511687 +11157504,2453176860 +11165696,2492246386 +11173888,2484311661 +11182080,2567537027 +11190272,2672802050 +11198464,2494246184 +11206656,2657199549 +11214848,2617530517 +11223040,2703443749 +11231232,2627886305 +11239424,2626439898 +11247616,2637635444 +11255808,2612692210 +11264000,2625099351 +11272192,2706165825 +11280384,2698001129 +11288576,2630583065 +11296768,2626158237 +11304960,2687865651 +11313152,2670911084 +11321344,2620582609 +11329536,2626634988 +11337728,2668700397 +11345920,2570502809 +11354112,2616569099 +11362304,2636566304 +11370496,2618032647 +11378688,2600947605 +11386880,2595543559 +11395072,2640327696 +11403264,2612736935 +11411456,2605083298 +11419648,2624375262 +11427840,2654897562 +11436032,2556976905 +11444224,2707941151 +11452416,2716179904 +11460608,2634676416 +11468800,2621284947 +11476992,2611910294 +11485184,2628644044 +11493376,2650219964 +11501568,2678987825 +11509760,2645036241 +11517952,2631797792 +11526144,2642276869 +11534336,2678948219 +11542528,2407329464 +11550720,2615412702 +11558912,2618353112 +11567104,2683660603 +11575296,2653176071 +11583488,2619363624 +11591680,2651445449 +11599872,2632630544 +11608064,2654597853 +11616256,2732298696 +11624448,2564556652 +11632640,2626195556 +11640832,2609771711 +11649024,2652750471 +11657216,2641381006 +11665408,2649067623 +11673600,2646896997 +11681792,2626264818 +11689984,2564721309 +11698176,2631727017 +11706368,2609985887 +11714560,2600613702 +11722752,2595908985 +11730944,2651373846 +11739136,2629810542 +11747328,2622655777 +11755520,2641382603 +11763712,2659435319 +11771904,2646247908 +11780096,2620838304 +11788288,2639495149 +11796480,2622367673 +11804672,2669398793 +11812864,2622533249 +11821056,2651651765 +11829248,2665595072 +11837440,2292657202 +11845632,2637463378 +11853824,2484557876 +11862016,2581194228 +11870208,2650958401 +11878400,2644588760 +11886592,2665438335 +11894784,2682165883 +11902976,2658172232 +11911168,2647745565 +11919360,2625832918 +11927552,2672811903 +11935744,2401961304 +11943936,2642545135 +11952128,2646762270 +11960320,2670671977 +11968512,2653383316 +11976704,2681552688 +11984896,2670255710 +11993088,2657720626 +12001280,2657447146 +12009472,2623902981 +12017664,2651859667 +12025856,2645956789 +12034048,2636516572 +12042240,2496763825 +12050432,2642142462 +12058624,2614728041 +12066816,2672180754 +12075008,2644696761 +12083200,2647668789 +12091392,2630649018 +12099584,2638512448 +12107776,2625840142 +12115968,2634490393 +12124160,2604130705 +12132352,2662530617 +12140544,2656168456 +12148736,2656977587 +12156928,2586965046 +12165120,2564241017 +12173312,2633676035 +12181504,2623560006 +12189696,2636829468 +12197888,2663541977 +12206080,2652269690 +12214272,2728062274 +12222464,2696310260 +12230656,2684703296 +12238848,2680909215 +12247040,2669990448 +12255232,2693999694 +12263424,2684781358 +12271616,2632327550 +12279808,2506614744 +12288000,2505617249 +12296192,2573790603 +12304384,2622302872 +12312576,2384038686 +12320768,2542359778 +12328960,2593551777 +12337152,2399956362 +12345344,2453910415 +12353536,2450175151 +12361728,2477373855 +12369920,2446474420 +12378112,2492568432 +12386304,2537607027 +12394496,2529353767 +12402688,2485466200 +12410880,2412189044 +12419072,2483432860 +12427264,2541842427 +12435456,2582790733 +12443648,2468514964 +12451840,2412063444 +12460032,2462878267 +12468224,2506685290 +12476416,2579841312 +12484608,2373070652 +12492800,2497411585 +12500992,2474463888 +12509184,2502685921 +12517376,2422761408 +12525568,2479245212 +12533760,2453291932 +12541952,2478915555 +12550144,2497086913 +12558336,2469236624 +12566528,2478461282 +12574720,2510281487 +12582912,2455274946 +12591104,2563605144 +12599296,2613702676 +12607488,2496058087 +12615680,2494381282 +12623872,2420862996 +12632064,2496158052 +12640256,2443349250 +12648448,2515914800 +12656640,2525928928 +12664832,2579526421 +12673024,2509210965 +12681216,2453505651 +12689408,2500179597 +12697600,2463166318 +12705792,2467513098 +12713984,2489416903 +12722176,2482842394 +12730368,2466357249 +12738560,2460699262 +12746752,2485857533 +12754944,2477413563 +12763136,2369511759 +12771328,2437481742 +12779520,2478657328 +12787712,2468482521 +12795904,2474841036 +12804096,2488505394 +12812288,2479167374 +12820480,2475885884 +12828672,2484457219 +12836864,2490703387 +12845056,2511425822 +12853248,2473790607 +12861440,2483840229 +12869632,2443063603 +12877824,2413277395 +12886016,2476208007 +12894208,2620644608 +12902400,2571384584 +12910592,2483042991 +12918784,2444052382 +12926976,2481062327 +12935168,2535475803 +12943360,2592172864 +12951552,2409961409 +12959744,2472721622 +12967936,2428394659 +12976128,2488423386 +12984320,2475157272 +12992512,2486061737 +13000704,2478360153 +13008896,2495659664 +13017088,2490758125 +13025280,2447347998 +13033472,2524531946 +13041664,2476133034 +13049856,2371156793 +13058048,2522092232 +13066240,2555710671 +13074432,2531912611 +13082624,2512813192 +13090816,2461000158 +13099008,2375461529 +13107200,2476743598 +13115392,2551630321 +13123584,2531087167 +13131776,2502053875 +13139968,2530368653 +13148160,2517769639 +13156352,2431239720 +13164544,2465421540 +13172736,2364954646 +13180928,2513262317 +13189120,2430789641 +13197312,2484183948 +13205504,2417396579 +13213696,2484671630 +13221888,2400695797 +13230080,2407104121 +13238272,2499367590 +13246464,2517077265 +13254656,2496481278 +13262848,2467479089 +13271040,2483237632 +13279232,2481631455 +13287424,2531439165 +13295616,2556345386 +13303808,2580274235 +13312000,2471030498 +13320192,2465430887 +13328384,2454346979 +13336576,2440806353 +13344768,2376920126 +13352960,2489822757 +13361152,2506224939 +13369344,2508185430 +13377536,2478550220 +13385728,2506312516 +13393920,2507611098 +13402112,2468431520 +13410304,2503913499 +13418496,2395875344 +13426688,2447060186 +13434880,2401182786 +13443072,2420480889 +13451264,2465307152 +13459456,2480526958 +13467648,2415399489 +13475840,2455262660 +13484032,2388792628 +13492224,2448498037 +13500416,2435786734 +13508608,2421076805 +13516800,2448959770 +13524992,2401998735 +13533184,2438284902 +13541376,2357434318 +13549568,2441683187 +13557760,2488721587 +13565952,2501729296 +13574144,2435306378 +13582336,2477986510 +13590528,2444717395 +13598720,2443957652 +13606912,2448279330 +13615104,2418709067 +13623296,2477320958 +13631488,2424857326 +13639680,2404875946 +13647872,2489112416 +13656064,2409946308 +13664256,2480493097 +13672448,2492376263 +13680640,2405732991 +13688832,2529249018 +13697024,2452960636 +13705216,2449162474 +13713408,2507507909 +13721600,2462455408 +13729792,2443646040 +13737984,2488808665 +13746176,2422404394 +13754368,2522039241 +13762560,2407334607 +13770752,2370264469 +13778944,2410429893 +13787136,2447222247 +13795328,2422162360 +13803520,2321148676 +13811712,2423855323 +13819904,2364833407 +13828096,2510650843 +13836288,2477459058 +13844480,2500498214 +13852672,2540781969 +13860864,2344558173 +13869056,2511566476 +13877248,2289136948 +13885440,2454895035 +13893632,2523320497 +13901824,2479194953 +13910016,2417503662 +13918208,2412664874 +13926400,2464959466 +13934592,2502491882 +13942784,2502778786 +13950976,2457757522 +13959168,2473588731 +13967360,2448128037 +13975552,2459827224 +13983744,2525066193 +13991936,2474978333 +14000128,2489427757 +14008320,2537049317 +14016512,2538772164 +14024704,2495768835 +14032896,2607893960 +14041088,2485703341 +14049280,2487889670 +14057472,2495644552 +14065664,2502337376 +14073856,2462051667 +14082048,2324929753 +14090240,2449159473 +14098432,2448216159 +14106624,2486045930 +14114816,2520460215 +14123008,2279039308 +14131200,2493861206 +14139392,2435880587 +14147584,2489227464 +14155776,2444797465 +14163968,2434462447 +14172160,2475946269 +14180352,2427736573 +14188544,2451210384 +14196736,2490939125 +14204928,2505673636 +14213120,2547646722 +14221312,2525140203 +14229504,2539929195 +14237696,2474240360 +14245888,2532065905 +14254080,2469022062 +14262272,2488406063 +14270464,2479816763 +14278656,2457063154 +14286848,2514977054 +14295040,2432069308 +14303232,2440895915 +14311424,2393566338 +14319616,2446243937 +14327808,2488131039 +14336000,2460305782 +14344192,2548971409 +14352384,2648401611 +14360576,2662446550 +14368768,2705756238 +14376960,2718407218 +14385152,2710158827 +14393344,2677676953 +14401536,2708979490 +14409728,2709320956 +14417920,2694625580 +14426112,2768963510 +14434304,2699083599 +14442496,2750199704 +14450688,2544669723 +14458880,2682684771 +14467072,2661573569 +14475264,2771722434 +14483456,2418247570 +14491648,2629811673 +14499840,2683589112 +14508032,2672740582 +14516224,2672238688 +14524416,2713401918 +14532608,2676571253 +14540800,2719024325 +14548992,2729054184 +14557184,2732716221 +14565376,2683449368 +14573568,2684829702 +14581760,2693450434 +14589952,2700675027 +14598144,2416243511 +14606336,2608760820 +14614528,2398765060 +14622720,2710131595 +14630912,2728304178 +14639104,2771167056 +14647296,2458426607 +14655488,2639375633 +14663680,2700024723 +14671872,2688945683 +14680064,2690298468 +14688256,2675938182 +14696448,2705739178 +14704640,2677621147 +14712832,2728887770 +14721024,2712669851 +14729216,2714119536 +14737408,2702222078 +14745600,2699073173 +14753792,2752002747 +14761984,2710050347 +14770176,2568182042 +14778368,2642304742 +14786560,2655052056 +14794752,2627511601 +14802944,2689445032 +14811136,2682841910 +14819328,2679283378 +14827520,2680674437 +14835712,2636489999 +14843904,2625984265 +14852096,2676873520 +14860288,2678015276 +14868480,2687731362 +14876672,2668232475 +14884864,2690710149 +14893056,2612899878 +14901248,2671960839 +14909440,2629981699 +14917632,2653479516 +14925824,2631923690 +14934016,2700102632 +14942208,2452586283 +14950400,2642189017 +14958592,2708177385 +14966784,2380016899 +14974976,2595496157 +14983168,2671045011 +14991360,2691557729 +14999552,2663586966 +15007744,2638375834 +15015936,2622634231 +15024128,2727466907 +15032320,2494024822 +15040512,2730206176 +15048704,2718652795 +15056896,2478244472 +15065088,2729574881 +15073280,2539832519 +15081472,2564170129 +15089664,2473977185 +15097856,2557540083 +15106048,2686539784 +15114240,2702024847 +15122432,2708742618 +15130624,2657952674 +15138816,2632437133 +15147008,2626355497 +15155200,2612759519 +15163392,2604581215 +15171584,2602194937 +15179776,2685736690 +15187968,2706481468 +15196160,2683590952 +15204352,2700847628 +15212544,2702902574 +15220736,2651322119 +15228928,2640300645 +15237120,2630007030 +15245312,2655131188 +15253504,2512230816 +15261696,2692008998 +15269888,2694248548 +15278080,2638457028 +15286272,2644032564 +15294464,2633052029 +15302656,2598447217 +15310848,2616045830 +15319040,2662849588 +15327232,2666282010 +15335424,2391066097 +15343616,2611195333 +15351808,2653756682 +15360000,2320879398 +15368192,2359616179 +15376384,2524350127 +15384576,2596737742 +15392768,2610192943 +15400960,2574878765 +15409152,2639285948 +15417344,2715672535 +15425536,2673973973 +15433728,2330695837 +15441920,2542678615 +15450112,2641081347 +15458304,2635296262 +15466496,2560050596 +15474688,2481408856 +15482880,2667085224 +15491072,2514154952 +15499264,2535876481 +15507456,2521348314 +15515648,2277681108 +15523840,2203878876 +15532032,2305782475 +15540224,2234819595 +15548416,2290820735 +15556608,2474265160 +15564800,2645207966 +15572992,2525708261 +15581184,2563041560 +15589376,2565377719 +15597568,2481349915 +15605760,2456059837 +15613952,2444698585 +15622144,2435944868 +15630336,2467605502 +15638528,2610484943 +15646720,2471359128 +15654912,2490285665 +15663104,2491137182 +15671296,2570879993 +15679488,2572499521 +15687680,2542716204 +15695872,2484470230 +15704064,2486893002 +15712256,2234654139 +15720448,2370677023 +15728640,2238184390 +15736832,2255183920 +15745024,2463377047 +15753216,2249764712 +15761408,2466804629 +15769600,2491741641 +15777792,2495640420 +15785984,2483674035 +15794176,2465495248 +15802368,2519284467 +15810560,2385367640 +15818752,2487940277 +15826944,2434756305 +15835136,2506291400 +15843328,2283262687 +15851520,2486508671 +15859712,2484018109 +15867904,2506652632 +15876096,2464475238 +15884288,2567657017 +15892480,2606405655 +15900672,2461763743 +15908864,2527971393 +15917056,2497455837 +15925248,2544096142 +15933440,2512756161 +15941632,2507015948 +15949824,2548857198 +15958016,2618404719 +15966208,2618616821 +15974400,2536789110 +15982592,2502137168 +15990784,2539060565 +15998976,2604549576 +16007168,2540302152 +16015360,2390333881 +16023552,2439294291 +16031744,2268176200 +16039936,2354649170 +16048128,2470940826 +16056320,2543899278 +16064512,2583587825 +16072704,2511099405 +16080896,2459212619 +16089088,2480687836 +16097280,2469102900 +16105472,2428578756 +16113664,2501802096 +16121856,2491802419 +16130048,2521765262 +16138240,2508006541 +16146432,2505524488 +16154624,2479412977 +16162816,2574933687 +16171008,2581537728 +16179200,2603524294 +16187392,2524422742 +16195584,2489171904 +16203776,2523473780 +16211968,2517633948 +16220160,2482923202 +16228352,2481670199 +16236544,2507239307 +16244736,2556014416 +16252928,2556097840 +16261120,2513108111 +16269312,2492863971 +16277504,2585879428 +16285696,2398616655 +16293888,2421286827 +16302080,2459961486 +16310272,2492350634 +16318464,2435215765 +16326656,2517417365 +16334848,2371173212 +16343040,2510733082 +16351232,2512274646 +16359424,2474723394 +16367616,2453171976 +16375808,2485604446 +16384000,2471627312 +16392192,2300061232 +16400384,2485712146 +16408576,2419427872 +16416768,2514127902 +16424960,2362039974 +16433152,2524312964 +16441344,2472117694 +16449536,2353954481 +16457728,2483331884 +16465920,2454022587 +16474112,2504435511 +16482304,2472196830 +16490496,2454454086 +16498688,2512490887 +16506880,2438238421 +16515072,2498557937 +16523264,2464356549 +16531456,2469675862 +16539648,2564592776 +16547840,2524761767 +16556032,2460626223 +16564224,2366981554 +16572416,2494241327 +16580608,2363923373 +16588800,2496868503 +16596992,2469735897 +16605184,2405679696 +16613376,2441926936 +16621568,2460353628 +16629760,2466545691 +16637952,2500061986 +16646144,2403183599 +16654336,2455515858 +16662528,2497320213 +16670720,2511788069 +16678912,2502468785 +16687104,2514748984 +16695296,2335110360 +16703488,2392726848 +16711680,2440623391 +16719872,2526981310 +16728064,2470712456 +16736256,2461090955 +16744448,2475729811 +16752640,2530226052 +16760832,2344589205 +16769024,2487516144 +16777216,2454075733 +16785408,2500582259 +16793600,2418740738 +16801792,2444407748 +16809984,2479761283 +16818176,2393559287 +16826368,2473633570 +16834560,2410726796 +16842752,2489739988 +16850944,2467279505 +16859136,2490770705 +16867328,2445490164 +16875520,2524946824 +16883712,2457046794 +16891904,2439110257 +16900096,2465388185 +16908288,2491285615 +16916480,2477075769 +16924672,2474528982 +16932864,2433745759 +16941056,2463061731 +16949248,2473512294 +16957440,2509223040 +16965632,2442739438 +16973824,2505953583 +16982016,2475184022 +16990208,2522418888 +16998400,2460573593 +17006592,2474036634 +17014784,2461857478 +17022976,2416134521 +17031168,2474942305 +17039360,2330878518 +17047552,2474937916 +17055744,2442359627 +17063936,2400758206 +17072128,2476949107 +17080320,2520168311 +17088512,2226287740 +17096704,2359656188 +17104896,2380650976 +17113088,2451398928 +17121280,2456080991 +17129472,2361889691 +17137664,2403959368 +17145856,2515277277 +17154048,2397216978 +17162240,2417965460 +17170432,2498302954 +17178624,2483246497 +17186816,2346162333 +17195008,2495226519 +17203200,2478275789 +17211392,2443647955 +17219584,2460486922 +17227776,2438334920 +17235968,2371040752 +17244160,2453157405 +17252352,2446417327 +17260544,2620214913 +17268736,2570246826 +17276928,2459834955 +17285120,2444611207 +17293312,2227747686 +17301504,2209201415 +17309696,2331333489 +17317888,2397457186 +17326080,2447826581 +17334272,2459891517 +17342464,2404339489 +17350656,2433536557 +17358848,2575016992 +17367040,2137008036 +17375232,2303354618 +17383424,2435562580 +17391616,2436007807 +17399808,2471608052 +17408000,2414346666 +17416192,2431475666 +17424384,2480601354 +17432576,2297262844 +17440768,2437923616 +17448960,2484473069 +17457152,2480568664 +17465344,2412801929 +17473536,2451377147 +17481728,2442816275 +17489920,2295242900 +17498112,2488131305 +17506304,2477492208 +17514496,2499546663 +17522688,2159043902 +17530880,2368778542 +17539072,2555301945 +17547264,2550007394 +17555456,2453729972 +17563648,2528693922 +17571840,2588770521 +17580032,2431648053 +17588224,2390330997 +17596416,2365408119 +17604608,2465114322 +17612800,2433889492 +17620992,2399201591 +17629184,2403298907 +17637376,2345370493 +17645568,2469876635 +17653760,2378115064 +17661952,2444588534 +17670144,2393511265 +17678336,2423565161 +17686528,2439120775 +17694720,2527836073 +17702912,2429827120 +17711104,2435966050 +17719296,2449302507 +17727488,2411608029 +17735680,2475547812 +17743872,2370819590 +17752064,2464454571 +17760256,2489622352 +17768448,2392184996 +17776640,2423005930 +17784832,2555154008 +17793024,2129737067 +17801216,2299758252 +17809408,2158264896 +17817600,2113817645 +17825792,2290854607 +17833984,2411699333 +17842176,2475294084 +17850368,2434999837 +17858560,2499108101 +17866752,2464886750 +17874944,2482901031 +17883136,2468917992 +17891328,2454312037 +17899520,2362565672 +17907712,2514433311 +17915904,2504457625 +17924096,2408851276 +17932288,2417087592 +17940480,2362144647 +17948672,2430999109 +17956864,2428626473 +17965056,2441726035 +17973248,2485704464 +17981440,2448324556 +17989632,2404085721 +17997824,2416855900 +18006016,2537085617 +18014208,2417745567 +18022400,2501801448 +18030592,2224695322 +18038784,2649102064 +18046976,2373999486 +18055168,2625406056 +18063360,2655452550 +18071552,2638723736 +18079744,2672929603 +18087936,2633471716 +18096128,2621285930 +18104320,2661932884 +18112512,2446520542 +18120704,2616672569 +18128896,2671105893 +18137088,2394623576 +18145280,2619626641 +18153472,2614301403 +18161664,2643284448 +18169856,2699328450 +18178048,2319927645 +18186240,2528090739 +18194432,2703828079 +18202624,2428640523 +18210816,2689283765 +18219008,2644816091 +18227200,2657379887 +18235392,2634008347 +18243584,2651575093 +18251776,2677577767 +18259968,2662876067 +18268160,2670077497 +18276352,2615342818 +18284544,2617946412 +18292736,2629501431 +18300928,2586761143 +18309120,2606226975 +18317312,2593768251 +18325504,2625117223 +18333696,2595005786 +18341888,2642541063 +18350080,2619927568 +18358272,2632761697 +18366464,2610422129 +18374656,2599251160 +18382848,2611135802 +18391040,2657567868 +18399232,2586736115 +18407424,2618035538 +18415616,2622679987 +18423808,2625170724 +18432000,2683406903 +18440192,2677987274 +18448384,2636104671 +18456576,2619413506 +18464768,2678043658 +18472960,2423349343 +18481152,2316070676 +18489344,2579305883 +18497536,2641014406 +18505728,2633984746 +18513920,2699966217 +18522112,2680900946 +18530304,2675308349 +18538496,2650364405 +18546688,2642273083 +18554880,2605338647 +18563072,2604622422 +18571264,2633650563 +18579456,2654162813 +18587648,2628261136 +18595840,2627199675 +18604032,2628777921 +18612224,2556400076 +18620416,2635727234 +18628608,2614044845 +18636800,2630128899 +18644992,2620454454 +18653184,2621629210 +18661376,2637713532 +18669568,2665663302 +18677760,2639219712 +18685952,2609505185 +18694144,2618704699 +18702336,2642680090 +18710528,2634350052 +18718720,2646414713 +18726912,2678216257 +18735104,2657181543 +18743296,2646521885 +18751488,2653334991 +18759680,2655255265 +18767872,2624571137 +18776064,2659142517 +18784256,2603194041 +18792448,2620981064 +18800640,2627841762 +18808832,2666817043 +18817024,2270415735 +18825216,2449475137 +18833408,2670915309 +18841600,2629438050 +18849792,2639299538 +18857984,2660111736 +18866176,2603666462 +18874368,2665576913 +18882560,2614929636 +18890752,2581169254 +18898944,2604262552 +18907136,2593869463 +18915328,2638002123 +18923520,2664477709 +18931712,2648336937 +18939904,2568325626 +18948096,2616136292 +18956288,2617100974 +18964480,2621560828 +18972672,2622672295 +18980864,2635190276 +18989056,2638922341 +18997248,2641362743 +19005440,2233946304 +19013632,2416001971 +19021824,2675633760 +19030016,2658929396 +19038208,2609309282 +19046400,2626525596 +19054592,2653947965 +19062784,2645057858 +19070976,2639960838 +19079168,2620301568 +19087360,2666035414 +19095552,2440348934 +19103744,2610323081 +19111936,2578959871 +19120128,2628324606 +19128320,2600559275 +19136512,2622907283 +19144704,2597951352 +19152896,2619004684 +19161088,2654512246 +19169280,2643357629 +19177472,2589685959 +19185664,2621756749 +19193856,2650615975 +19202048,2362736324 +19210240,2426856046 +19218432,2540932248 +19226624,2469517650 +19234816,2512492023 +19243008,2571214040 +19251200,2329057721 +19259392,2461276974 +19267584,2396336333 +19275776,2531913623 +19283968,2495517315 +19292160,2457790476 +19300352,2556747745 +19308544,2309240829 +19316736,2242194377 +19324928,2318559046 +19333120,2406110088 +19341312,2532243665 +19349504,2488355968 +19357696,2434010342 +19365888,2507102032 +19374080,2465460052 +19382272,2460966790 +19390464,2510228963 +19398656,2472251350 +19406848,2426313532 +19415040,2470407643 +19423232,2394458152 +19431424,2418949480 +19439616,2510921790 +19447808,2464814619 +19456000,2550213646 +19464192,2411468195 +19472384,2474726206 +19480576,2507321046 +19488768,2340820928 +19496960,2553268986 +19505152,2265484140 +19513344,2490490422 +19521536,2467437607 +19529728,2511667920 +19537920,2466322421 +19546112,2484818994 +19554304,2519821061 +19562496,2519589536 +19570688,2481530349 +19578880,2476572250 +19587072,2507543033 +19595264,2442809463 +19603456,2566180832 +19611648,2497435788 +19619840,2544296800 +19628032,2427921284 +19636224,2399228802 +19644416,2553799721 +19652608,2362133239 +19660800,2186583609 +19668992,2414423478 +19677184,2474392516 +19685376,2493208263 +19693568,2451219004 +19701760,2492673004 +19709952,2505025186 +19718144,2468462024 +19726336,2437668918 +19734528,2448497879 +19742720,2493710833 +19750912,2422953997 +19759104,2225488242 +19767296,2449086635 +19775488,2510980911 +19783680,2402750902 +19791872,2470096699 +19800064,2404027740 +19808256,2475721028 +19816448,2512675302 +19824640,2478402701 +19832832,2550593307 +19841024,2472973575 +19849216,2486600651 +19857408,2469371660 +19865600,2483787130 +19873792,2428160624 +19881984,2428006606 +19890176,2478618056 +19898368,2558859955 +19906560,2500705479 +19914752,2529232670 +19922944,2480541772 +19931136,2489619884 +19939328,2504734371 +19947520,2436948482 +19955712,2492658949 +19963904,2497827636 +19972096,2492862531 +19980288,2555196021 +19988480,2491618824 +19996672,2486033763 +20004864,2488583483 +20013056,2426962280 +20021248,2486391347 +20029440,2471987977 +20037632,2478348930 +20045824,2510076882 +20054016,2501565973 +20062208,2456268094 +20070400,2531089714 +20078592,2373975844 +20086784,2444725998 +20094976,2529907785 +20103168,2458031675 +20111360,2465101835 +20119552,2462139784 +20127744,2490055798 +20135936,2493225370 +20144128,2383131438 +20152320,2406758734 +20160512,2510457196 +20168704,2470197407 +20176896,2482122679 +20185088,2498022032 +20193280,2463975042 +20201472,2504872035 +20209664,2468120287 +20217856,2466437883 +20226048,2511536751 +20234240,2500460316 +20242432,2502317357 +20250624,2507372120 +20258816,2478718408 +20267008,2472308471 +20275200,2496097703 +20283392,2498721723 +20291584,2491682236 +20299776,2500228641 +20307968,2480223781 +20316160,2462735316 +20324352,2478524078 +20332544,2459279466 +20340736,2543962795 +20348928,2541653590 +20357120,2486557294 +20365312,2462295292 +20373504,2481612748 +20381696,2467045067 +20389888,2474357894 +20398080,2582621381 +20406272,2378471974 +20414464,2490465033 +20422656,2516161609 +20430848,2417570298 +20439040,2486468072 +20447232,2459759358 +20455424,2498868303 +20463616,2459778344 +20471808,2508339170 +20480000,2484591081 +20488192,2562467731 +20496384,2382369303 +20504576,2482240874 +20512768,2476293962 +20520960,2465855160 +20529152,2557154694 +20537344,2449173336 +20545536,2483398662 +20553728,2466301763 +20561920,2426649973 +20570112,2437172427 +20578304,2432311154 +20586496,2432582549 +20594688,2419162324 +20602880,2443501482 +20611072,2496214282 +20619264,2512125940 +20627456,2469909480 +20635648,2391626428 +20643840,2544391272 +20652032,2528065635 +20660224,2539620708 +20668416,2488798848 +20676608,2534350193 +20684800,2294402917 +20692992,2500494543 +20701184,2424392203 +20709376,2411409739 +20717568,2488999227 +20725760,2453192409 +20733952,2454454463 +20742144,2502968338 +20750336,2547726300 +20758528,2318571849 +20766720,2455426210 +20774912,2498995440 +20783104,2456810798 +20791296,2627753599 +20799488,2413781563 +20807680,2498231309 +20815872,2488568805 +20824064,2464821286 +20832256,2581347340 +20840448,2572555408 +20848640,2502706197 +20856832,2549933105 +20865024,2271954187 +20873216,2515760287 +20881408,2480851277 +20889600,2512559729 +20897792,2489223161 +20905984,2493226630 +20914176,2491494539 +20922368,2457146232 +20930560,2507964244 +20938752,2525473698 +20946944,2480802180 +20955136,2529634000 +20963328,2501527364 +20971520,2517960391 +20979712,2385033473 +20987904,2501315745 +20996096,2484574640 +21004288,2423244832 +21012480,2456223225 +21020672,2505816756 +21028864,2451205377 +21037056,2420205805 +21045248,2422449802 +21053440,2381322127 +21061632,2513137605 +21069824,2490153558 +21078016,2489009967 +21086208,2490286547 +21094400,2519535572 +21102592,2454978365 +21110784,2529727997 +21118976,2470273350 +21127168,2530244716 +21135360,2488959612 +21143552,2509294923 +21151744,2506820361 +21159936,2497265384 +21168128,2509547846 +21176320,2490220815 +21184512,2483784889 +21192704,2497927500 +21200896,2456079527 +21209088,2506673146 +21217280,2494452937 +21225472,2521864831 +21233664,2476319461 +21241856,2472374965 +21250048,2437819055 +21258240,2527602282 +21266432,2549228323 +21274624,2490842684 +21282816,2484380381 +21291008,2498450814 +21299200,2460119581 +21307392,2479762223 +21315584,2486613439 +21323776,2535898949 +21331968,2499630783 +21340160,2547172877 +21348352,2583992036 +21356544,2213082794 +21364736,2457451630 +21372928,2532513715 +21381120,2408650722 +21389312,2519149768 +21397504,2503018739 +21405696,2307989133 +21413888,2510194475 +21422080,2466868203 +21430272,2556953259 +21438464,2490888457 +21446656,2470981447 +21454848,2398115809 +21463040,2536158189 +21471232,2471731118 +21479424,2511883337 +21487616,2536976709 +21495808,2500876728 +21504000,2487911197 +21512192,2495032968 +21520384,2450421792 +21528576,2468169750 +21536768,2503265674 +21544960,2507896115 +21553152,2488107050 +21561344,2571818150 +21569536,2194529010 +21577728,2259601412 +21585920,2517574279 +21594112,2207392386 +21602304,2237780860 +21610496,2420830008 +21618688,2505735639 +21626880,2342182645 +21635072,2488284216 +21643264,2469326359 +21651456,2546227690 +21659648,2160624272 +21667840,2208031856 +21676032,2304135746 +21684224,2502037623 +21692416,2482383999 +21700608,2485149951 +21708800,2501129776 +21716992,2426455746 +21725184,2457824080 +21733376,2457471108 +21741568,2476930064 +21749760,2504526066 +21757952,2511186952 +21766144,2377907282 +21774336,2420944342 +21782528,2503980437 +21790720,2476559865 +21798912,2448134485 +21807104,2492140234 +21815296,2588264495 +21823488,2517913324 +21831680,2451275386 +21839872,2449004180 +21848064,2478975560 +21856256,2507491553 +21864448,2570889674 +21872640,2601670127 +21880832,2534679033 +21889024,2427772457 +21897216,2446176764 +21905408,2508714125 +21913600,2406926910 +21921792,2487668358 +21929984,2492373398 +21938176,2385086392 +21946368,2481333210 +21954560,2495610774 +21962752,2530991994 +21970944,2506269119 +21979136,2443856492 +21987328,2497391155 +21995520,2468166937 +22003712,2442879236 +22011904,2446817216 +22020096,2359227170 +22028288,2449601832 +22036480,2350862158 +22044672,2524164315 +22052864,2511724256 +22061056,2532312952 +22069248,2585179615 +22077440,2611035247 +22085632,2590562484 +22093824,2519029039 +22102016,2504108081 +22110208,2481793327 +22118400,2465940294 +22126592,2602147982 +22134784,2575553049 +22142976,2520922070 +22151168,2495796264 +22159360,2495519484 +22167552,2496614482 +22175744,2480933834 +22183936,2462951611 +22192128,2450280950 +22200320,2412358144 +22208512,2526767647 +22216704,2477390009 +22224896,2427671918 +22233088,2443886722 +22241280,2491117652 +22249472,2332540156 +22257664,2190207727 +22265856,2444975242 +22274048,2536731552 +22282240,2539989419 +22290432,2227185833 +22298624,2297261129 +22306816,2490269720 +22315008,2378086917 +22323200,2382273623 +22331392,2498245493 +22339584,2461270070 +22347776,2435136485 +22355968,2498659936 +22364160,2481909160 +22372352,2383342344 +22380544,2341226452 +22388736,2469237895 +22396928,2427120276 +22405120,2442448228 +22413312,2418025096 +22421504,2456916717 +22429696,2416344374 +22437888,2463270437 +22446080,2492864884 +22454272,2489501898 +22462464,2480952601 +22470656,2473428115 +22478848,2122431566 +22487040,2385340052 +22495232,2538256823 +22503424,2629545077 +22511616,2619441497 +22519808,2641060028 +22528000,2575028454 +22536192,2604724459 +22544384,2584014210 +22552576,2693719921 +22560768,2691384193 +22568960,2673251142 +22577152,2612295478 +22585344,2633037021 +22593536,2601956212 +22601728,2732938786 +22609920,2333826910 +22618112,2458289830 +22626304,2674168655 +22634496,2404827016 +22642688,2630072080 +22650880,2646647701 +22659072,2646856100 +22667264,2634416655 +22675456,2592452774 +22683648,2616867530 +22691840,2602805240 +22700032,2640885782 +22708224,2693737374 +22716416,2671502524 +22724608,2637095950 +22732800,2670372623 +22740992,2610834437 +22749184,2652701731 +22757376,2697075332 +22765568,2693861583 +22773760,2650790049 +22781952,2669105063 +22790144,2703099037 +22798336,2692668862 +22806528,2699431838 +22814720,2677709375 +22822912,2724313090 +22831104,2711518407 +22839296,2705371343 +22847488,2775884828 +22855680,2474718003 +22863872,2647262139 +22872064,2619781122 +22880256,2652937734 +22888448,2621956835 +22896640,2651328866 +22904832,2627034195 +22913024,2589648296 +22921216,2607466225 +22929408,2598123193 +22937600,2643688934 +22945792,2581228640 +22953984,2617273886 +22962176,2590004069 +22970368,2624233253 +22978560,2591500846 +22986752,2634892833 +22994944,2635228207 +23003136,2632540035 +23011328,2642707906 +23019520,2626725214 +23027712,2622970995 +23035904,2655609225 +23044096,2676536481 +23052288,2685525683 +23060480,2543023166 +23068672,2614709547 +23076864,2611275452 +23085056,2612763835 +23093248,2653008771 +23101440,2647210277 +23109632,2326907566 +23117824,2660750907 +23126016,2623965951 +23134208,2639485697 +23142400,2608528340 +23150592,2685067175 +23158784,2350541224 +23166976,2590177319 +23175168,2641649013 +23183360,2312662855 +23191552,2556476202 +23199744,2636920923 +23207936,2600791298 +23216128,2637035877 +23224320,2616078449 +23232512,2636344011 +23240704,2622396636 +23248896,2673242604 +23257088,2695109419 +23265280,2650643056 +23273472,2588663953 +23281664,2618089135 +23289856,2621431112 +23298048,2677470582 +23306240,2668499943 +23314432,2692553357 +23322624,2674831173 +23330816,2658216281 +23339008,2621803502 +23347200,2595483471 +23355392,2623841671 +23363584,2630639086 +23371776,2588100124 +23379968,2318799381 +23388160,2622482451 +23396352,2618887929 +23404544,2639218122 +23412736,2636564996 +23420928,2636324893 +23429120,2694839648 +23437312,2686109621 +23445504,2681463328 +23453696,2582116306 +23461888,2583367425 +23470080,2621507199 +23478272,2617758224 +23486464,2580946957 +23494656,2563408727 +23502848,2660113947 +23511040,2615121679 +23519232,2629429189 +23527424,2639532920 +23535616,2430631732 +23543808,2654737465 +23552000,2645947648 +23560192,2621581225 +23568384,2621957468 +23576576,2671767762 +23584768,2672997552 +23592960,2688680156 +23601152,2706192713 +23609344,2725699387 +23617536,2745363855 +23625728,2301117084 +23633920,2597789021 +23642112,2352354823 +23650304,2587450201 +23658496,2661426243 +23666688,2664321519 +23674880,2659056835 +23683072,2631400501 +23691264,2648067444 +23699456,2653056542 +23707648,2367425799 +23715840,2520198968 +23724032,2533278289 +23732224,2504218624 +23740416,2560839023 +23748608,2545065807 +23756800,2545026927 +23764992,2531843149 +23773184,2568132090 +23781376,2554061092 +23789568,2564025924 +23797760,2562081204 +23805952,2519273967 +23814144,2585466838 +23822336,2369441817 +23830528,2616215345 +23838720,2524969465 +23846912,2566771759 +23855104,2551242250 +23863296,2550836042 +23871488,2478591470 +23879680,2535340710 +23887872,2591493804 +23896064,2582596344 +23904256,2565189196 +23912448,2564199675 +23920640,2614400604 +23928832,2605008644 +23937024,2634794324 +23945216,2599894550 +23953408,2516673130 +23961600,2560408342 +23969792,2610750265 +23977984,2533157231 +23986176,2594981962 +23994368,2553225469 +24002560,2516566531 +24010752,2482806399 +24018944,2483344674 +24027136,2537568129 +24035328,2483444298 +24043520,2497246891 +24051712,2509734428 +24059904,2584038875 +24068096,2617653121 +24076288,2549332109 +24084480,2515288140 +24092672,2558425617 +24100864,2577195659 +24109056,2529495454 +24117248,2600781660 +24125440,2309883831 +24133632,2429681478 +24141824,2553807899 +24150016,2510403021 +24158208,2529118980 +24166400,2545082775 +24174592,2583517323 +24182784,2614769352 +24190976,2662356961 +24199168,2593753440 +24207360,2577372250 +24215552,2558629130 +24223744,2533981580 +24231936,2499065683 +24240128,2545403068 +24248320,2507354027 +24256512,2500603479 +24264704,2530419180 +24272896,2488111333 +24281088,2504790905 +24289280,2347214159 +24297472,2536238337 +24305664,2528165411 +24313856,2513266908 +24322048,2568001854 +24330240,2434017566 +24338432,2572576589 +24346624,2455568095 +24354816,2541992063 +24363008,2538094729 +24371200,2546908813 +24379392,2544323600 +24387584,2439485419 +24395776,2500107776 +24403968,2491953112 +24412160,2533203368 +24420352,2521797753 +24428544,2510175951 +24436736,2532995416 +24444928,2547084208 +24453120,2553432895 +24461312,2564648161 +24469504,2543079599 +24477696,2498150423 +24485888,2492086537 +24494080,2505485612 +24502272,2541842321 +24510464,2458303866 +24518656,2587924969 +24526848,2314108324 +24535040,2472277173 +24543232,2496096240 +24551424,2287685285 +24559616,2508061177 +24567808,2586508532 +24576000,2527140965 +24584192,2504516655 +24592384,2446533481 +24600576,2475242189 +24608768,2469579337 +24616960,2474978825 +24625152,2499983483 +24633344,2481528960 +24641536,2521101911 +24649728,2409713017 +24657920,2471704514 +24666112,2494681604 +24674304,2509687918 +24682496,2553702740 +24690688,2494291719 +24698880,2521042779 +24707072,2510002659 +24715264,2487343458 +24723456,2461771198 +24731648,2531662757 +24739840,2483625898 +24748032,2485803783 +24756224,2439516140 +24764416,2427919934 +24772608,2484563927 +24780800,2591422766 +24788992,2394687162 +24797184,2582802010 +24805376,2518341380 +24813568,2476029688 +24821760,2467500320 +24829952,2495567815 +24838144,2489497423 +24846336,2566464731 +24854528,2268104665 +24862720,2335115601 +24870912,2457190068 +24879104,2528372785 +24887296,2554753828 +24895488,2484125651 +24903680,2500860686 +24911872,2380671086 +24920064,2418887239 +24928256,2497620612 +24936448,2399234678 +24944640,2467484972 +24952832,2453853398 +24961024,2516358542 +24969216,2241724353 +24977408,2468514917 +24985600,2448620803 +24993792,2439071645 +25001984,2449360604 +25010176,2439995431 +25018368,2506117407 +25026560,2324784191 +25034752,2510587720 +25042944,2401069754 +25051136,2499857271 +25059328,2527568393 +25067520,2439997649 +25075712,2479518728 +25083904,2470246974 +25092096,2441282540 +25100288,2382091398 +25108480,2508448325 +25116672,2546709346 +25124864,2518402693 +25133056,2486627916 +25141248,2464598328 +25149440,2388440367 +25157632,2507126137 +25165824,2533231752 +25174016,2437254639 +25182208,2505450369 +25190400,2195813847 +25198592,2399483386 +25206784,2512278080 +25214976,2380187565 +25223168,2444763250 +25231360,2493981948 +25239552,2458489077 +25247744,2399648662 +25255936,2484368037 +25264128,2497041929 +25272320,2434328844 +25280512,2490019696 +25288704,2429181341 +25296896,2436054868 +25305088,2492472396 +25313280,2520622617 +25321472,2487011022 +25329664,2455154970 +25337856,2424433288 +25346048,2483542746 +25354240,2512154027 +25362432,2500749943 +25370624,2464485307 +25378816,2494634892 +25387008,2530922134 +25395200,2552818185 +25403392,2507503572 +25411584,2468022340 +25419776,2494142353 +25427968,2467055938 +25436160,2506503555 +25444352,2476112613 +25452544,2492218868 +25460736,2496196669 +25468928,2504111758 +25477120,2378325581 +25485312,2450683190 +25493504,2487242035 +25501696,2457762101 +25509888,2500448971 +25518080,2475716729 +25526272,2541097142 +25534464,2287071147 +25542656,2444124081 +25550848,2477597424 +25559040,2537630622 +25567232,2503312100 +25575424,2474643241 +25583616,2379591100 +25591808,2440523831 +25600000,2503362884 +25608192,2528690156 +25616384,2411946241 +25624576,2283046997 +25632768,2402800153 +25640960,2453643802 +25649152,2474625661 +25657344,2438517497 +25665536,2409404439 +25673728,2500797238 +25681920,2430016154 +25690112,2430798944 +25698304,2410509168 +25706496,2536509239 +25714688,2537431167 +25722880,2483674960 +25731072,2432653192 +25739264,2524826360 +25747456,2330758604 +25755648,2442024251 +25763840,2451486430 +25772032,2505950749 +25780224,2414973616 +25788416,2329613285 +25796608,2357073764 +25804800,2491518627 +25812992,2449646205 +25821184,2401911996 +25829376,2521867166 +25837568,2488979107 +25845760,2473460294 +25853952,2385557888 +25862144,2448868427 +25870336,2425081835 +25878528,2406961628 +25886720,2376289442 +25894912,2415531020 +25903104,2409482573 +25911296,2471727156 +25919488,2542562528 +25927680,2186372421 +25935872,2455024612 +25944064,2420528115 +25952256,2411113875 +25960448,2486191732 +25968640,2460086307 +25976832,2513759730 +25985024,2340881423 +25993216,2455423993 +26001408,2471507573 +26009600,2478393669 +26017792,2446338930 +26025984,2465306537 +26034176,2495825225 +26042368,2545671624 +26050560,2247729777 +26058752,2444306114 +26066944,2529348740 +26075136,2510488922 +26083328,2377783710 +26091520,2495712620 +26099712,2490139887 +26107904,2488467864 +26116096,2462847623 +26124288,2379576684 +26132480,2459274330 +26140672,2500129744 +26148864,2543159595 +26157056,2328685620 +26165248,2603711040 +26173440,2523331454 +26181632,2466892775 +26189824,2444432272 +26198016,2508785023 +26206208,2573974421 +26214400,2275247713 +26222592,2496745043 +26230784,2484217838 +26238976,2445694320 +26247168,2538488600 +26255360,2530003630 +26263552,2462680942 +26271744,2450012070 +26279936,2434825733 +26288128,2450746410 +26296320,2490087492 +26304512,2273181873 +26312704,2508507083 +26320896,2542601564 +26329088,2236813120 +26337280,2329061702 +26345472,2480588602 +26353664,2452193216 +26361856,2441980619 +26370048,2500757632 +26378240,2484909686 +26386432,2475505622 +26394624,2475318000 +26402816,2431709788 +26411008,2475145521 +26419200,2506054319 +26427392,2273570955 +26435584,2438696812 +26443776,2424472440 +26451968,2471027006 +26460160,2469755771 +26468352,2451012560 +26476544,2460685557 +26484736,2476806004 +26492928,2495773986 +26501120,2473955980 +26509312,2491721365 +26517504,2458203793 +26525696,2534861281 +26533888,2552789539 +26542080,2513151925 +26550272,2485833427 +26558464,2489197010 +26566656,2492516516 +26574848,2458778247 +26583040,2429646546 +26591232,2563394558 +26599424,2563960595 +26607616,2596030568 +26615808,2284783153 +26624000,2383794503 +26632192,2405706149 +26640384,2299322577 +26648576,2495802297 +26656768,2482793491 +26664960,2498479323 +26673152,2370222315 +26681344,2523224622 +26689536,2207390161 +26697728,2540059134 +26705920,2560251879 +26714112,2258491405 +26722304,2392225292 +26730496,2389714442 +26738688,2451877768 +26746880,2535328280 +26755072,2530387528 +26763264,2481499588 +26771456,2480077248 +26779648,2355340841 +26787840,2576264143 +26796032,2517101243 +26804224,2473111376 +26812416,2484110477 +26820608,2464677448 +26828800,2482177605 +26836992,2484583552 +26845184,2495348909 +26853376,2440262340 +26861568,2526503004 +26869760,2560155090 +26877952,2567610744 +26886144,2535037098 +26894336,2247927829 +26902528,2155885700 +26910720,2220080909 +26918912,2498391999 +26927104,2452348554 +26935296,2133421712 +26943488,2222399486 +26951680,2173102101 +26959872,2410318394 +26968064,2571453683 +26976256,2089771013 +26984448,2322156970 +26992640,2431714645 +27000832,2477185712 +27009024,2483028273 +27017216,2258807018 +27025408,2523530263 +27033600,2135460100 +27041792,2168688189 +27049984,2474090552 +27058176,2432009188 +27066368,2418027656 +27074560,2508645577 +27082752,2516251497 +27090944,2543594821 +27099136,2529598995 +27107328,2486692886 +27115520,2540123603 +27123712,2518342805 +27131904,2456194983 +27140096,2498337313 +27148288,2524245916 +27156480,2400515119 +27164672,2477853965 +27172864,2484440306 +27181056,2424306935 +27189248,2423987929 +27197440,2278634540 +27205632,2512413836 +27213824,2471264043 +27222016,2497070074 +27230208,2499928615 +27238400,2464797176 +27246592,2477569393 +27254784,2469746829 +27262976,2573011814 +27271168,2616149777 +27279360,2094329815 +27287552,2312684029 +27295744,2562776459 +27303936,2583655159 +27312128,2522033696 +27320320,2457536505 +27328512,2432571205 +27336704,2509181869 +27344896,2509228599 +27353088,2472675367 +27361280,2439961170 +27369472,2126388927 +27377664,2272145949 +27385856,2436848337 +27394048,2417561917 +27402240,2520524463 +27410432,2068792347 +27418624,2139994778 +27426816,2154579568 +27435008,2497380407 +27443200,2496375281 +27451392,2444547841 +27459584,2469951820 +27467776,2382235899 +27475968,2446674288 +27484160,2467677782 +27492352,2449936699 +27500544,2480712945 +27508736,2284435541 +27516928,2423797500 +27525120,2319323605 +27533312,2472961432 +27541504,2562004368 +27549696,2196490943 +27557888,2463652727 +27566080,2406703003 +27574272,2574194200 +27582464,2526093147 +27590656,2474406852 +27598848,2476034426 +27607040,2479798159 +27615232,2510794413 +27623424,2358775498 +27631616,2396542793 +27639808,2469981795 +27648000,2407026491 +27656192,2476320956 +27664384,2347763765 +27672576,2423658168 +27680768,2459298825 +27688960,2546572069 +27697152,2518610702 +27705344,2452479273 +27713536,2447011920 +27721728,2508174821 +27729920,2554038350 +27738112,2425444879 +27746304,2455175326 +27754496,2378141091 +27762688,2344903147 +27770880,2457776176 +27779072,2479107475 +27787264,2595752257 +27795456,2543594098 +27803648,2451120922 +27811840,2388656849 +27820032,2571405402 +27828224,2566041499 +27836416,2513035131 +27844608,2510335841 +27852800,2434310691 +27860992,2492844758 +27869184,2146548413 +27877376,2252449155 +27885568,2167998588 +27893760,2354566575 +27901952,2449282175 +27910144,2444357991 +27918336,2443635715 +27926528,2394829513 +27934720,2408417060 +27942912,2396978958 +27951104,2454934350 +27959296,2402965280 +27967488,2297214675 +27975680,2462198411 +27983872,2627502203 +27992064,2624113051 +28000256,2202111649 +28008448,2375910355 +28016640,2621652366 +28024832,2622626214 +28033024,2591340930 +28041216,2578024492 +28049408,2609663661 +28057600,2617649657 +28065792,2590054772 +28073984,2620815830 +28082176,2610773352 +28090368,2598355886 +28098560,2614780402 +28106752,2581847549 +28114944,2574614450 +28123136,2590168301 +28131328,2593399754 +28139520,2592808411 +28147712,2588671429 +28155904,2570275646 +28164096,2608087263 +28172288,2609972662 +28180480,2618783855 +28188672,2587565184 +28196864,2579486450 +28205056,2611522325 +28213248,2597279308 +28221440,2567669264 +28229632,2661261303 +28237824,2348732203 +28246016,2450584684 +28254208,2625803525 +28262400,2639039004 +28270592,2465885477 +28278784,2590585291 +28286976,2579698822 +28295168,2609158750 +28303360,2622700649 +28311552,2607559137 +28319744,2594395363 +28327936,2579083485 +28336128,2576874390 +28344320,2535906646 +28352512,2593632226 +28360704,2591277712 +28368896,2627806934 +28377088,2583638784 +28385280,2619158809 +28393472,2585516119 +28401664,2518377172 +28409856,2600732207 +28418048,2581893081 +28426240,2598733301 +28434432,2607238441 +28442624,2599280967 +28450816,2566753167 +28459008,2585831440 +28467200,2587230751 +28475392,2572615159 +28483584,2211243829 +28491776,2423204028 +28499968,2590669310 +28508160,2586301483 +28516352,2640770975 +28524544,2609489276 +28532736,2606359990 +28540928,2586130835 +28549120,2587520256 +28557312,2624999356 +28565504,2640115378 +28573696,2601172154 +28581888,2589597003 +28590080,2586243505 +28598272,2538742253 +28606464,2592177519 +28614656,2585155677 +28622848,2601400551 +28631040,2615605444 +28639232,2663388462 +28647424,2212403359 +28655616,2400684538 +28663808,2609008716 +28672000,2594361347 +28680192,2614096184 +28688384,2607576105 +28696576,2649939235 +28704768,2307457234 +28712960,2483138742 +28721152,2596155046 +28729344,2585014193 +28737536,2603169630 +28745728,2583814158 +28753920,2591775733 +28762112,2596760398 +28770304,2602785142 +28778496,2576017510 +28786688,2595216054 +28794880,2616721541 +28803072,2671106926 +28811264,2619664649 +28819456,2628803925 +28827648,2659552104 +28835840,2286042535 +28844032,2484443458 +28852224,2627415060 +28860416,2596997270 +28868608,2616641560 +28876800,2601989039 +28884992,2617709196 +28893184,2593536743 +28901376,2596277652 +28909568,2581339904 +28917760,2659180003 +28925952,2523712509 +28934144,2620185193 +28942336,2631395728 +28950528,2614497977 +28958720,2570195461 +28966912,2603338400 +28975104,2593990075 +28983296,2636815269 +28991488,2272020177 +28999680,2531916231 +29007872,2594671064 +29016064,2561481636 +29024256,2580819430 +29032448,2583682035 +29040640,2574135427 +29048832,2600933520 +29057024,2439167380 +29065216,2590787788 +29073408,2659274969 +29081600,2202215166 +29089792,2383611158 +29097984,2644054310 +29106176,2667392767 +29114368,2645206694 +29122560,2657117728 +29130752,2626893732 +29138944,2601960342 +29147136,2611545054 +29155328,2617919978 +29163520,2589708854 +29171712,2507903975 +29179904,2497004529 +29188096,2518164042 +29196288,2393833391 +29204480,2482924092 +29212672,2460810562 +29220864,2195851360 +29229056,2463323320 +29237248,2602673893 +29245440,2527411901 +29253632,2467087359 +29261824,2541703630 +29270016,2541864448 +29278208,2498004653 +29286400,2509323686 +29294592,2552969755 +29302784,2556468146 +29310976,2237393506 +29319168,2534062665 +29327360,2182775334 +29335552,2302704691 +29343744,2489217776 +29351936,2502882039 +29360128,2500916236 +29368320,2502457395 +29376512,2511900080 +29384704,2624738333 +29392896,2591076239 +29401088,2550953096 +29409280,2558031610 +29417472,2139799794 +29425664,2290835843 +29433856,2510032373 +29442048,2578327177 +29450240,2605032408 +29458432,2442256698 +29466624,2556631528 +29474816,2553667387 +29483008,2518929466 +29491200,2573325193 +29499392,2244496377 +29507584,2279898310 +29515776,2550483918 +29523968,2659717914 +29532160,2630967744 +29540352,2645547835 +29548544,2616196776 +29556736,2377197109 +29564928,2314997894 +29573120,2202845805 +29581312,2279381824 +29589504,2162422558 +29597696,2155347752 +29605888,2136680793 +29614080,2121065239 +29622272,2171114303 +29630464,2106646321 +29638656,2172474993 +29646848,2164052690 +29655040,2124845350 +29663232,2149155845 +29671424,2257894328 +29679616,2206201498 +29687808,2251448663 +29696000,2179836622 +29704192,2189854101 +29712384,2157017342 +29720576,2142469557 +29728768,2121841857 +29736960,2157866385 +29745152,2361803660 +29753344,2259233297 +29761536,2221505089 +29769728,2235773578 +29777920,2244441258 +29786112,2244234804 +29794304,2235941496 +29802496,2256123148 +29810688,2156836799 +29818880,2279131449 +29827072,2180134813 +29835264,2192482210 +29843456,2227239380 +29851648,2205078769 +29859840,2261933754 +29868032,2211398055 +29876224,2209187091 +29884416,2307751221 +29892608,2563228144 +29900800,2375110900 +29908992,2244501780 +29917184,2247639947 +29925376,2257387880 +29933568,2345449145 +29941760,2238276111 +29949952,2224364078 +29958144,2280728169 +29966336,2392778481 +29974528,2419971532 +29982720,2455549913 +29990912,2324575948 +29999104,2236688156 +30007296,2323916402 +30015488,2405704812 +30023680,2314011524 +30031872,2285720621 +30040064,2322194805 +30048256,2409213958 +30056448,2355676767 +30064640,2315205226 +30072832,2331325184 +30081024,2291852432 +30089216,2377029812 +30097408,2411581692 +30105600,2332931615 +30113792,2334339782 +30121984,2178891992 +30130176,2216066871 +30138368,2307557362 +30146560,2316112740 +30154752,2301856658 +30162944,2338844617 +30171136,2299224754 +30179328,2256447337 +30187520,2388006423 +30195712,2401569136 +30203904,2550010061 +30212096,2390227630 +30220288,2343462382 +30228480,2356638742 +30236672,2372420719 +30244864,2335590656 +30253056,2342234004 +30261248,2407480588 +30269440,2452005036 +30277632,2330956791 +30285824,2298850730 +30294016,2332876810 +30302208,2187897688 +30310400,2173773793 +30318592,2343688887 +30326784,2337382343 +30334976,2361794546 +30343168,2455133233 +30351360,2489461069 +30359552,2171179590 +30367744,2172152096 +30375936,2443560169 +30384128,2334678933 +30392320,2494348908 +30400512,2354412814 +30408704,2348781446 +30416896,2424781427 +30425088,2338112371 +30433280,2411558469 +30441472,2388065257 +30449664,2675736269 +30457856,2347342151 +30466048,2323739608 +30474240,2387951419 +30482432,2209386023 +30490624,2174600623 +30498816,2304873592 +30507008,2391120833 +30515200,2384349479 +30523392,2479201553 +30531584,2562898561 +30539776,2194477148 +30547968,2206071291 +30556160,2354806548 +30564352,2400774769 +30572544,2401625809 +30580736,2450697029 +30588928,2445706481 +30597120,2357287358 +30605312,2181992578 +30613504,2359250047 +30621696,2424482308 +30629888,2413162189 +30638080,2560892647 +30646272,2434263849 +30654464,2343229398 +30662656,2345440362 +30670848,2411980929 +30679040,2424269471 +30687232,2383071716 +30695424,2405498371 +30703616,2606250735 +30711808,2414734057 +30720000,2361910739 +30728192,2306184848 +30736384,2179977006 +30744576,2212687427 +30752768,2384754457 +30760960,2489138965 +30769152,2384159497 +30777344,2480362680 +30785536,2234775372 +30793728,2171233314 +30801920,2314140172 +30810112,2546849987 +30818304,2394374843 +30826496,2438159674 +30834688,2471446769 +30842880,2454202962 +30851072,2382388225 +30859264,2486767643 +30867456,2512078980 +30875648,2521643266 +30883840,2579650835 +30892032,2448973167 +30900224,2365458875 +30908416,2273797045 +30916608,2186929620 +30924800,2230048371 +30932992,2381567985 +30941184,2353798230 +30949376,2403136127 +30957568,2487399098 +30965760,2283381261 +30973952,2186766572 +30982144,2323064233 +30990336,2478578288 +30998528,2556818532 +31006720,2372648375 +31014912,2447135020 +31023104,2427068344 +31031296,2548883474 +31039488,2391165598 +31047680,2398968557 +31055872,2484554628 +31064064,2483772107 +31072256,2515487304 +31080448,2399106910 +31088640,2408083083 +31096832,2445200874 +31105024,2477267477 +31113216,2374640878 +31121408,2449604698 +31129600,2506186799 +31137792,2321136870 +31145984,2150841206 +31154176,2172505752 +31162368,2410924642 +31170560,2398707902 +31178752,2411471934 +31186944,2444475163 +31195136,2485420543 +31203328,2169662004 +31211520,2179457748 +31219712,2556893024 +31227904,2459729304 +31236096,2568236410 +31244288,2494887405