321211005859920226897633942555321047602213834822757271198739194675179736022086119479951014987371627531397257582635659578933576809498752826639052381025533859027656991789862935064944884858584880808584419928344347291487205015931388560629846511825531171332382628007311966640942114847438497941926808302271875094150988283475033912787426732168923043026046037552251343279630947143364494154201821419846617019777904892831020610169371397785352991066850850062590457721849641728789992136787709040564805448260502079954875155440839816392861237861261838932960985561539112143029429945822864513868929106073565295405775942577089906780613473561227504721359993262292745252833676312767316958485984188255718047847727244941112481420416895084659174836244933248582437427500351682688078625053177731591594389733727443039586818894568512787081566984619772583081513087322732546375558387946853374067190664825164847869364456220883040577384123237212385818842518517388948145527323823686968918244532664139018429935715100656676887257101155927621515552479841537042057748786081511050346610255570269572522663362528578084801695816381155560002785920990031686476182028742074559868512723982406950113042542581467473546516658318062626817265290334086998555145479559236304285365860161554697667868185117339072719890333501689815333786927621355243653399160575925342602540658519397233826144439379218658480222423663863656284451490515034712338337873273229884808672005872547438754055644319711836687164177068556870366234551294970594248449225579092812859803718503880554613897372211778598951522313606536652813179124381474053889789334436472573681775789470354092989671360298229900945610204780742371498364606590313148249498351480568022518678409079634727939456355181436695054353843231382480586555401881393932628517568237156663132312988690884355019174886975814451692748915947367057977876616716954363375779953128787390388817666515243624553566042928123750224926837843549728168629198092164967455174837646615511334919739628233140468729876489145796566436553534234838127774372975292774615121383995213406296572342796558074192015968461978507318032279547969828014869644084641100503333961184598982581794844366043737811356532722916477523215591955994580966005447996902713493934722539413444050001481909197778971180488672775567044836954188976255411576171998800598332971477881932792961534128269821587166135397283348324563008162699454518494190169824482117411636279737405993374290030089855998945966517752688062257740519798589310762720625555990278793655364696282091187343472761249406600887158310543730825444864116829751448031834653027424215393909777452226402337811662259649530259239298381071564564600233327704251527153927902372913027834562231488924778428799696439325744516581315241059200257252125023690879848573193550558874658887448454584995136493941791890228942560165788197656454394094474344597289928635480732256940277671888982832088323937240581555412637089379230434969191527881646257359152797128575149432878173842897176617599313810102023329173411382213175768873879479715669643567350921410873808792110454505181592863703443899168432599347333423266616925801657713227409181657499677210162526346186245763408011791961275843049026617253325455900578532168203227295939625797744462489281825983917446851988687352060907784280157352804753332251037618875983774151966728559771494384751451469645677168198824462241731343880382137128453118944643631725694238886839402497861077758681854059441191361107026608867251787815166517899141898727426358358012744642781972934709381768817334185255948501687725897139888863184838478795952487230328109346947123725154002819940335451062798866117747805156535402868506630683956440395801996500922664632128229621394528278213914944640592321848794299179259642423579998940881159051526196170497852381387723535428251773114848238844188042439313753164734669708589652954298278541657803129105729781538171152366179931976917592282116142699443067105035483957539413991791006500948670376562161822807252504313096199871856399034402780115926608811838383211261439533000922920247295295335149624534895431749785950361863091919223957313593712887428482438554313853160371726391511369723872283407598467916198732152412171578758732695826202764817559924824324115753291249448642277242753976212406880269229469692812944495173937936080873338383033808171546772689002067883953472188553333627108968127256080876821232307531458832066820421505424886079928382915721804188730976894769078976512316644239410817268180732999151763649409753218746525747283132297197096524819948163957143024032379678995332765445185417963400478975971621973436148378286164248428897927654521887239555617081835414065047682958534284014619471466071722761926894493791096193550582868109956700516966227776984806478467225629077177366131796832188343703186634730874553236644803510733886516426456075801098197849899489361590232606770947635627501789834803447868161852491979548513458120120765877383573905656975033969733994553948135323099727961021314127391643596178334696846568353212825283095895383622588341099504291474289539278297969230768809844207924932973727840903210424884071363174147134905855651891953018252911203071986904449735967211632323785090647667983679645471472647199549598829969484685321912084514857847081726828866079275455083128220363170914067594510927526351741232045582076724478374454706823891897292751629564575633199320680328282690269650093331464365188683576908944812512188699433583061667836324292737164925819062703394478731667013102689144338826392725711383031137405379564670053842673588810094309688182446525658686763853472336847444449337601440709370484109371384233107695784915121684500851709592439983620744933011991428014382197062056733419895661070858410085282426818647482570895573678952545779924218979810386853822869607554301645702337144022734898606751917397971713722968147933057322424510058681563640070057930159654653257320893801995632210164554442592553169471925614427893044615