76277381745023239603508052417566041441867195253414496878124519036466277729081593585531984457922221563005807412443133494481478393835945211643985113819772037065176556172677861943277522461860929984795768856514098267637681332635357729170611763372643463625678278724788039931557832932842664165386949442258596102124658964301133275416584576462880539346216985009977544620555882133922642430660690669759923140648388150369572716293389802057946924542954327496974552881603155951278042460536668497975826665606921473287022567759842805820137426125702812751837461216138861278692333904002897155772023758596881351707086281752275979617569976342339439839248396615832923019655787866643938413496445413954972024113271861975166389893322839901768739279132385503036836264731596989249396434303854695255290429921290174958997853273636882429404340784713607666288755535601673733978437523013199136934594911018691333356812735009445275936933549455976347969994618067226281029861529428224145258382619877280918793415512908466767521995116024658701968409423285616390394170167806343248215046059440765368946955437537556372072219593561047221242371027747299824721190271767896670250952626863212865072561395316281894458111677166151910473515180756353309943067881951582978907372451869966898545540673742366881794003379480169111735917035173331858047457927158745301532820018496470313187120980612019955938987358550324565521060788278276752185878343186521349201147664372794850899174655111634144533731767717368841967588916393693272871878281536708805852838398791496651842036937711166034695341898985871978445446527163330352787663858469213471125608596186563536150193641101478326336395891095837228609737109011318919709953538122796030953804564454608587360727879261682129177241001748861766602181059748620917773807253077403952604994691714992186387013151693431576266079462929237452887115759572284572729854529071890918447438569126677684224786133357991763917009465482829340421094259388836127941489350288164872344661669525953149191293638809627960269134444171818064826464962024558643748205596961966815895160258933484223456093213612650557311522685088330940616277361257766944123848740742747855548755436442329827288642262609662342187003764556051035695558049481408379002842328853279413360874147425686983471044360442591220627597943289210118258483952203071846141565665459811494981749708470339449204105967224544577896439761689117871830923169544851224501915393469531217823251018478591786753312767107968194198491295629305412610638539328458859747905802603656764854407965624651771289304838301910964768185717044705870097831558514610436239322548271403972261326516598340654917522533603463480398644338991799722477848261650352586355790339473176913723662505550946071747326636450292774216926147829126649632516811210317139048643253112210117091889550643892238205016279969812781831149966817065218485348448066113193138647308540682438150179329779898671015622815885197135502738166544229977764153914523604456167964062834579535608604889848571586897905647411672762017337289431861798801749462898149170130870334875223136671626119416593801201257684845595220062308150554075603387547847582235255543679325956448827454360834943945932393319466952701585559556291977536737924113145260324703220560594153750657370368266555878614135844334642438848765499878876435751864058967575751396072894012554552821872440517469146220849553103542727289261805432319241124982034696817428036934228548595347163250997879543655217913823150817469055405904611173347416676464868048323163144647475916687939679627762651580057994210285417856948836169025411770361363398588851348299626604646919889720415695919967688193226568316220477491677303292512386462879504968635511606608206359183224336211901685245633401867298058704467773968135581876695769957967590424241990744362093422853587144970225893187643098017896222325366120888381144941945150649329902664087873356554558456041393534174280229228657841354911767300339979172036082373554203484246736565889398365623709618711531714709858962587344270242523686902512516952547132332600714730593153414330189787118769176542216793311037422536345923072421645598596549848303399713059674207819794896370469942922478385922107272364101246419692592849692677894062451447116324966520438027023744116021931321847754437825723548138391653142442757558161976879565346906174180928793322616392575322026184485933983372054195702955073398059500314102380272864218515244657006778626467094342184865859277948711240632221467352023056209901712885578585923058129880034232869264361929635586080958595240975369164370297964991121977549012672867197521807355650865978131338213627191723956390771932402137042552859779377997890891318586021523366506503592377536975562417017538103349156121752746815613629446677723413826244375357398219057182675921625109968910678046163702576922776752288581849986589481678909132437960980256155466171351115985687078820666371464245571931966679680601548668405356154518781220668519701340771471306831163577966123813819036572598913877980423835559796955065155869507759291758012327769240485138942265391041729467088163476866380448192119649983493548066158219011356620063205297214284747876276687183937379650027592503935947633919351723757718168812233863277029297136662838195871768541574544369840246798525362895113827251490911945226440935482742494082158879027498990545717647923702396095554998485071404444787183494658093145743930308961752574395702600917034458122232419703380533368516504556824752970995634406435523728205374266803566621332144886031072499860641165689427752896579026623516152241835597919204701655802169918754846712318614996719769725576695535192548463423321593856987155544127289609583602897782743398206509790534419965621592657756842116302721126034810045394583636665425096036885162655387226484979219451371567254720846156338319320873411315721817109021422819021588547873071195547320408712016483283488735342325990043788231278412725143611915857853342462030256060