-
Notifications
You must be signed in to change notification settings - Fork 6
/
pi.js
10002 lines (10002 loc) · 508 KB
/
pi.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
var pi = `3141592653589793238462643383279502884197169399375105
82097494459230781640628620899862803482534211706798
21480865132823066470938446095505822317253594081284
81117450284102701938521105559644622948954930381964
42881097566593344612847564823378678316527120190914
56485669234603486104543266482133936072602491412737
24587006606315588174881520920962829254091715364367
89259036001133053054882046652138414695194151160943
30572703657595919530921861173819326117931051185480
74462379962749567351885752724891227938183011949129
83367336244065664308602139494639522473719070217986
09437027705392171762931767523846748184676694051320
00568127145263560827785771342757789609173637178721
46844090122495343014654958537105079227968925892354
20199561121290219608640344181598136297747713099605
18707211349999998372978049951059731732816096318595
02445945534690830264252230825334468503526193118817
10100031378387528865875332083814206171776691473035
98253490428755468731159562863882353787593751957781
85778053217122680661300192787661119590921642019893
80952572010654858632788659361533818279682303019520
35301852968995773622599413891249721775283479131515
57485724245415069595082953311686172785588907509838
17546374649393192550604009277016711390098488240128
58361603563707660104710181942955596198946767837449
44825537977472684710404753464620804668425906949129
33136770289891521047521620569660240580381501935112
53382430035587640247496473263914199272604269922796
78235478163600934172164121992458631503028618297455
57067498385054945885869269956909272107975093029553
21165344987202755960236480665499119881834797753566
36980742654252786255181841757467289097777279380008
16470600161452491921732172147723501414419735685481
61361157352552133475741849468438523323907394143334
54776241686251898356948556209921922218427255025425
68876717904946016534668049886272327917860857843838
27967976681454100953883786360950680064225125205117
39298489608412848862694560424196528502221066118630
67442786220391949450471237137869609563643719172874
67764657573962413890865832645995813390478027590099
46576407895126946839835259570982582262052248940772
67194782684826014769909026401363944374553050682034
96252451749399651431429809190659250937221696461515
70985838741059788595977297549893016175392846813826
86838689427741559918559252459539594310499725246808
45987273644695848653836736222626099124608051243884
39045124413654976278079771569143599770012961608944
16948685558484063534220722258284886481584560285060
16842739452267467678895252138522549954666727823986
45659611635488623057745649803559363456817432411251
50760694794510965960940252288797108931456691368672
28748940560101503308617928680920874760917824938589
00971490967598526136554978189312978482168299894872
26588048575640142704775551323796414515237462343645
42858444795265867821051141354735739523113427166102
13596953623144295248493718711014576540359027993440
37420073105785390621983874478084784896833214457138
68751943506430218453191048481005370614680674919278
19119793995206141966342875444064374512371819217999
83910159195618146751426912397489409071864942319615
67945208095146550225231603881930142093762137855956
63893778708303906979207734672218256259966150142150
30680384477345492026054146659252014974428507325186
66002132434088190710486331734649651453905796268561
00550810665879699816357473638405257145910289706414
01109712062804390397595156771577004203378699360072
30558763176359421873125147120532928191826186125867
32157919841484882916447060957527069572209175671167
22910981690915280173506712748583222871835209353965
72512108357915136988209144421006751033467110314126
71113699086585163983150197016515116851714376576183
51556508849099898599823873455283316355076479185358
93226185489632132933089857064204675259070915481416
54985946163718027098199430992448895757128289059232
33260972997120844335732654893823911932597463667305
83604142813883032038249037589852437441702913276561
80937734440307074692112019130203303801976211011004
49293215160842444859637669838952286847831235526582
13144957685726243344189303968642624341077322697802
80731891544110104468232527162010526522721116603966
65573092547110557853763466820653109896526918620564
76931257058635662018558100729360659876486117910453
34885034611365768675324944166803962657978771855608
45529654126654085306143444318586769751456614068007
00237877659134401712749470420562230538994561314071
12700040785473326993908145466464588079727082668306
34328587856983052358089330657574067954571637752542
02114955761581400250126228594130216471550979259230
99079654737612551765675135751782966645477917450112
99614890304639947132962107340437518957359614589019
38971311179042978285647503203198691514028708085990
48010941214722131794764777262241425485454033215718
53061422881375850430633217518297986622371721591607
71669254748738986654949450114654062843366393790039
76926567214638530673609657120918076383271664162748
88800786925602902284721040317211860820419000422966
17119637792133757511495950156604963186294726547364
25230817703675159067350235072835405670403867435136
22224771589150495309844489333096340878076932599397
80541934144737744184263129860809988868741326047215
69516239658645730216315981931951673538129741677294
78672422924654366800980676928238280689964004824354
03701416314965897940924323789690706977942236250822
16889573837986230015937764716512289357860158816175
57829735233446042815126272037343146531977774160319
90665541876397929334419521541341899485444734567383
16249934191318148092777710386387734317720754565453
22077709212019051660962804909263601975988281613323
16663652861932668633606273567630354477628035045077
72355471058595487027908143562401451718062464362679
45612753181340783303362542327839449753824372058353
11477119926063813346776879695970309833913077109870
40859133746414428227726346594704745878477872019277
15280731767907707157213444730605700733492436931138
35049316312840425121925651798069411352801314701304
78164378851852909285452011658393419656213491434159
56258658655705526904965209858033850722426482939728
58478316305777756068887644624824685792603953527734
80304802900587607582510474709164396136267604492562
74204208320856611906254543372131535958450687724602
90161876679524061634252257719542916299193064553779
91403734043287526288896399587947572917464263574552
54079091451357111369410911939325191076020825202618
79853188770584297259167781314969900901921169717372
78476847268608490033770242429165130050051683233643
50389517029893922334517220138128069650117844087451
96012122859937162313017114448464090389064495444006
19869075485160263275052983491874078668088183385102
28334508504860825039302133219715518430635455007668
28294930413776552793975175461395398468339363830474
61199665385815384205685338621867252334028308711232
82789212507712629463229563989898935821167456270102
18356462201349671518819097303811980049734072396103
68540664319395097901906996395524530054505806855019
56730229219139339185680344903982059551002263535361
92041994745538593810234395544959778377902374216172
71117236434354394782218185286240851400666044332588
85698670543154706965747458550332323342107301545940
51655379068662733379958511562578432298827372319898
75714159578111963583300594087306812160287649628674
46047746491599505497374256269010490377819868359381
46574126804925648798556145372347867330390468838343
63465537949864192705638729317487233208376011230299
11367938627089438799362016295154133714248928307220
12690147546684765357616477379467520049075715552781
96536213239264061601363581559074220202031872776052
77219005561484255518792530343513984425322341576233
61064250639049750086562710953591946589751413103482
27693062474353632569160781547818115284366795706110
86153315044521274739245449454236828860613408414863
77670096120715124914043027253860764823634143346235
18975766452164137679690314950191085759844239198629
16421939949072362346468441173940326591840443780513
33894525742399508296591228508555821572503107125701
26683024029295252201187267675622041542051618416348
47565169998116141010029960783869092916030288400269
10414079288621507842451670908700069928212066041837
18065355672525325675328612910424877618258297651579
59847035622262934860034158722980534989650226291748
78820273420922224533985626476691490556284250391275
77102840279980663658254889264880254566101729670266
40765590429099456815065265305371829412703369313785
17860904070866711496558343434769338578171138645587
36781230145876871266034891390956200993936103102916
16152881384379099042317473363948045759314931405297
63475748119356709110137751721008031559024853090669
20376719220332290943346768514221447737939375170344
36619910403375111735471918550464490263655128162288
24462575916333039107225383742182140883508657391771
50968288747826569959957449066175834413752239709683
40800535598491754173818839994469748676265516582765
84835884531427756879002909517028352971634456212964
04352311760066510124120065975585127617858382920419
74844236080071930457618932349229279650198751872127
26750798125547095890455635792122103334669749923563
02549478024901141952123828153091140790738602515227
42995818072471625916685451333123948049470791191532
67343028244186041426363954800044800267049624820179
28964766975831832713142517029692348896276684403232
60927524960357996469256504936818360900323809293459
58897069536534940603402166544375589004563288225054
52556405644824651518754711962184439658253375438856
90941130315095261793780029741207665147939425902989
69594699556576121865619673378623625612521632086286
92221032748892186543648022967807057656151446320469
27906821207388377814233562823608963208068222468012
24826117718589638140918390367367222088832151375560
03727983940041529700287830766709444745601345564172
54370906979396122571429894671543578468788614445812
31459357198492252847160504922124247014121478057345
51050080190869960330276347870810817545011930714122
33908663938339529425786905076431006383519834389341
59613185434754649556978103829309716465143840700707
36041123735998434522516105070270562352660127648483
08407611830130527932054274628654036036745328651057
06587488225698157936789766974220575059683440869735
02014102067235850200724522563265134105592401902742
16248439140359989535394590944070469120914093870012
64560016237428802109276457931065792295524988727584
61012648369998922569596881592056001016552563756785
66722796619885782794848855834397518744545512965634
43480396642055798293680435220277098429423253302257
63418070394769941597915945300697521482933665556615
67873640053666564165473217043903521329543529169414
59904160875320186837937023488868947915107163785290
23452924407736594956305100742108714261349745956151
38498713757047101787957310422969066670214498637464
59528082436944578977233004876476524133907592043401
96340391147320233807150952220106825634274716460243
35440051521266932493419673977041595683753555166730
27390074972973635496453328886984406119649616277344
95182736955882207573551766515898551909866653935494
81068873206859907540792342402300925900701731960362
25475647894064754834664776041146323390565134330684
49539790709030234604614709616968868850140834704054
60742958699138296682468185710318879065287036650832
43197440477185567893482308943106828702722809736248
09399627060747264553992539944280811373694338872940
63079261595995462624629707062594845569034711972996
40908941805953439325123623550813494900436427852713
83159125689892951964272875739469142725343669415323
61004537304881985517065941217352462589548730167600
29886592578662856124966552353382942878542534048308
33070165372285635591525347844598183134112900199920
59813522051173365856407826484942764411376393866924
80311836445369858917544264739988228462184490087776
97763127957226726555625962825427653183001340709223
34365779160128093179401718598599933849235495640057
09955856113498025249906698423301735035804408116855
26531170995708994273287092584878944364600504108922
66917835258707859512983441729535195378855345737426
08590290817651557803905946408735061232261120093731
08048548526357228257682034160504846627750450031262
00800799804925485346941469775164932709504934639382
43222718851597405470214828971117779237612257887347
71881968254629812686858170507402725502633290449762
77894423621674119186269439650671515779586756482399
39176042601763387045499017614364120469218237076488
78341968968611815581587360629386038101712158552726
68300823834046564758804051380801633638874216371406
43549556186896411228214075330265510042410489678352
85882902436709048871181909094945331442182876618103
10073547705498159680772009474696134360928614849417
85017180779306810854690009445899527942439813921350
55864221964834915126390128038320010977386806628779
23971801461343244572640097374257007359210031541508
93679300816998053652027600727749674584002836240534
60372634165542590276018348403068113818551059797056
64007509426087885735796037324514146786703688098806
09716425849759513806930944940151542222194329130217
39125383559150310033303251117491569691745027149433
15155885403922164097229101129035521815762823283182
34254832611191280092825256190205263016391147724733
14857391077758744253876117465786711694147764214411
11263583553871361011023267987756410246824032264834
64176636980663785768134920453022408197278564719839
63087815432211669122464159117767322532643356861461
86545222681268872684459684424161078540167681420808
85028005414361314623082102594173756238994207571362
75167457318918945628352570441335437585753426986994
72547031656613991999682628247270641336222178923903
17608542894373393561889165125042440400895271983787
38648058472689546243882343751788520143956005710481
19498842390606136957342315590796703461491434478863
60410318235073650277859089757827273130504889398900
99239135033732508559826558670892426124294736701939
07727130706869170926462548423240748550366080136046
68951184009366860954632500214585293095000090715105
82362672932645373821049387249966993394246855164832
61134146110680267446637334375340764294026682973865
22093570162638464852851490362932019919968828517183
95366913452224447080459239660281715655156566611135
98231122506289058549145097157553900243931535190902
10711945730024388017661503527086260253788179751947
80610137150044899172100222013350131060163915415895
78037117792775225978742891917915522417189585361680
59474123419339842021874564925644346239253195313510
33114763949119950728584306583619353693296992898379
14941939406085724863968836903265564364216644257607
91471086998431573374964883529276932822076294728238
15374099615455987982598910937171262182830258481123
89011968221429457667580718653806506487026133892822
99497257453033283896381843944770779402284359883410
03583854238973542439564755568409522484455413923941
00016207693636846776413017819659379971557468541946
33489374843912974239143365936041003523437770658886
77811394986164787471407932638587386247328896456435
98774667638479466504074111825658378878454858148962
96127399841344272608606187245545236064315371011274
68097787044640947582803487697589483282412392929605
82948619196670918958089833201210318430340128495116
20353428014412761728583024355983003204202451207287
25355811958401491809692533950757784000674655260314
46167050827682772223534191102634163157147406123850
42584598841990761128725805911393568960143166828317
63235673254170734208173322304629879928049085140947
90368878687894930546955703072619009502076433493359
10602454508645362893545686295853131533718386826561
78622736371697577418302398600659148161640494496501
17321313895747062088474802365371031150898427992754
42685327797431139514357417221975979935968525228574
52637962896126915723579866205734083757668738842664
05990993505000813375432454635967504844235284874701
44354541957625847356421619813407346854111766883118
65448937769795665172796623267148103386439137518659
46730024434500544995399742372328712494834706044063
47160632583064982979551010954183623503030945309733
58344628394763047756450150085075789495489313939448
99216125525597701436858943585877526379625597081677
64380012543650237141278346792610199558522471722017
77237004178084194239487254068015560359983905489857
23546745642390585850216719031395262944554391316631
34530893906204678438778505423939052473136201294769
18749751910114723152893267725339181466073000890277
68963114810902209724520759167297007850580717186381
05496797310016787085069420709223290807038326345345
20380278609905569001341371823683709919495164896007
55049341267876436746384902063964019766685592335654
63913836318574569814719621084108096188460545603903
84553437291414465134749407848844237721751543342603
06698831768331001133108690421939031080143784334151
37092435301367763108491351615642269847507430329716
74696406665315270353254671126675224605511995818319
63763707617991919203579582007595605302346267757943
93630746305690108011494271410093913691381072581378
13578940055995001835425118417213605572752210352680
37357265279224173736057511278872181908449006178013
88971077082293100279766593583875890939568814856026
32243937265624727760378908144588378550197028437793
62407825052704875816470324581290878395232453237896
02984166922548964971560698119218658492677040395648
12781021799132174163058105545988013004845629976511
21241536374515005635070127815926714241342103301566
16535602473380784302865525722275304999883701534879
30080626018096238151613669033411113865385109193673
93835229345888322550887064507539473952043968079067
08680644509698654880168287434378612645381583428075
30618454859037982179945996811544197425363443996029
02510015888272164745006820704193761584547123183460
07262933955054823955713725684023226821301247679452
26448209102356477527230820810635188991526928891084
55571126603965034397896278250016110153235160519655
90421184494990778999200732947690586857787872098290
13529566139788848605097860859570177312981553149516
81467176959760994210036183559138777817698458758104
46628399880600616229848616935337386578773598336161
33841338536842119789389001852956919678045544828584
83701170967212535338758621582310133103877668272115
72694951817958975469399264219791552338576623167627
54757035469941489290413018638611943919628388705436
77743224276809132365449485366768000001065262485473
05586159899914017076983854831887501429389089950685
45307651168033373222651756622075269517914422528081
65171667766727930354851542040238174608923283917032
75425750867655117859395002793389592057668278967764
45318404041855401043513483895312013263783692835808
27193783126549617459970567450718332065034556644034
49045362756001125018433560736122276594927839370647
84264567633881880756561216896050416113903906396016
20221536849410926053876887148379895599991120991646
46441191856827700457424343402167227644558933012778
15868695250694993646101756850601671453543158148010
54588605645501332037586454858403240298717093480910
55621167154684847780394475697980426318099175642280
98739987669732376957370158080682290459921236616890
25962730430679316531149401764737693873514093361833
21614280214976339918983548487562529875242387307755
95559554651963944018218409984124898262367377146722
60616336432964063357281070788758164043814850188411
43188598827694490119321296827158884133869434682859
00666408063140777577257056307294004929403024204984
16565479736705485580445865720227637840466823379852
82710578431975354179501134727362577408021347682604
50228515797957976474670228409995616015691089038458
24502679265942055503958792298185264800706837650418
36562094555434613513415257006597488191634135955671
96496540321872716026485930490397874895890661272507
94828276938953521753621850796297785146188432719223
22381015874445052866523802253284389137527384589238
44225354726530981715784478342158223270206902872323
30053862163479885094695472004795231120150432932266
28272763217790884008786148022147537657810581970222
63097174950721272484794781695729614236585957820908
30733233560348465318730293026659645013718375428897
55797144992465403868179921389346924474198509733462
67933210726868707680626399193619650440995421676278
40914669856925715074315740793805323925239477557441
59184582156251819215523370960748332923492103451462
64374498055961033079941453477845746999921285999993
99612281615219314888769388022281083001986016549416
54261696858678837260958774567618250727599295089318
05218729246108676399589161458550583972742098090978
17293239301067663868240401113040247007350857828724
62713494636853181546969046696869392547251941399291
46524238577625500474852954768147954670070503479995
88867695016124972282040303995463278830695976249361
51010243655535223069061294938859901573466102371223
54789112925476961760050479749280607212680392269110
27772261025441492215765045081206771735712027180242
96810620377657883716690910941807448781404907551782
03856539099104775941413215432844062503018027571696
50820964273484146957263978842560084531214065935809
04127113592004197598513625479616063228873618136737
32445060792441176399759746193835845749159880976674
47093006546342423460634237474666080431701260052055
92849369594143408146852981505394717890045183575515
41252235905906872648786357525419112888773717663748
60276606349603536794702692322971868327717393236192
00777452212624751869833495151019864269887847171939
66497690708252174233656627259284406204302141137199
22785269984698847702323823840055655517889087661360
13047709843861168705231055314916251728373272867600
72481729876375698163354150746088386636406934704372
06688651275688266149730788657015685016918647488541
67915459650723428773069985371390430026653078398776
38503238182155355973235306860430106757608389086270
49841888595138091030423595782495143988590113185835
84066747237029714978508414585308578133915627076035
63907639473114554958322669457024941398316343323789
75955680856836297253867913275055542524491943589128
40504522695381217913191451350099384631177401797151
22837854601160359554028644059024964669307077690554
81028850208085800878115773817191741776017330738554
75800605601433774329901272867725304318251975791679
29699650414607066457125888346979796429316229655201
68797300035646304579308840327480771811555330909887
02550520768046303460865816539487695196004408482065
96737947316808641564565053004988161649057883115434
54850526600698230931577765003780704661264706021457
50579327096204782561524714591896522360839664562410
51955105223572397395128818164059785914279148165426
32892004281609136937773722299983327082082969955737
72737566761552711392258805520189887620114168005468
73655806334716037342917039079863965229613128017826
79717289822936070288069087768660593252746378405397
69184808204102194471971386925608416245112398062011
31845412447820501107987607171556831540788654390412
10873032402010685341947230476666721749869868547076
78120512473679247919315085644477537985379973223445
61227858432968466475133365736923872014647236794278
70042503255589926884349592876124007558756946413705
62514001179713316620715371543600687647731867558714
87839890810742953094106059694431584775397009439883
94914432353668539209946879645066533985738887866147
62944341401049888993160051207678103588611660202961
19363968213496075011164983278563531614516845769568
71090029997698412632665023477167286573785790857466
46077228341540311441529418804782543876177079043000
15669867767957609099669360755949651527363498118964
13043311662774712338817406037317439705406703109676
76574869535878967003192586625941051053358438465602
33917967492678447637084749783336555790073841914731
98862713525954625181604342253729962863267496824058
06029642114638643686422472488728343417044157348248
18333016405669596688667695634914163284264149745333
49999480002669987588815935073578151958899005395120
85351035726137364034367534714104836017546488300407
84641674521673719048310967671134434948192626811107
39948250607394950735031690197318521195526356325843
39099822498624067031076831844660729124874754031617
96994113973877658998685541703188477886759290260700
43212666179192235209382278788809886335991160819235
35557046463491132085918979613279131975649097600013
99623444553501434642686046449586247690943470482932
94140411146540923988344435159133201077394411184074
10768498106634724104823935827401944935665161088463
12567852977697346843030614624180358529331597345830
38455410337010916767763742762102137013548544509263
07190114731848574923318167207213727935567952844392
54815609137281284063330393735624200160456645574145
88166052166608738748047243391212955877763906969037
07882852775389405246075849623157436917113176134783
88271941686066257210368513215664780014767523103935
78606896111259960281839309548709059073861351914591
81951029732787557104972901148717189718004696169777
00179139196137914171627070189584692143436967629274
59109940060084983568425201915593703701011049747339
49387788598941743303178534870760322198297057975119
14405109942358830345463534923498268836240433272674
15540301619505680654180939409982020609994140216890
90070821330723089662119775530665918814119157783627
29274615618571037217247100952142369648308641025928
87457999322374955191221951903424452307535133806856
80735446499512720317448719540397610730806026990625
80760202927314552520780799141842906388443734996814
58273372072663917670201183004648190002413083508846
58415214899127610651374153943565721139032857491876
90944137020905170314877734616528798482353382972601
36110984514841823808120540996125274580881099486972
21612852489742555551607637167505489617301680961380
38119143611439921063800508321409876045993093248510
25168294467260666138151745712559754953580239983146
98220361338082849935670557552471290274539776214049
31820146580080215665360677655087838043041343105918
04606800834591136640834887408005741272586704792258
31912741573908091438313845642415094084913391809684
02511639919368532255573389669537490266209232613188
55891580832455571948453875628786128859004106006073
74650140262782402734696252821717494158233174923968
35301361786536737606421667781377399510065895288774
27662636841830680190804609849809469763667335662282
91513235278880615776827815958866918023894033307644
19124034120223163685778603572769415417788264352381
31905028087018575047046312933353757285386605888904
58311145077394293520199432197117164223500564404297
98920815943071670198574692738486538334361457946341
75922573898588001698014757420542995801242958105456
51083104629728293758416116253256251657249807849209
98979906200359365099347215829651741357984910471116
60791587436986541222348341887722929446335178653856
73196255985202607294767407261676714557364981210567
77168934849176607717052771876011999081441130586455
77910525684304811440261938402322470939249802933550
73184589035539713308844617410795916251171486487446
86112476054286734367090466784686702740918810142497
11149657817724279347070216688295610877794405048437
52844337510882826477197854000650970403302186255614
73321177711744133502816088403517814525419643203095
76018694649088681545285621346988355444560249556668
43660292219512483091060537720198021831010327041783
86654471812603971906884623708575180800353270471856
59499476124248110999288679158969049563947624608424
06593094862150769031498702067353384834955083636601
78487710608098042692471324100094640143736032656451
84566792456669551001502298330798496079949882497061
72367449361226222961790814311414660941234159359309
58540791390872083227335495720807571651718765994498
56937956238755516175754380917805280294642004472153
96280746360211329425591600257073562812638733106005
89106524570802447493754318414940148211999627645310
68006631183823761639663180931444671298615527598201
45141027560068929750246304017351489194576360789352
85550531733141645705049964438909363084387448478396
16840518452732884032345202470568516465716477139323
77551729479512613239822960239454857975458651745878
77133181387529598094121742273003522965080891777050
68259248822322154938048371454781647213976820963320
50830564792048208592047549985732038887639160199524
09189389455767687497308569559580106595265030362661
59750662225084067428898265907510637563569968211510
94966974458054728869363102036782325018232370845979
01115484720876182124778132663304120762165873129708
11230758159821248639807212407868878114501655825136
17890307086087019897588980745664395515741536319319
19810705753366337380382721527988493503974800158905
19420879711308051233933221903466249917169150948541
40187106035460379464337900589095772118080446574396
28061867178610171567409676620802957665770512912099
07944304632892947306159510430902221439371849560634
05618934251305726829146578329334052463502892917547
08725648426003496296116541382300773133272983050016
02567240141851520418907011542885799208121984493156
99905918201181973350012618772803681248199587707020
75324063612593134385955425477819611429351635612234
96661522614735399674051584998603552953329245752388
81013620234762466905581643896786309762736550472434
86430712184943734853006063876445662721866617012381
27715621379746149861328744117714552444708997144522
88566294244023018479120547849857452163469644897389
20624019435183100882834802492490854030778638751659
11302873958787098100772718271874529013972836614842
14287170553179654307650453432460053636147261818096
99769334862640774351999286863238350887566835950972
65574815431940195576850437248001020413749831872259
67738715495839971844490727914196584593008394263702
08756353982169620553248032122674989114026785285996
73405242031091797899905718821949391320753431707980
02373659098537552023891164346718558290685371189795
26262344924833924963424497146568465912489185566295
89329909035239233333647435203707701010843880032907
59834217018554228386161721041760301164591878053936
74474720599850235828918336929223373239994804371084
19659473162654825748099482509991833006976569367159
68936449334886474421350084070066088359723503953234
01795825570360169369909886711321097988970705172807
55855191269930673099250704070245568507786790694766
12629808225163313639952117098452809263037592242674
25755998928927837047444521893632034894155210445972
61883800300677617931381399162058062701651024458869
24764924689192461212531027573139084047000714356136
23169923716948481325542009145304103713545329662063
92105479824392125172540132314902740585892063217589
49434548906846399313757091034633271415316223280552
29729795380188016285907357295541627886764982741861
64218789885741071649069191851162815285486794173638
90665388576422915834250067361245384916067413734017
35727799563410433268835695078149313780073623541800
70619180267328551191942676091221035987469241172837
49312616339500123959924050845437569850795704622266
46190001035004901830341535458428337643781119885563
18777792537201166718539541835984438305203762819440
76159410682071697030228515225057312609304689842343
31527321313612165828080752126315477306044237747535
05952287174402666389148817173086436111389069420279
08814311944879941715404210341219084709408025402393
29429454938786402305129271190975135360009219711054
12096683111516328705423028470073120658032626417116
16595761327235156666253667271899853419989523688483
09993027574199164638414270779887088742292770538912
27172486322028898425125287217826030500994510824783
57290569198855546788607946280537122704246654319214
52817607414824038278358297193010178883456741678113
98954750448339314689630763396657226727043393216745
42182455706252479721997866854279897799233957905758
18906225254735822052364248507834071101449804787266
91990186438822932305382318559732869780922253529591
01734140733488476100556401824239219269506208318381
45469839236646136398910121021770959767049083050818
54704194664371312299692358895384930136356576186106
06222870559942337163102127845744646398973818856674
62608794820186474876727272220626764653380998019668
83680994159075776852639865146253336312450536402610
56960551318381317426118442018908885319635698696279
50367384243130113317533053298020166888174813429886
81585577810343231753064784983210629718425184385534
42762012823457071698853051832617964117857960888815
03296022907056144762209150947390359466469162353968
09201394578175891088931992112260073928149169481615
27384273626429809823406320024402449589445612916704
95082358124873917996486411334803247577752197089327
72262349486015046652681439877051615317026696929704
92831628550421289814670619533197026950721437823047
68752802873541261663917082459251700107141808548006
36923259462019002278087409859771921805158532147392
65325155903541020928466592529991435379182531454529
05984158176370589279069098969111643811878094353715
21332261443625314490127454772695739393481546916311
62492887357471882407150399500944673195431619385548
52076657388251396391635767231510055560372633948672
08207808653734942440115799667507360711159351331959
19712094896471755302453136477094209463569698222667
37752099451684506436238242118535348879893956731878
06606107885440005508276570305587448541805778891719
20788142335113866292966717964346876007704799953788
33878703487180218424373421122739402557176908196030
92018240188427057046092622564178375265263358324240
66125331152942345796556950250681001831090041124537
90153329661569705223792103257069370510908307894799
99004999395322153622748476603613677697978567386584
67093667958858378879562594646489137665219958828693
38018360119323685785585581955560421562508836502033
22024513762158204618106705195330653060606501054887
16724537794283133887163139559690583208341689847606
56071183471362181232462272588419902861420872849568
79639325464285343075301105285713829643709990356948
88528519040295604734613113826387889755178856042499
87483163828040468486189381895905420398898726506976
20201995548412650005394428203930127481638158530396
43992547020167275932857436666164411096256633730540
92195196751483287348089574777752783442210910731113
51828046036347198185655572957144747682552857863349
34285842311874944000322969069775831590385803935352
13588600796003420975473922967333106493956018122378
12854584317605561733861126734780745850676063048229
40965304111830667108189303110887172816751957967534
71885372293096161432040063813224658411111577583585
81135018569047815368938137718472814751998350504781
29771859908470762197460588742325699582889253504193
79582606162118423687685114183160683158679946016520
57740529423053601780313357263267054790338401257305
91233960188013782542192709476733719198728738524805
74212489211834708766296672072723256505651293331260
59505777727542471241648312832982072361750574673870
12820957554430596839555568686118839713552208445285
26400812520276655576774959696266126045652456840861
39238265768583384698499778726706555191854468698469
47849573462260629421962455708537127277652309895545
01930377321666491825781546772920052126671434632096
37891852323215018976126034373684067194193037746880
99929687758244104787812326625318184596045385354383
91144967753128642609252115376732588667226040425234
91087026958099647595805794663973419064010036361904
04203311357933654242630356145700901124480089002080
14780566037101541223288914657223931450760716706435
56827437743965789067972687438473076346451677562103
09860409271709095128086309029738504452718289274968
92121066700816485833955377359191369501531620189088
87484210798706899114804669270650940762046502772528
65072890532854856143316081269300569378541786109696
92025388650345771831766868859236814884752764984688
21949739729707737187188400414323127636504814531122
85099002074240925585925292610302106736815434701525
23487863516439762358604191941296976904052648323470
09911154242601273438022089331096686367898694977994
00126016422760926082349304118064382913834735467972
53992623387915829984864592717340592256207491053085
31537182911681637219395188700957788181586850464507
69934394098743351443162633031724774748689791820923
94808331439708406730840795893581089665647758599055
63769525232653614424780230826811831037735887089240
61303133647737101162821461466167940409051861526036
00925219472188909181073358719641421444786548995285
82343947050079830388538860831035719306002771194558
02191194289992272235345870756624692617766317885514
43502182870266856106650035310502163182060176092179
84684936863161293727951873078972637353717150256378
73357977180818487845886650433582437700414771041493
49274384575871071597315594394264125702709651251081
15548247939403597681188117282472158250109496096625
39339538092219559191818855267806214992317276316321
83398969380756168559117529984501320671293924041445
93862398809381240452191484831646210147389182510109
09677386906640415897361047643650006807710565671848
62814963711188321924456639458144914861655004956769
82690308911185687986929470513524816091743243015383
68470729289898284602223730145265567989862776796809
14697983782687643115988321090437156112997665215396
35464420869197567370005738764978437686287681792497
46943842746525631632300555130417422734164645512781
27845777724575203865437542828256714128858345444351
32562054464241011037955464190581168623059644769587
05407214198521210673433241075676757581845699069304
60475227701670056845439692340417110898889934163505
85157887353430815520811772071880379104046983069578
68547393765643363197978680367187307969392423632144
84503547763156702553900654231179201534649779290662
41508328858395290542637687668968805033317227800185
88506973623240389470047189761934734430843744375992
50341788079722358591342458131440498477017323616947
19765715353197754997162785663119046912609182591249
89036765417697990362375528652637573376352696934435
44004730671988689019681474287677908669796885225016
36949856730217523132529265375896415171479559538784
27849986645630287883196209983049451987439636907068
27626574858104391122326187940599415540632701319898
95703761105323606298674803779153767511583043208498
72092028092975264981256916342500052290887264692528
46661046653921714820801305022980526378364269597337
07053922789153510568883938113249757071331029504430
34671598944878684711643832805069250776627450012200
35262037094660234146489983902525888301486781621967
75194583167718762757200505439794412459900771152051
54619930509838698254284640725554092740313257163264
07929341833421470904125425335232480219322770753555
46795871638358750181593387174236061551171013123525
63348582036514614187004920570437201826173319471570
08675785393360786227395581857975872587441025420771
05475361294047460100094095444959662881486915903899
07186598056361713769222729076419775517772010427649
69496110562205925024202177042696221549587264539892
27697660310524980855759471631075870133208861463266
41259114863388122028444069416948826152957762532501
98703598706743804698219420563812558334364219492322
75937221289056420943082352544084110864545369404969
27149400331978286131818618881111840825786592875742
63844500599442295685864604810330153889114994869354
36030221810943466764000022362550573631294626296096
19876056425996394613869233083719626595473923462413
45977957485246478379807956931986508159776753505539
18991151335252298736112779182748542008689539658359
42196333150286956119201229888988700607999279541118
82690230789131076036176347794894320321027733594169
08650071932804017163840644987871753756781185321328
40821657110754952829497493621460821558320568723218
55740651610962748743750980922302116099826330339154
69494644491004515280925089745074896760324090768983
65294065792019831526541065813682379198409064571246
89484702093577611931399802468134052003947819498662
02624008902150166163813538381515037735022966074627
95291038406868556907015751662419298724448271942933
10048548244545807188976330032325258215812803274679
62002814762431828622171054352898348208273451680186
13171959332471107466222850871066611770346535283957
76259977446721857158161264111432717943478859908928
08486694914139097716736900277758502686646540565950
39486784111079011610400857274456293842549416759460
54871172359464291058509099502149587931121961359083
15882620682332156153086833730838173279328196983875
08708348388046388478441884003184712697454370937329
83624028751979208023218787448828728437273780178270
08058782410749357514889978911739746129320351081432
70325140903048746226294234432757126008664250833318
76886507564292716055252895449215376517514921963671
81049435317858383453865255656640657251363575064353
23650893679043170259787817719031486796384082881020
94614900797151377170990619549696400708676671023300
48672631475510537231757114322317411411680622864206
38890621019235522354671166213749969326932173704310
59872250394565749246169782609702533594750209138366
73772894438696400028110344026084712899000746807764
84408871134135250336787731679770937277868216611786
53442317322646378476978751443320953400016506921305
46476890985050203015044880834261845208730530973189
49291642532293361243151430657826407028389840984160
29503092418971209716016492656134134334222988279099
21786042679812457285345801338260995877178113102167
34025656274400729683406619848067661580502169183372
36803990279316064204368120799003162644491461902194
58229690992122788553948783538305646864881655562294
31567312827439082645061162894280350166133669782405
17701552196265227254558507386405852998303791803504
32876703809252167907571204061237596327685674845079
15114731344000183257034492090971243580944790046249
43134550289006806487042935340374360326258205357901
18395649089354345101342969617545249573960621490288
72893279252069653538639644322538832752249960598697
47598823299162635459733244451637553343774929289905
81175786355555626937426910947117002165411718219750
51983178713710605106379555858890556885288798908475
09157646390746936198815078146852621332524738376511
92990156109189777922008705793396463827490680698769
16819749236562422608715417610043060890437797667851
96618914041449252704808819714988015420577870065215
94009289777601330756847966992955433656139847738060
39436889588764605498387147896848280538470173087111
77611596635050399793438693391197898871091565417091
33082607647406305711411098839388095481437828474528
83836807941888434266622207043872288741394780101772
13922819119923654055163958934742639538248296090369
00288359327745855060801317988407162446563997948275
78365019551422155133928197822698427863839167971509
12624105487257009240700454884856929504481107380879
96547481568913935380943474556972128919827177020766
61360248958146811913361412125878389557735719498631
72108443989014239484966592517313881716026632619310
65366535041473070804414939169363262373767777095850
31325599009576273195730864804246770121232702053374
26670531424482081681303063973787366424836725398374
87690980602182785786216512738563513290148903509883
27061725893257536399397905572917516009761545904477
16922658063151110280384360173747421524760851520990
16158582312571590733421736576267142390478279587281
50509563309280266845893764964977023297364131906098
27406335310897924642421345837409011693919642504591
28813403498810635400887596820054408364386516617880
55760895689672753153808194207733259791727843762566
11843198910250074918290864751497940031607038455494
65385946027452447466812314687943441610993338908992
63841184742525704457251745932573898956518571657596
14812660203107976282541655905060424791140169579003
38356574869252800743025623419498286467914476322774
00552946090394017753633565547193100017543004750471
91448998410400158679461792416100164547165513370740
73950260442769538553834397550548871099785205401175
16974758134492607943368954378322117245068734423198
98788441285420647428097356258070669831069799352606
93392135685881391214807354728463227784908087002467
77630360555123238665629517885371967303463470122293
95816067925091532174890308408865160611190114984434
12350124646928028805996134283511884715449771278473
36176628506216977871774382436256571177945006447771
83702219991066950216567576440449979407650379999548
45002710665987813603802314126836905783190460792765
29727769404361302305178708054651154246939526512710
10529270703066730244471259739399505146284047674313
63739978259184541176413327906460636584152927019030
27601733947486696034869497654175242930604072700505
90395031485229213925755948450788679779252539317651
56416197168443524369794447355964260633391055126826
06159572621703669850647328126672452198906054988028
07828814297963366967441248059821921463395657457221
02298677599746738126069367069134081559412016115960
19023775352555630060624798326124988128819293734347
68626892192397778339107331065882568137771723283153
29082525092733047850724977139448333892552081175608
45296659055394096556854170600117985729381399825831
92936791003918440992865756059935989100029698644609
74714718470101531283762631146774209145574041815908
80006494323785583930853082830547607679952435739163
12218860575496738322431956506554608528812019023636
44712703748634421727257879503428486312944916318475
34753143504139209610879605773098720135248407505763
71992536504709085825139368634638633680428917671076
02111159828875539940120076013947033661793715396306
13986365549221374159790511908358829009765664730073
38793146789131814651093167615758213514248604422924
45304113160652700974330088499034675405518640677342
60358340960860553374736276093565885310976099423834
73822220872924644976845605795625167655740884103217
31345627735856052358236389532038534024842273371639
12397321599544082842166663602329654569470357718487
34420342277066538373875061692127680157661810954200
97708363604361110592409117889540338021426523948929
68643980892611463541457153519434285072135345301831
58756282757338982688985235577992957276452293915674
77566676051087887648453493636068278050564622813598
88587925994094644604170520447004631513797543173718
77560398159626475014109066588661621800382669899619
65580587208639721176995219466789857011798332440601
81157565807428418291061519391763005919431443460515
40477105700543390001824531177337189558576036071828
60506356479979004139761808955363669603162193113250
22385179167205518065926351803625121457592623836934
82226658955769946604919381124866090997981285718234
94006615552196112207203092277646200999315244273589
48871057662389469388944649509396033045434084210246
24010487233287500817491798755438793873814398942380
11762700837196053094383940063756116458560943129517
59771393539607432279248922126704580818331376416581
82695621058728924477400359470092686626596514220506
30078592002488291860839743732353849083964326147000
53242354064704208949921025040472678105908364400746
63800208701266642094571817029467522785400745085523
77720890581683918446592829417018288233014971554235
23591177481862859296760504820386434310877956289292
54056389466219482687110428281638939757117577869154
30165058602965217459581988878680408110328432739867
19862130620555985526603640504628215230615459447448
99088390819997387474529698107762014871340001225355
22246695409315213115337915798026979555710508507473
87475075806876537644578252443263804614304288923593
48529610582693821034980004052484070844035611678171
70512813378805705643450616119330424440798260377951
19854869455915205196009304127100727784930155503889
53603382619293437970818743209499141595933963681106
27557295278004254863060054523839151068998913578820
01941178653568214911852820785213012551851849371150
34221595422445119002073935396274002081104655302079
32867254740543652717595893500716336076321614725815
40764205302004534018357233829266191530835409512022
63291650544261236191970516138393573266937601569144
29944943744856809775696303129588719161129294681884
93633864739274760122696415884890096571708616059814
72044674286642087653347998582220906198021732116142
30419477754990738738567941189824660913091691772274
20723336763503267834058630193019324299639720444517
92881228544782119535308989101253429755247276357302
26281382091807439748671453590778633530160821559911
31414420509144729353502223081719366350934686585865
63148555758624478186201087118897606529698992693281
78705576435143382060141077329261063431525337182243
38526352021773544071528189813769875515757454693972
71504884697936195004777209705617939138289898453274
26227288647108883270173723258818244658436249580592
56033810521560620615571329915608489206434030339526
22634514542836786982880742514225674518061841495646
86111635404971897682154227722479474033571527436819
40989205011365340012384671429655186734415374161504
25632567134302476551252192180357801692403266995417
46087592409207004669340396510178134857835694440760
47023254075555776472845075182689041829396611331016
01311190773986324627782190236506603740416067249624
90137433217246454097412995570529142438208076098364
82346597388669134991978401310801558134397919485283
04367390124820824448141280954437738983200598649091
59505322857914576884962578665885999179867520554558
09900455646117875524937012455321717019428288461740
27366499784755082942280202329012216301023097721515
69446427909802190826689868834263071609207914085197
69523555348865774342527753119724743087304361951139
61190800302558783876442060850447306312992778889427
29189727169890575925244679660189707482960949190648
76469370275077386643239191904225429023531892337729
31667360869962280325571853089192844038050710300647
76847863243191000223929785255372375566213644740096
76053943983823576460699246526008909062410590421545
39279044115295803453345002562441010063595300395988
64466169595626351878060688513723462707997327233134
69397145628554261546765063246567662027924520858134
77176085216913409465203076733918411475041401689241
21319826881568664561485380287539331160232292555618
94104299533564009578649534093511526645402441877594
93169305604486864208627572011723195264050230997745
67647838488973464317215980626787671838005247696884
08498918508614900343240347674268624595239589035858
21350064509981782446360873177543788596776729195261
11213859194725451400301180503437875277664402762618
94101757687268042817662386068047788524288743025914
52470739505465251353394595987896197789110418902929
43818567205070964606263541732944649576612651953495
70186001541262396228641389779673332907056737696215
64981845068422636903678495559700260798679962610190
39331263768556968767029295371162528005543100786408
72893922571451248113577862766490242516199027747109
03359333093049483805978566288447874414698414990671
23764789582263294904679812089984857163571087831191
84863025450162092980582920833481363840542172005612
19893536693713367333924644161252231969434712064173
75491216357008573694397305979709719726666642267431
11776217640306868131035189911227133972403688700099
68629225464650063852886203938005047782769128356033
72548255793912985251506829969107754257647488325341
41213280062671709400909822352965795799780301828242
84902214707481111240186076134151503875698309186527
80658896682362523937845272634530420418802508442363
19038331838455052236799235775292910692504326144695
01098610888999146585518818735825281643025209392852
58077969737620845637482114433988162710031703151334
40230952635192958868069082135585368016100021374085
11544849126858412686958991741491338205784928006982
55195740201818105641297250836070356851055331787840
82900004155251186577945396331753853209214972052660
78312602819611648580986845875251299974040927976831
76639914655386108937587952214971731728131517932904
43112181587102351874075722210012376872194474720934
93123241070650806185623725267325407333248757544829
67573450019321902199119960797989373383673242576103
93898534927877747398050808001554476406105352220232
54094435677187945654304067358964910176107759483645
40823486130254718476485189575836674399791508512858
02060782055446299172320202822291488695939972997429
74711553718589242384938558585954074381048826246487
88053304271463011941589896328792678327322456103852
19701113046658710050008328517731177648973523092666
12345888731028835156264460236719966445547276083101
18788389151149340939344750073025855814756190881398
75235781233134227986650352272536717123075686104500
45489703600795698276263923441071465848957802414081
58405229536937499710665594894459246286619963556350
65262340533943914211127181069105229002465742360413