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