244078479874288148675064654339811621505758047866905636823434923212899477339657248936578368382427867526487169365969493220217950165725387933793039900025036672495252973708644947321489791354193584922280417746966357991925313869330759948091915244823392447452787866875374851971154235353391566186226173552737120958481852154167243807181156958453279480173306788457241783671975319443864843838818769423913471086782687061109458901938183006649448939998333590979690221258152026420586412924537182923802857539437018580905114636211371386631945461632474336830129572820834950409317239024292295595969763901152058975379952093212582649351128969124769442673228697017202408928853427564587558433319142489636789923402484567448113190621779932384174098567384439569934586861720590089923063917894444507833314117457075129449055899371264461643666238355914916674207977141613674629686662403623624756929226725350507528260971477267679470960779385464234283868833911393688323469941564698130442518669381717323335461358724469985429306826646832979467787128094794807788472728747172569435191899443763025849825367968658674836462513525155083900473747337191740339509957496088143118354049138936071941575688211136852447081058659740628665339378569734687902821898097907615758397183944468411191398273165061214936161846803312742852072444456395306118196899742069980452641493819482523560650773407037874075661957825923680327778251826951268974752794225164499753776590114915645817416462929451368083193452617154704704265272815053757636933867362174787032265465427403618739924048392951087413234700066269790541412478551504198249171744032445318294070715759691177990979240546020502618558798222356846400268573255816792844853018476892392118733918728564490982786249058568817656264664199895299792286162723238767129523352412379914579448079524293785941435801885391876324541982462715918408279941764648745254013224362776367826514343411918013077277465679874478198458381888768499717646357217161920723804635358768031556493555327872828853288862927335894650663251079275128914177545397965124229627721251625226366421761650296506725156057807954467053084920370144999289894784944972618675136679359648621461565466745093190327558419516243058445601921130129894575362532591997703717146167893174101169577221189017321216686294482662704559409458395169586457233028863889976585685399793475493926670785867545683858754418428506244766819721431184331531782007667867107226675648308497753066122035519944218520654157348951827516352628890047979769350959200802378414505713665652821824692803252360371973346926164232762331562748653545867508950250388381489164104836202741718769577112147749112597264211453658457783755316520350237165878348310512633443095695137793960266718147750527538810468697539995069586910889251482936138461668256701344374244246694818436926168030327928411548322722852971836373708293743690294666236821065978114670115819813753189498395050302384966788615117990960490068117004249188819664260767172664862978178053232035518664727205886287141005085710663182404548068474216482226009851231695512089157224933296468827419455230513166433279711488436234183727958034520725511726657191215237435523494380787649743986717141911910902566172596588752110919896900914172362881177957380339814298215405145940992668502910999939289802144556939693294120227519331913594070110727589118268145611866166988462834021249017315028704334637798099643223871450257950573566956764287345873779963614359734692991682861050287503668417730412080208188880630965913955270821483224349454620714856883846971823542986285252279364501069860629411681600170445302187518398145837621897361530038319364082188341145336107163870712661803664435665772674772970892950309995941318777550038418449965476203043249417594023612342137279911660831436752185437116344490856873818114811486310280714124904888657184988810775988927426882069578159673385010149008992321341454110564874583602199766886508348954018838806936052262185967140986583684350931645512018648781259481051112565799115491489293949587163128769229645767223561326375852142998887607731892486385136089652429448659137966826819558598872492112567753109646743657849970300979265561483820969226324555781681334666265432723551631578550213851668623648443488738787777449291715708499961689635238940521682901649310669708633110164211432138560773792428980790718171598858715483406423453059714974089901932145027992358823282356085624273407632519213721241393592173567003947804255574135848311047115304794637519527485212762668117613135622647678913083712722826051775308997022261977935736243916163827257989671997674915369566821089634166273010078074769623969034973596616981968198197143740951360897637269201202477673928619408436729417783891887394973163417356266730947112578194444611421102717335064374257173938866972420951192699810052035166592446492291128413061533883437571186779253940256560819990087295767368296157342352029179083184639646579614325612731178869532028633802560219643290882334234787494519165924381244928219102491660391296845831495028155567702638649280945726782021303335163747478692171171046299441659185026165383178697522520481581249100973193464631347441531967950399646458933950614992813790399583353519667573362253999647918651289192598856152241848621069750709971185822135180299583904763105128084948942611195092435734477246906997760622213598232260618027660155164257501950928702379656308318380187588922258485092127719683115528185202151905121944368623791430254711740168225068757363825560233188487694091402586517850689247946456238769650942732717645469930916306730841621367342696540204127587520627661883176815537126169865578957649653476344579307551625340659846724465245407561640940816525340931517812629516613527767239172016283781844231520369995972798936877277399898643395952759898068251334478263310064327120581887077397260385251076719643995284718672852318079926732829374354579807025686164317815038530788572589434756884887213574794546894493770669663464895867106588