diff --git a/.gitignore b/.gitignore index 0e3bf34926140ad69f2036100ed30b0fc619d69c..bf0eebb515971a42d73488003ce64c631ce1d947 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,8 @@ real/scs/scs real/symalg/symalg real/veritas/veritas +shootout/pidigits/pidigits + spectral/ansi/ansi spectral/atom/atom spectral/awards/awards diff --git a/Makefile b/Makefile index cecfba361ca527813df356347201bb05368a3478..4ecbdf9d0734c4abe61ac2c1ca1f57737d86e37b 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ SUBDIRS = runstdtest nofib-analyse $(NoFibSubDirs) # SRC_DIST_DIR=$(shell pwd)/nofib SRC_DIST_NAME=nofib -SRC_DIST_DIRS=docs fibon gc imaginary smp spectral real parallel mk +SRC_DIST_DIRS=docs fibon gc imaginary smp spectral real parallel mk shootout dist :: nofib-dist-pre include $(TOP)/mk/target.mk diff --git a/shootout/Makefile b/shootout/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..45ed28e8ae1c8508c7799f9e21082ddfc5bac0df --- /dev/null +++ b/shootout/Makefile @@ -0,0 +1,7 @@ +TOP = .. +include $(TOP)/mk/boilerplate.mk + +SUBDIRS = pidigits + +include $(TOP)/mk/target.mk + diff --git a/shootout/pidigits/Main.hs b/shootout/pidigits/Main.hs new file mode 100644 index 0000000000000000000000000000000000000000..665641fa1d1fc76b3acb3ab43be4638ba91225d3 --- /dev/null +++ b/shootout/pidigits/Main.hs @@ -0,0 +1,22 @@ +-- The Computer Language Benchmarks Game +-- http://benchmarksgame.alioth.debian.org/ +-- contributed by Bryan O'Sullivan +-- modified by Eugene Kirpichov: pidgits only generates +-- the result string instead of printing it. For some +-- reason, this gives a speedup. + +import System.Environment + +pidgits n = 0 % (0 # (1,0,1)) where + i%ds + | i >= n = [] + | True = (concat h ++ "\t:" ++ show j ++ "\n") ++ j%t + where k = i+10; j = min n k + (h,t) | k > n = (take (n`mod`10) ds ++ replicate (k-n) " ",[]) + | True = splitAt 10 ds + j # s | n>a || r+n>=d = k # t + | True = show q : k # (n*10,(a-(q*d))*10,d) + where k = j+1; t@(n,a,d)=k&s; (q,r)=(n*3+a)`divMod`d + j&(n,a,d) = (n*j,(a+n*2)*y,d*y) where y=(j*2+1) + +main = putStr.pidgits.read.head =<< getArgs diff --git a/shootout/pidigits/Makefile b/shootout/pidigits/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..c84f48ac2c743b0622d6dc73b8e5dd5f254b14f3 --- /dev/null +++ b/shootout/pidigits/Makefile @@ -0,0 +1,11 @@ +TOP = ../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/target.mk + +FAST_OPTS = 10000 +NORM_OPTS = 10000 +SLOW_OPTS = 10000 + +# The benchmark game also uses -fllvm, which we can't since it might +# not be available on the developer's machine. +HC_OPTS += -O2 diff --git a/shootout/pidigits/pidigits.stdout b/shootout/pidigits/pidigits.stdout new file mode 100644 index 0000000000000000000000000000000000000000..757a2cf9f979e51989eb7b05b1597c60d35715b2 --- /dev/null +++ b/shootout/pidigits/pidigits.stdout @@ -0,0 +1,1000 @@ +3141592653 :10 +5897932384 :20 +6264338327 :30 +9502884197 :40 +1693993751 :50 +0582097494 :60 +4592307816 :70 +4062862089 :80 +9862803482 :90 +5342117067 :100 +9821480865 :110 +1328230664 :120 +7093844609 :130 +5505822317 :140 +2535940812 :150 +8481117450 :160 +2841027019 :170 +3852110555 :180 +9644622948 :190 +9549303819 :200 +6442881097 :210 +5665933446 :220 +1284756482 :230 +3378678316 :240 +5271201909 :250 +1456485669 :260 +2346034861 :270 +0454326648 :280 +2133936072 :290 +6024914127 :300 +3724587006 :310 +6063155881 :320 +7488152092 :330 +0962829254 :340 +0917153643 :350 +6789259036 :360 +0011330530 :370 +5488204665 :380 +2138414695 :390 +1941511609 :400 +4330572703 :410 +6575959195 :420 +3092186117 :430 +3819326117 :440 +9310511854 :450 +8074462379 :460 +9627495673 :470 +5188575272 :480 +4891227938 :490 +1830119491 :500 +2983367336 :510 +2440656643 :520 +0860213949 :530 +4639522473 :540 +7190702179 :550 +8609437027 :560 +7053921717 :570 +6293176752 :580 +3846748184 :590 +6766940513 :600 +2000568127 :610 +1452635608 :620 +2778577134 :630 +2757789609 :640 +1736371787 :650 +2146844090 :660 +1224953430 :670 +1465495853 :680 +7105079227 :690 +9689258923 :700 +5420199561 :710 +1212902196 :720 +0864034418 :730 +1598136297 :740 +7477130996 :750 +0518707211 :760 +3499999983 :770 +7297804995 :780 +1059731732 :790 +8160963185 :800 +9502445945 :810 +5346908302 :820 +6425223082 :830 +5334468503 :840 +5261931188 :850 +1710100031 :860 +3783875288 :870 +6587533208 :880 +3814206171 :890 +7766914730 :900 +3598253490 :910 +4287554687 :920 +3115956286 :930 +3882353787 :940 +5937519577 :950 +8185778053 :960 +2171226806 :970 +6130019278 :980 +7661119590 :990 +9216420198 :1000 +9380952572 :1010 +0106548586 :1020 +3278865936 :1030 +1533818279 :1040 +6823030195 :1050 +2035301852 :1060 +9689957736 :1070 +2259941389 :1080 +1249721775 :1090 +2834791315 :1100 +1557485724 :1110 +2454150695 :1120 +9508295331 :1130 +1686172785 :1140 +5889075098 :1150 +3817546374 :1160 +6493931925 :1170 +5060400927 :1180 +7016711390 :1190 +0984882401 :1200 +2858361603 :1210 +5637076601 :1220 +0471018194 :1230 +2955596198 :1240 +9467678374 :1250 +4944825537 :1260 +9774726847 :1270 +1040475346 :1280 +4620804668 :1290 +4259069491 :1300 +2933136770 :1310 +2898915210 :1320 +4752162056 :1330 +9660240580 :1340 +3815019351 :1350 +1253382430 :1360 +0355876402 :1370 +4749647326 :1380 +3914199272 :1390 +6042699227 :1400 +9678235478 :1410 +1636009341 :1420 +7216412199 :1430 +2458631503 :1440 +0286182974 :1450 +5557067498 :1460 +3850549458 :1470 +8586926995 :1480 +6909272107 :1490 +9750930295 :1500 +5321165344 :1510 +9872027559 :1520 +6023648066 :1530 +5499119881 :1540 +8347977535 :1550 +6636980742 :1560 +6542527862 :1570 +5518184175 :1580 +7467289097 :1590 +7772793800 :1600 +0816470600 :1610 +1614524919 :1620 +2173217214 :1630 +7723501414 :1640 +4197356854 :1650 +8161361157 :1660 +3525521334 :1670 +7574184946 :1680 +8438523323 :1690 +9073941433 :1700 +3454776241 :1710 +6862518983 :1720 +5694855620 :1730 +9921922218 :1740 +4272550254 :1750 +2568876717 :1760 +9049460165 :1770 +3466804988 :1780 +6272327917 :1790 +8608578438 :1800 +3827967976 :1810 +6814541009 :1820 +5388378636 :1830 +0950680064 :1840 +2251252051 :1850 +1739298489 :1860 +6084128488 :1870 +6269456042 :1880 +4196528502 :1890 +2210661186 :1900 +3067442786 :1910 +2203919494 :1920 +5047123713 :1930 +7869609563 :1940 +6437191728 :1950 +7467764657 :1960 +5739624138 :1970 +9086583264 :1980 +5995813390 :1990 +4780275900 :2000 +9946576407 :2010 +8951269468 :2020 +3983525957 :2030 +0982582262 :2040 +0522489407 :2050 +7267194782 :2060 +6848260147 :2070 +6990902640 :2080 +1363944374 :2090 +5530506820 :2100 +3496252451 :2110 +7493996514 :2120 +3142980919 :2130 +0659250937 :2140 +2216964615 :2150 +1570985838 :2160 +7410597885 :2170 +9597729754 :2180 +9893016175 :2190 +3928468138 :2200 +2686838689 :2210 +4277415599 :2220 +1855925245 :2230 +9539594310 :2240 +4997252468 :2250 +0845987273 :2260 +6446958486 :2270 +5383673622 :2280 +2626099124 :2290 +6080512438 :2300 +8439045124 :2310 +4136549762 :2320 +7807977156 :2330 +9143599770 :2340 +0129616089 :2350 +4416948685 :2360 +5584840635 :2370 +3422072225 :2380 +8284886481 :2390 +5845602850 :2400 +6016842739 :2410 +4522674676 :2420 +7889525213 :2430 +8522549954 :2440 +6667278239 :2450 +8645659611 :2460 +6354886230 :2470 +5774564980 :2480 +3559363456 :2490 +8174324112 :2500 +5150760694 :2510 +7945109659 :2520 +6094025228 :2530 +8797108931 :2540 +4566913686 :2550 +7228748940 :2560 +5601015033 :2570 +0861792868 :2580 +0920874760 :2590 +9178249385 :2600 +8900971490 :2610 +9675985261 :2620 +3655497818 :2630 +9312978482 :2640 +1682998948 :2650 +7226588048 :2660 +5756401427 :2670 +0477555132 :2680 +3796414515 :2690 +2374623436 :2700 +4542858444 :2710 +7952658678 :2720 +2105114135 :2730 +4735739523 :2740 +1134271661 :2750 +0213596953 :2760 +6231442952 :2770 +4849371871 :2780 +1014576540 :2790 +3590279934 :2800 +4037420073 :2810 +1057853906 :2820 +2198387447 :2830 +8084784896 :2840 +8332144571 :2850 +3868751943 :2860 +5064302184 :2870 +5319104848 :2880 +1005370614 :2890 +6806749192 :2900 +7819119793 :2910 +9952061419 :2920 +6634287544 :2930 +4064374512 :2940 +3718192179 :2950 +9983910159 :2960 +1956181467 :2970 +5142691239 :2980 +7489409071 :2990 +8649423196 :3000 +1567945208 :3010 +0951465502 :3020 +2523160388 :3030 +1930142093 :3040 +7621378559 :3050 +5663893778 :3060 +7083039069 :3070 +7920773467 :3080 +2218256259 :3090 +9661501421 :3100 +5030680384 :3110 +4773454920 :3120 +2605414665 :3130 +9252014974 :3140 +4285073251 :3150 +8666002132 :3160 +4340881907 :3170 +1048633173 :3180 +4649651453 :3190 +9057962685 :3200 +6100550810 :3210 +6658796998 :3220 +1635747363 :3230 +8405257145 :3240 +9102897064 :3250 +1401109712 :3260 +0628043903 :3270 +9759515677 :3280 +1577004203 :3290 +3786993600 :3300 +7230558763 :3310 +1763594218 :3320 +7312514712 :3330 +0532928191 :3340 +8261861258 :3350 +6732157919 :3360 +8414848829 :3370 +1644706095 :3380 +7527069572 :3390 +2091756711 :3400 +6722910981 :3410 +6909152801 :3420 +7350671274 :3430 +8583222871 :3440 +8352093539 :3450 +6572512108 :3460 +3579151369 :3470 +8820914442 :3480 +1006751033 :3490 +4671103141 :3500 +2671113699 :3510 +0865851639 :3520 +8315019701 :3530 +6515116851 :3540 +7143765761 :3550 +8351556508 :3560 +8490998985 :3570 +9982387345 :3580 +5283316355 :3590 +0764791853 :3600 +5893226185 :3610 +4896321329 :3620 +3308985706 :3630 +4204675259 :3640 +0709154814 :3650 +1654985946 :3660 +1637180270 :3670 +9819943099 :3680 +2448895757 :3690 +1282890592 :3700 +3233260972 :3710 +9971208443 :3720 +3573265489 :3730 +3823911932 :3740 +5974636673 :3750 +0583604142 :3760 +8138830320 :3770 +3824903758 :3780 +9852437441 :3790 +7029132765 :3800 +6180937734 :3810 +4403070746 :3820 +9211201913 :3830 +0203303801 :3840 +9762110110 :3850 +0449293215 :3860 +1608424448 :3870 +5963766983 :3880 +8952286847 :3890 +8312355265 :3900 +8213144957 :3910 +6857262433 :3920 +4418930396 :3930 +8642624341 :3940 +0773226978 :3950 +0280731891 :3960 +5441101044 :3970 +6823252716 :3980 +2010526522 :3990 +7211166039 :4000 +6665573092 :4010 +5471105578 :4020 +5376346682 :4030 +0653109896 :4040 +5269186205 :4050 +6476931257 :4060 +0586356620 :4070 +1855810072 :4080 +9360659876 :4090 +4861179104 :4100 +5334885034 :4110 +6113657686 :4120 +7532494416 :4130 +6803962657 :4140 +9787718556 :4150 +0845529654 :4160 +1266540853 :4170 +0614344431 :4180 +8586769751 :4190 +4566140680 :4200 +0700237877 :4210 +6591344017 :4220 +1274947042 :4230 +0562230538 :4240 +9945613140 :4250 +7112700040 :4260 +7854733269 :4270 +9390814546 :4280 +6464588079 :4290 +7270826683 :4300 +0634328587 :4310 +8569830523 :4320 +5808933065 :4330 +7574067954 :4340 +5716377525 :4350 +4202114955 :4360 +7615814002 :4370 +5012622859 :4380 +4130216471 :4390 +5509792592 :4400 +3099079654 :4410 +7376125517 :4420 +6567513575 :4430 +1782966645 :4440 +4779174501 :4450 +1299614890 :4460 +3046399471 :4470 +3296210734 :4480 +0437518957 :4490 +3596145890 :4500 +1938971311 :4510 +1790429782 :4520 +8564750320 :4530 +3198691514 :4540 +0287080859 :4550 +9048010941 :4560 +2147221317 :4570 +9476477726 :4580 +2241425485 :4590 +4540332157 :4600 +1853061422 :4610 +8813758504 :4620 +3063321751 :4630 +8297986622 :4640 +3717215916 :4650 +0771669254 :4660 +7487389866 :4670 +5494945011 :4680 +4654062843 :4690 +3663937900 :4700 +3976926567 :4710 +2146385306 :4720 +7360965712 :4730 +0918076383 :4740 +2716641627 :4750 +4888800786 :4760 +9256029022 :4770 +8472104031 :4780 +7211860820 :4790 +4190004229 :4800 +6617119637 :4810 +7921337575 :4820 +1149595015 :4830 +6604963186 :4840 +2947265473 :4850 +6425230817 :4860 +7036751590 :4870 +6735023507 :4880 +2835405670 :4890 +4038674351 :4900 +3622224771 :4910 +5891504953 :4920 +0984448933 :4930 +3096340878 :4940 +0769325993 :4950 +9780541934 :4960 +1447377441 :4970 +8426312986 :4980 +0809988868 :4990 +7413260472 :5000 +1569516239 :5010 +6586457302 :5020 +1631598193 :5030 +1951673538 :5040 +1297416772 :5050 +9478672422 :5060 +9246543668 :5070 +0098067692 :5080 +8238280689 :5090 +9640048243 :5100 +5403701416 :5110 +3149658979 :5120 +4092432378 :5130 +9690706977 :5140 +9422362508 :5150 +2216889573 :5160 +8379862300 :5170 +1593776471 :5180 +6512289357 :5190 +8601588161 :5200 +7557829735 :5210 +2334460428 :5220 +1512627203 :5230 +7343146531 :5240 +9777741603 :5250 +1990665541 :5260 +8763979293 :5270 +3441952154 :5280 +1341899485 :5290 +4447345673 :5300 +8316249934 :5310 +1913181480 :5320 +9277771038 :5330 +6387734317 :5340 +7207545654 :5350 +5322077709 :5360 +2120190516 :5370 +6096280490 :5380 +9263601975 :5390 +9882816133 :5400 +2316663652 :5410 +8619326686 :5420 +3360627356 :5430 +7630354477 :5440 +6280350450 :5450 +7772355471 :5460 +0585954870 :5470 +2790814356 :5480 +2401451718 :5490 +0624643626 :5500 +7945612753 :5510 +1813407833 :5520 +0336254232 :5530 +7839449753 :5540 +8243720583 :5550 +5311477119 :5560 +9260638133 :5570 +4677687969 :5580 +5970309833 :5590 +9130771098 :5600 +7040859133 :5610 +7464144282 :5620 +2772634659 :5630 +4704745878 :5640 +4778720192 :5650 +7715280731 :5660 +7679077071 :5670 +5721344473 :5680 +0605700733 :5690 +4924369311 :5700 +3835049316 :5710 +3128404251 :5720 +2192565179 :5730 +8069411352 :5740 +8013147013 :5750 +0478164378 :5760 +8518529092 :5770 +8545201165 :5780 +8393419656 :5790 +2134914341 :5800 +5956258658 :5810 +6557055269 :5820 +0496520985 :5830 +8033850722 :5840 +4264829397 :5850 +2858478316 :5860 +3057777560 :5870 +6888764462 :5880 +4824685792 :5890 +6039535277 :5900 +3480304802 :5910 +9005876075 :5920 +8251047470 :5930 +9164396136 :5940 +2676044925 :5950 +6274204208 :5960 +3208566119 :5970 +0625454337 :5980 +2131535958 :5990 +4506877246 :6000 +0290161876 :6010 +6795240616 :6020 +3425225771 :6030 +9542916299 :6040 +1930645537 :6050 +7991403734 :6060 +0432875262 :6070 +8889639958 :6080 +7947572917 :6090 +4642635745 :6100 +5254079091 :6110 +4513571113 :6120 +6941091193 :6130 +9325191076 :6140 +0208252026 :6150 +1879853188 :6160 +7705842972 :6170 +5916778131 :6180 +4969900901 :6190 +9211697173 :6200 +7278476847 :6210 +2686084900 :6220 +3377024242 :6230 +9165130050 :6240 +0516832336 :6250 +4350389517 :6260 +0298939223 :6270 +3451722013 :6280 +8128069650 :6290 +1178440874 :6300 +5196012122 :6310 +8599371623 :6320 +1301711444 :6330 +8464090389 :6340 +0644954440 :6350 +0619869075 :6360 +4851602632 :6370 +7505298349 :6380 +1874078668 :6390 +0881833851 :6400 +0228334508 :6410 +5048608250 :6420 +3930213321 :6430 +9715518430 :6440 +6354550076 :6450 +6828294930 :6460 +4137765527 :6470 +9397517546 :6480 +1395398468 :6490 +3393638304 :6500 +7461199665 :6510 +3858153842 :6520 +0568533862 :6530 +1867252334 :6540 +0283087112 :6550 +3282789212 :6560 +5077126294 :6570 +6322956398 :6580 +9898935821 :6590 +1674562701 :6600 +0218356462 :6610 +2013496715 :6620 +1881909730 :6630 +3811980049 :6640 +7340723961 :6650 +0368540664 :6660 +3193950979 :6670 +0190699639 :6680 +5524530054 :6690 +5058068550 :6700 +1956730229 :6710 +2191393391 :6720 +8568034490 :6730 +3982059551 :6740 +0022635353 :6750 +6192041994 :6760 +7455385938 :6770 +1023439554 :6780 +4959778377 :6790 +9023742161 :6800 +7271117236 :6810 +4343543947 :6820 +8221818528 :6830 +6240851400 :6840 +6660443325 :6850 +8885698670 :6860 +5431547069 :6870 +6574745855 :6880 +0332323342 :6890 +1073015459 :6900 +4051655379 :6910 +0686627333 :6920 +7995851156 :6930 +2578432298 :6940 +8273723198 :6950 +9875714159 :6960 +5781119635 :6970 +8330059408 :6980 +7306812160 :6990 +2876496286 :7000 +7446047746 :7010 +4915995054 :7020 +9737425626 :7030 +9010490377 :7040 +8198683593 :7050 +8146574126 :7060 +8049256487 :7070 +9855614537 :7080 +2347867330 :7090 +3904688383 :7100 +4363465537 :7110 +9498641927 :7120 +0563872931 :7130 +7487233208 :7140 +3760112302 :7150 +9911367938 :7160 +6270894387 :7170 +9936201629 :7180 +5154133714 :7190 +2489283072 :7200 +2012690147 :7210 +5466847653 :7220 +5761647737 :7230 +9467520049 :7240 +0757155527 :7250 +8196536213 :7260 +2392640616 :7270 +0136358155 :7280 +9074220202 :7290 +0318727760 :7300 +5277219005 :7310 +5614842555 :7320 +1879253034 :7330 +3513984425 :7340 +3223415762 :7350 +3361064250 :7360 +6390497500 :7370 +8656271095 :7380 +3591946589 :7390 +7514131034 :7400 +8227693062 :7410 +4743536325 :7420 +6916078154 :7430 +7818115284 :7440 +3667957061 :7450 +1086153315 :7460 +0445212747 :7470 +3924544945 :7480 +4236828860 :7490 +6134084148 :7500 +6377670096 :7510 +1207151249 :7520 +1404302725 :7530 +3860764823 :7540 +6341433462 :7550 +3518975766 :7560 +4521641376 :7570 +7969031495 :7580 +0191085759 :7590 +8442391986 :7600 +2916421939 :7610 +9490723623 :7620 +4646844117 :7630 +3940326591 :7640 +8404437805 :7650 +1333894525 :7660 +7423995082 :7670 +9659122850 :7680 +8555821572 :7690 +5031071257 :7700 +0126683024 :7710 +0292952522 :7720 +0118726767 :7730 +5622041542 :7740 +0516184163 :7750 +4847565169 :7760 +9981161410 :7770 +1002996078 :7780 +3869092916 :7790 +0302884002 :7800 +6910414079 :7810 +2886215078 :7820 +4245167090 :7830 +8700069928 :7840 +2120660418 :7850 +3718065355 :7860 +6725253256 :7870 +7532861291 :7880 +0424877618 :7890 +2582976515 :7900 +7959847035 :7910 +6222629348 :7920 +6003415872 :7930 +2980534989 :7940 +6502262917 :7950 +4878820273 :7960 +4209222245 :7970 +3398562647 :7980 +6691490556 :7990 +2842503912 :8000 +7577102840 :8010 +2799806636 :8020 +5825488926 :8030 +4880254566 :8040 +1017296702 :8050 +6640765590 :8060 +4290994568 :8070 +1506526530 :8080 +5371829412 :8090 +7033693137 :8100 +8517860904 :8110 +0708667114 :8120 +9655834343 :8130 +4769338578 :8140 +1711386455 :8150 +8736781230 :8160 +1458768712 :8170 +6603489139 :8180 +0956200993 :8190 +9361031029 :8200 +1616152881 :8210 +3843790990 :8220 +4231747336 :8230 +3948045759 :8240 +3149314052 :8250 +9763475748 :8260 +1193567091 :8270 +1013775172 :8280 +1008031559 :8290 +0248530906 :8300 +6920376719 :8310 +2203322909 :8320 +4334676851 :8330 +4221447737 :8340 +9393751703 :8350 +4436619910 :8360 +4033751117 :8370 +3547191855 :8380 +0464490263 :8390 +6551281622 :8400 +8824462575 :8410 +9163330391 :8420 +0722538374 :8430 +2182140883 :8440 +5086573917 :8450 +7150968288 :8460 +7478265699 :8470 +5995744906 :8480 +6175834413 :8490 +7522397096 :8500 +8340800535 :8510 +5984917541 :8520 +7381883999 :8530 +4469748676 :8540 +2655165827 :8550 +6584835884 :8560 +5314277568 :8570 +7900290951 :8580 +7028352971 :8590 +6344562129 :8600 +6404352311 :8610 +7600665101 :8620 +2412006597 :8630 +5585127617 :8640 +8583829204 :8650 +1974844236 :8660 +0800719304 :8670 +5761893234 :8680 +9229279650 :8690 +1987518721 :8700 +2726750798 :8710 +1255470958 :8720 +9045563579 :8730 +2122103334 :8740 +6697499235 :8750 +6302549478 :8760 +0249011419 :8770 +5212382815 :8780 +3091140790 :8790 +7386025152 :8800 +2742995818 :8810 +0724716259 :8820 +1668545133 :8830 +3123948049 :8840 +4707911915 :8850 +3267343028 :8860 +2441860414 :8870 +2636395480 :8880 +0044800267 :8890 +0496248201 :8900 +7928964766 :8910 +9758318327 :8920 +1314251702 :8930 +9692348896 :8940 +2766844032 :8950 +3260927524 :8960 +9603579964 :8970 +6925650493 :8980 +6818360900 :8990 +3238092934 :9000 +5958897069 :9010 +5365349406 :9020 +0340216654 :9030 +4375589004 :9040 +5632882250 :9050 +5452556405 :9060 +6448246515 :9070 +1875471196 :9080 +2184439658 :9090 +2533754388 :9100 +5690941130 :9110 +3150952617 :9120 +9378002974 :9130 +1207665147 :9140 +9394259029 :9150 +8969594699 :9160 +5565761218 :9170 +6561967337 :9180 +8623625612 :9190 +5216320862 :9200 +8692221032 :9210 +7488921865 :9220 +4364802296 :9230 +7807057656 :9240 +1514463204 :9250 +6927906821 :9260 +2073883778 :9270 +1423356282 :9280 +3608963208 :9290 +0682224680 :9300 +1224826117 :9310 +7185896381 :9320 +4091839036 :9330 +7367222088 :9340 +8321513755 :9350 +6003727983 :9360 +9400415297 :9370 +0028783076 :9380 +6709444745 :9390 +6013455641 :9400 +7254370906 :9410 +9793961225 :9420 +7142989467 :9430 +1543578468 :9440 +7886144458 :9450 +1231459357 :9460 +1984922528 :9470 +4716050492 :9480 +2124247014 :9490 +1214780573 :9500 +4551050080 :9510 +1908699603 :9520 +3027634787 :9530 +0810817545 :9540 +0119307141 :9550 +2233908663 :9560 +9383395294 :9570 +2578690507 :9580 +6431006383 :9590 +5198343893 :9600 +4159613185 :9610 +4347546495 :9620 +5697810382 :9630 +9309716465 :9640 +1438407007 :9650 +0736041123 :9660 +7359984345 :9670 +2251610507 :9680 +0270562352 :9690 +6601276484 :9700 +8308407611 :9710 +8301305279 :9720 +3205427462 :9730 +8654036036 :9740 +7453286510 :9750 +5706587488 :9760 +2256981579 :9770 +3678976697 :9780 +4220575059 :9790 +6834408697 :9800 +3502014102 :9810 +0672358502 :9820 +0072452256 :9830 +3265134105 :9840 +5924019027 :9850 +4216248439 :9860 +1403599895 :9870 +3539459094 :9880 +4070469120 :9890 +9140938700 :9900 +1264560016 :9910 +2374288021 :9920 +0927645793 :9930 +1065792295 :9940 +5249887275 :9950 +8461012648 :9960 +3699989225 :9970 +6959688159 :9980 +2056001016 :9990 +5525637567 :10000