フィボナッチ数列

last updated: 2016-12-28

このページについて

Gauche 0.9.3 にて実装された遅延シーケンス機能を使って、フィボナッチ数を求めてみる。

なお、総称関数 map-with-index を使い、n 番目のフィボナッチ数 Fn を表示している。

;; Gauche Users' Reference: 6.19 Lazy evaluation
;; http://practical-scheme.net/gauche/man/gauche-refe_57.html

(use gauche.lazy)
(use gauche.sequence)

(define *fibs*
  (lcons* 0 1 1 (lmap (^[a b] (+ a (* b 2))) *fibs* (cdr *fibs*))))

(define (fibonacci-sequence n)
  (take *fibs* n))
(use gauche.time)

(time-this 1 (lambda () (fibonacci-sequence 500)))
; #<time-result 1 times/  0.000 real/  0.000 user/  0.000 sys>
(time-this 1 (lambda () (fibonacci-sequence 100000)))
; #<time-result 1 times/  1.958 real/  1.485 user/  0.453 sys>

一覧表

nFn
00
11
21
32
43
55
68
713
821
934
1055
1189
12144
13233
14377
15610
16987
171597
182584
194181
206765
2110946
2217711
2328657
2446368
2575025
26121393
27196418
28317811
29514229
30832040
311346269
322178309
333524578
345702887
359227465
3614930352
3724157817
3839088169
3963245986
40102334155
41165580141
42267914296
43433494437
44701408733
451134903170
461836311903
472971215073
484807526976
497778742049
5012586269025
5120365011074
5232951280099
5353316291173
5486267571272
55139583862445
56225851433717
57365435296162
58591286729879
59956722026041
601548008755920
612504730781961
624052739537881
636557470319842
6410610209857723
6517167680177565
6627777890035288
6744945570212853
6872723460248141
69117669030460994
70190392490709135
71308061521170129
72498454011879264
73806515533049393
741304969544928657
752111485077978050
763416454622906707
775527939700884757
788944394323791464
7914472334024676221
8023416728348467685
8137889062373143906
8261305790721611591
8399194853094755497
84160500643816367088
85259695496911122585
86420196140727489673
87679891637638612258
881100087778366101931
891779979416004714189
902880067194370816120
914660046610375530309
927540113804746346429
9312200160415121876738
9419740274219868223167
9531940434634990099905
9651680708854858323072
9783621143489848422977
98135301852344706746049
99218922995834555169026
100354224848179261915075
101573147844013817084101
102927372692193078999176
1031500520536206896083277
1042427893228399975082453
1053928413764606871165730
1066356306993006846248183
10710284720757613717413913
10816641027750620563662096
10926925748508234281076009
11043566776258854844738105
11170492524767089125814114
112114059301025943970552219
113184551825793033096366333
114298611126818977066918552
115483162952612010163284885
116781774079430987230203437
1171264937032042997393488322
1182046711111473984623691759
1193311648143516982017180081
1205358359254990966640871840
1218670007398507948658051921
12214028366653498915298923761
12322698374052006863956975682
12436726740705505779255899443
12559425114757512643212875125
12696151855463018422468774568
127155576970220531065681649693
128251728825683549488150424261
129407305795904080553832073954
130659034621587630041982498215
1311066340417491710595814572169
1321725375039079340637797070384
1332791715456571051233611642553
1344517090495650391871408712937
1357308805952221443105020355490
13611825896447871834976429068427
13719134702400093278081449423917
13830960598847965113057878492344
13950095301248058391139327916261
14081055900096023504197206408605
141131151201344081895336534324866
142212207101440105399533740733471
143343358302784187294870275058337
144555565404224292694404015791808
145898923707008479989274290850145
1461454489111232772683678306641953
1472353412818241252672952597492098
1483807901929474025356630904134051
1496161314747715278029583501626149
1509969216677189303386214405760200
15116130531424904581415797907386349
15226099748102093884802012313146549
15342230279526998466217810220532898
15468330027629092351019822533679447
155110560307156090817237632754212345
156178890334785183168257455287891792
157289450641941273985495088042104137
158468340976726457153752543329995929
159757791618667731139247631372100066
1601226132595394188293000174702095995
1611983924214061919432247806074196061
1623210056809456107725247980776292056
1635193981023518027157495786850488117
1648404037832974134882743767626780173
16513598018856492162040239554477268290
16622002056689466296922983322104048463
16735600075545958458963222876581316753
16857602132235424755886206198685365216
16993202207781383214849429075266681969
170150804340016807970735635273952047185
171244006547798191185585064349218729154
172394810887814999156320699623170776339
173638817435613190341905763972389505493
1741033628323428189498226463595560281832
1751672445759041379840132227567949787325
1762706074082469569338358691163510069157
1774378519841510949178490918731459856482
1787084593923980518516849609894969925639
17911463113765491467695340528626429782121
18018547707689471986212190138521399707760
18130010821454963453907530667147829489881
18248558529144435440119720805669229197641
18378569350599398894027251472817058687522
184127127879743834334146972278486287885163
185205697230343233228174223751303346572685
186332825110087067562321196029789634457848
187538522340430300790495419781092981030533
188871347450517368352816615810882615488381
1891409869790947669143312035591975596518914
1902281217241465037496128651402858212007295
1913691087032412706639440686994833808526209
1925972304273877744135569338397692020533504
1939663391306290450775010025392525829059713
19415635695580168194910579363790217849593217
19525299086886458645685589389182743678652930
19640934782466626840596168752972961528246147
19766233869353085486281758142155705206899077
198107168651819712326877926895128666735145224
199173402521172797813159685037284371942044301
200280571172992510140037611932413038677189525
201453973694165307953197296969697410619233826
202734544867157818093234908902110449296423351
2031188518561323126046432205871807859915657177
2041923063428480944139667114773918309212080528
2053111581989804070186099320645726169127737705
2065034645418285014325766435419644478339818233
2078146227408089084511865756065370647467555938
20813180872826374098837632191485015125807374171
20921327100234463183349497947550385773274930109
21034507973060837282187130139035400899082304280
21155835073295300465536628086585786672357234389
21290343046356137747723758225621187571439538669
213146178119651438213260386312206974243796773058
214236521166007575960984144537828161815236311727
215382699285659014174244530850035136059033084785
216619220451666590135228675387863297874269396512
2171001919737325604309473206237898433933302481297
2181621140188992194444701881625761731807571877809
2192623059926317798754175087863660165740874359106
2204244200115309993198876969489421897548446236915
2216867260041627791953052057353082063289320596021
22211111460156937785151929026842503960837766832936
22317978720198565577104981084195586024127087428957
22429090180355503362256910111038089984964854261893
22547068900554068939361891195233676009091941690850
22676159080909572301618801306271765994056795952743
227123227981463641240980692501505442003148737643593
228199387062373213542599493807777207997205533596336
229322615043836854783580186309282650000354271239929
230522002106210068326179680117059857997559804836265
231844617150046923109759866426342507997914076076194
2321366619256256991435939546543402365995473880912459
2332211236406303914545699412969744873993387956988653
2343577855662560905981638959513147239988861837901112
2355789092068864820527338372482892113982249794889765
2369366947731425726508977331996039353971111632790877
23715156039800290547036315704478931467953361427680642
23824522987531716273545293036474970821924473060471519
23939679027332006820581608740953902289877834488152161
24064202014863723094126901777428873111802307548623680
241103881042195729914708510518382775401680142036775841
242168083057059453008835412295811648513482449585399521
243271964099255182923543922814194423915162591622175362
244440047156314635932379335110006072428645041207574883
245712011255569818855923257924200496343807632829750245
2461152058411884454788302593034206568772452674037325128
2471864069667454273644225850958407065116260306867075373
2483016128079338728432528443992613633888712980904400501
2494880197746793002076754294951020699004973287771475874
2507896325826131730509282738943634332893686268675876375
25112776523572924732586037033894655031898659556447352249
25220672849399056463095319772838289364792345825123228624
25333449372971981195681356806732944396691005381570580873
25454122222371037658776676579571233761483351206693809497
25587571595343018854458033386304178158174356588264390370
256141693817714056513234709965875411919657707794958199867
257229265413057075367692743352179590077832064383222590237
258370959230771131880927453318055001997489772178180790104
259600224643828207248620196670234592075321836561403380341
260971183874599339129547649988289594072811608739584170445
2611571408518427546378167846658524186148133445300987550786
2622542592393026885507715496646813780220945054040571721231
2634114000911454431885883343305337966369078499341559272017
2646656593304481317393598839952151746590023553382130993248
26510770594215935749279482183257489712959102052723690265265
26617427187520417066673081023209641459549125606105821258513
26728197781736352815952563206467131172508227658829511523778
26845624969256769882625644229676772632057353264935332782291
26973822750993122698578207436143903804565580923764844306069
270119447720249892581203851665820676436622934188700177088360
271193270471243015279782059101964580241188515112465021394429
272312718191492907860985910767785256677811449301165198482789
273505988662735923140767969869749836918999964413630219877218
274818706854228831001753880637535093596811413714795418360007
2751324695516964754142521850507284930515811378128425638237225
2762143402371193585144275731144820024112622791843221056597232
2773468097888158339286797581652104954628434169971646694834457
2785611500259351924431073312796924978741056961814867751431689
2799079598147510263717870894449029933369491131786514446266146
28014691098406862188148944207245954912110548093601382197697835
28123770696554372451866815101694984845480039225387896643963981
28238461794961234640015759308940939757590587318989278841661816
28362232491515607091882574410635924603070626544377175485625797
284100694286476841731898333719576864360661213863366454327287613
285162926777992448823780908130212788963731840407743629812913410
286263621064469290555679241849789653324393054271110084140201023
287426547842461739379460149980002442288124894678853713953114433
288690168906931029935139391829792095612517948949963798093315456
2891116716749392769314599541809794537900642843628817512046429889
2901806885656323799249738933639586633513160792578781310139745345
2912923602405716568564338475449381171413803636207598822186175234
2924730488062040367814077409088967804926964428786380132325920579
2937654090467756936378415884538348976340768064993978954512095813
29412384578529797304192493293627316781267732493780359086838016392
29520038668997554240570909178165665757608500558774338041350112205
29632423247527351544763402471792982538876233052554697128188128597
29752461916524905785334311649958648296484733611329035169538240802
29884885164052257330097714121751630835360966663883732297726369399
299137347080577163115432025771710279131845700275212767467264610201
300222232244629420445529739893461909967206666939096499764990979600
301359579325206583560961765665172189099052367214309267232255589801
302581811569836004006491505558634099066259034153405766997246569401
303941390895042587567453271223806288165311401367715034229502159202
3041523202464878591573944776782440387231570435521120801226748728603
3052464593359921179141398048006246675396881836888835835456250887805
3063987795824799770715342824788687062628452272409956636682999616408
3076452389184720949856740872794933738025334109298792472139250504213
30810440185009520720572083697583620800653786381708749108822250120621
30916892574194241670428824570378554538679120491007541580961500624834
31027332759203762391000908267962175339332906872716290689783750745455
31144225333398004061429732838340729878012027363723832270745251370289
31271558092601766452430641106302905217344934236440122960529002115744
313115783425999770513860373944643635095356961600163955231274253486033
314187341518601536966291015050946540312701895836604078191803255601777
315303124944601307480151388995590175408058857436768033423077509087810
316490466463202844446442404046536715720760753273372111614880764689587
317793591407804151926593793042126891128819610710140145037958273777397
3181284057871006996373036197088663606849580363983512256652839038466984
3192077649278811148299629990130790497978399974693652401690797312244381
3203361707149818144672666187219454104827980338677164658343636350711365
3215439356428629292972296177350244602806380313370817060034433662955746
3228801063578447437644962364569698707634360652047981718378070013667111
32314240420007076730617258541919943310440740965418798778412503676622857
32423041483585524168262220906489642018075101617466780496790573690289968
32537281903592600898879479448409585328515842582885579275203077366912825
32660323387178125067141700354899227346590944200352359771993651057202793
32797605290770725966021179803308812675106786783237939047196728424115618
328157928677948851033162880158208040021697730983590298819190379481318411
329255533968719576999184059961516852696804517766828237866387107905434029
330413462646668428032346940119724892718502248750418536685577487386752440
331668996615388005031531000081241745415306766517246774551964595292186469
3321082459262056433063877940200966638133809015267665311237542082678938909
3331751455877444438095408940282208383549115781784912085789506677971125378
3342833915139500871159286880483175021682924797052577397027048760650064287
3354585371016945309254695820765383405232040578837489482816555438621189665
3367419286156446180413982701248558426914965375890066879843604199271253952
33712004657173391489668678522013941832147005954727556362660159637892443617
33819423943329837670082661223262500259061971330617623242503763837163697569
33931428600503229159751339745276442091208977285345179605163923475056141186
34050852543833066829834000968538942350270948615962802847667687312219838755
34182281144336295989585340713815384441479925901307982452831610787275979941
342133133688169362819419341682354326791750874517270785300499298099495818696
343215414832505658809004682396169711233230800418578767753330908886771798637
344348548520675021628424024078524038024981674935849553053830206986267617333
345563963353180680437428706474693749258212475354428320807161115873039415970
346912511873855702065852730553217787283194150290277873860991322859307033303
3471476475227036382503281437027911536541406625644706194668152438732346449273
3482388987100892084569134167581129323824600775934984068529143761591653482576
3493865462327928467072415604609040860366007401579690263197296200323999931849
3506254449428820551641549772190170184190608177514674331726439961915653414425
35110119911756749018713965376799211044556615579094364594923736162239653346274
35216374361185569570355515148989381228747223756609038926650176124155306760699
35326494272942318589069480525788592273303839335703403521573912286394960106973
35442868634127888159424995674777973502051063092312442448224088410550266867672
35569362907070206748494476200566565775354902428015845969798000696945226974645
356112231541198094907919471875344539277405965520328288418022089107495493842317
357181594448268301656413948075911105052760867948344134387820089804440720816962
358293825989466396564333419951255644330166833468672422805842178911936214659279
359475420437734698220747368027166749382927701417016557193662268716376935476241
360769246427201094785080787978422393713094534885688979999504447628313150135520
3611244666864935793005828156005589143096022236302705537193166716344690085611761
3622013913292136887790908943984011536809116771188394517192671163973003235747281
3633258580157072680796737099989600679905139007491100054385837880317693321359042
3645272493449209568587646043973612216714255778679494571578509044290696557106323
3658531073606282249384383143963212896619394786170594625964346924608389878465365
36613803567055491817972029187936825113333650564850089197542855968899086435571688
36722334640661774067356412331900038009953045351020683823507202893507476314037053
36836138207717265885328441519836863123286695915870773021050058862406562749608741
36958472848379039952684853851736901133239741266891456844557261755914039063645794
37094611056096305838013295371573764256526437182762229865607320618320601813254535
371153083904475345790698149223310665389766178449653686710164582374234640876900329
372247694960571651628711444594884429646292615632415916575771902992555242690154864
373400778865046997419409593818195095036058794082069603285936485366789883567055193
374648473825618649048121038413079524682351409714485519861708388359345126257210057
3751049252690665646467530632231274619718410203796555123147644873726135009824265250
3761697726516284295515651670644354144400761613511040643009353262085480136081475307
3772746979206949941983182302875628764119171817307595766156998135811615145905740557
3784444705723234237498833973519982908519933430818636409166351397897095281987215864
3797191684930184179482016276395611672639105248126232175323349533708710427892956421
38011636390653418416980850249915594581159038678944868584489700931605805709880172285
38118828075583602596462866526311206253798143927071100759813050465314516137773128706
38230464466237021013443716776226800834957182606015969344302751396920321847653300991
38349292541820623609906583302538007088755326533087070104115801862234837985426429697
38479757008057644623350300078764807923712509139103039448418553259155159833079730688
385129049549878268233256883381302815012467835672190109552534355121389997818506160385
386208806557935912856607183460067622936180344811293149000952908380545157651585891073
387337856107814181089864066841370437948648180483483258553487263501935155470092051458
388546662665750093946471250301438060884828525294776407554440171882480313121677942531
389884518773564275036335317142808498833476705778259666107927435384415468591769993989
3901431181439314368982806567444246559718305231073036073662367607266895781713447936520
3912315700212878644019141884587055058551781936851295739770295042651311250305217930509
3923746881652193013001948452031301618270087167924331813432662649918207032018665867029
3936062581865071657021090336618356676821869104775627553202957692569518282323883797538
3949809463517264670023038788649658295091956272699959366635620342487725314342549664567
39515872045382336327044129125268014971913825377475586919838578035057243596666433462105
39625681508899600997067167913917673267005781650175546286474198377544968911008983126672
39741553554281937324111297039185688238919607027651133206312776412602212507675416588777
39867235063181538321178464953103361505925388677826679492786974790147181418684399715449
399108788617463475645289761992289049744844995705477812699099751202749393926359816304226
400176023680645013966468226945392411250770384383304492191886725992896575345044216019675
401284812298108489611757988937681460995615380088782304890986477195645969271404032323901
402460835978753503578226215883073872246385764472086797082873203188542544616448248343576
403745648276861993189984204820755333242001144560869101973859680384188513887852280667477
4041206484255615496768210420703829205488386909032955899056732883572731058504300529011053
4051952132532477489958194625524584538730388053593825001030592563956919572392152809678530
4063158616788092986726405046228413744218774962626780900087325447529650630896453338689583
4075110749320570476684599671752998282949163016220605901117918011486570203288606148368113
4088269366108663463411004717981412027167937978847386801205243459016220834185059487057696
40913380115429233940095604389734410310117100995067992702323161470502791037473665635425809
41021649481537897403506609107715822337285038973915379503528404929519011871658725122483505
41135029596967131343602213497450232647402139968983372205851566400021802909132390757909314
41256679078505028747108822605166054984687178942898751709379971329540814780791115880392819
41391708675472160090711036102616287632089318911882123915231537729562617689923506638302133
414148387753977188837819858707782342616776497854780875624611509059103432470714622518694952
415240096429449348928530894810398630248865816766662999539843046788666050160638129156997085
416388484183426537766350753518180972865642314621443875164454555847769482631352751675692037
417628580612875886694881648328579603114508131388106874704297602636435532791990880832689122
4181017064796302424461232401846760575980150446009550749868752158484205015423343632508381159
4191645645409178311156114050175340179094658577397657624573049761120640548215334513341070281
4202662710205480735617346452022100755074809023407208374441801919604845563638678145849451440
4214308355614659046773460502197440934169467600804865999014851680725486111854012659190521721
4226971065820139782390806954219541689244276624212074373456653600330331675492690805039973161
42311279421434798829164267456416982623413744225016940372471505281055817787346703464230494882
42418250487254938611555074410636524312658020849229014745928158881386149462839394269270468043
42529529908689737440719341867053506936071765074245955118399664162441967250186097733500962925
42647780395944676052274416277690031248729785923474969864327823043828116713025492002771430968
42777310304634413492993758144743538184801550997720924982727487206270083963211589736272393893
428125090700579089545268174422433569433531336921195894847055310250098200676237081739043824861
429202401005213503038261932567177107618332887918916819829782797456368284639448671475316218754
430327491705792592583530106989610677051864224840112714676838107706466485315685753214360043615
431529892711006095621792039556787784670197112759029534506620905162834769955134424689676262369
432857384416798688205322146546398461722061337599142249183459012869301255270820177904036305984
4331387277127804783827114186103186246392258450358171783690079918032136025225954602593712568353
4342244661544603472032436332649584708114319787957314032873538930901437280496774780497748874337
4353631938672408255859550518752770954506578238315485816563618848933573305722729383091461442690
4365876600217011727891986851402355662620898026272799849437157779835010586219504163589210317027
4379508538889419983751537370155126617127476264588285666000776628768583891942233546680671759717
43815385139106431711643524221557482279748374290861085515437934408603594478161737710269882076744
43924893677995851695395061591712608896875850555449371181438711037372178370103971256950553836461
44040278817102283407038585813270091176624224846310456696876645445975772848265708967220435913205
44165172495098135102433647404982700073500075401759827878315356483347951218369680224170989749666
442105451312200418509472233218252791250124300248070284575192001929323724066635389191391425662871
443170623807298553611905880623235491323624375649830112453507358412671675285005069415562415412537
444276075119498972121378113841488282573748675897900397028699360341995399351640458606953841075408
445446698926797525733283994464723773897373051547730509482206718754667074636645528022516256487945
446722774046296497854662108306212056471121727445630906510906079096662473988285986629470097563353
4471169472973094023587946102770935830368494778993361415993112797851329548624931514651986354051298
4481892247019390521442608211077147886839616506438992322504018876947992022613217501281456451614651
4493061719992484545030554313848083717208111285432353738497131674799321571238149015933442805665949
4504953967011875066473162524925231604047727791871346061001150551747313593851366517214899257280600
4518015687004359611503716838773315321255839077303699799498282226546635165089515533148342062946549
45212969654016234677976879363698546925303566869175045860499432778293948758940882050363241320227149
45320985341020594289480596202471862246559405946478745659997715004840583924030397583511583383173698
45433954995036828967457475566170409171862972815653791520497147783134532682971279633874824703400847
45554940336057423256938071768642271418422378762132537180494862787975116607001677217386408086574545
45688895331094252224395547334812680590285351577786328700992010571109649289972956851261232789975392
457143835667151675481333619103454952008707730339918865881486873359084765896974634068647640876549937
458232730998245927705729166438267632598993081917705194582478883930194415186947590919908873666525329
459376566665397603187062785541722584607700812257624060463965757289279181083922224988556514543075266
460609297663643530892791951979990217206693894175329255046444641219473596270869815908465388209600595
461985864329041134079854737521712801814394706432953315510410398508752777354792040897021902752675861
4621595161992684664972646689501703019021088600608282570556855039728226373625661856805487290962276456
4632581026321725799052501427023415820835483307041235886067265438236979150980453897702509193714952317
4644176188314410464025148116525118839856571907649518456624120477965205524606115754507996484677228773
4656757214636136263077649543548534660692055214690754342691385916202184675586569652210505678392181090
46610933402950546727102797660073653500548627122340272799315506394167390200192685406718502163069409863
46717690617586682990180447203622188161240682337031027142006892310369574875779255058929007841461590953
46828624020537229717283244863695841661789309459371299941322398704536965075971940465647510004531000816
46946314638123912707463692067318029823029991796402327083329291014906539951751195524576517845992591769
47074938658661142424746936931013871484819301255773627024651689719443505027723135990224027850523592585
471121253296785055132210628998331901307849293052175954107980980734350044979474331514800545696516184354
472196191955446197556957565929345772792668594307949581132632670453793550007197467505024573547039776939
473317445252231252689168194927677674100517887360125535240613651188143594986671799019825119243555961293
474513637207677450246125760857023446893186481668075116373246321641937144993869266524849692790595738232
475831082459908702935293955784701120993704369028200651613859972830080739980541065544674812034151699525
4761344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757
4772175802127494856116713672426425688880595219724476419600966267302098624954951397614199316858899137282
4783520521795081009298133389068150256767486070420752187588072561774116509929361729683723821683646575039
4795696323922575865414847061494575945648081290145228607189038829076215134884313127297923138542545712321
4809216845717656874712980450562726202415567360565980794777111390850331644813674856981646960226192287360
48114913169640232740127827512057302148063648650711209401966150219926546779697987984279570098768737999681
48224130015357889614840807962620028350479216011277190196743261610776878424511662841261217058994930287041
48339043184998122354968635474677330498542864661988399598709411830703425204209650825540787157763668286722
48463173200356011969809443437297358849022080673265589795452673441480303628721313666802004216758598573763
485102216385354134324778078911974689347564945335253989394162085272183728832930964492342791374522266860485
486165389585710146294587522349272048196587026008519579189614758713664032461652278159144795591280865434248
487267605971064280619365601261246737544151971343773568583776843985847761294583242651487586965803132294733
488432995556774426913953123610518785740738997352293147773391602699511793756235520810632382557083997728981
489700601527838707533318724871765523284890968696066716357168446685359555050818763462119969522887130023714
4901133597084613134447271848482284309025629966048359864130560049384871348807054284272752352079971127752695
4911834198612451841980590573354049832310520934744426580487728496070230903857873047734872321602858257776409
4922967795697064976427862421836334141336150900792786444618288545455102252664927332007624673682829385529104
4934801994309516818408452995190383973646671835537213025106017041525333156522800379742496995285687643305513
4947769790006581794836315417026718114982822736329999469724305586980435409187727711750121668968517028834617
49512571784316098613244768412217102088629494571867212494830322628505768565710528091492618664254204672140130
49620341574322680408081083829243820203612317308197211964554628215486203974898255803242740333222721700974747
49732913358638779021325852241460922292241811880064424459384950843991972540608783894735358997476926373114877
49853254932961459429406936070704742495854129188261636423939579059478176515507039697978099330699648074089624
49986168291600238450732788312165664788095941068326060883324529903470149056115823592713458328176574447204501