294214881681504084818272359891069161456474025705174297584594953236539896858576075495697621732501128324486299741386177610212104310771876114222879439133577979216547668939621224493166588343198854713373926452829137306586343394424957128968772610657156735597212848373399809554938613123023969052953316803574112412823621714248809533197737628031794181296926868508551856965264819864812331136902549611627217515784353857672182807382521668017188500565915618766919845659363834979133211229749980513549664745816564099514873749925566926591167857906728752306275477242128389933564659859880570512057271272874155095181364299397196242294783371216442122475236339717256687868346390877915146515146461176935990191975897548980031990676262062526855130272903963351394869546894452103356533626566666687937354547694179970129178669535632242520444220517574844981055384500863440459797870829217668120492609944566373352625121852443628668633502582344187153537896157039760858723622131627964470643790050734656627574718259402085465950975034040182013052527771818166131689246918102787285544692760434493674873645051456228120447829911237836587952662488025474971859209457483783643622688491811740394923528557144442925205121049929042163217121680763645167140266537695816405251057614129105293414792520398094038998490136714342473166907447367835478349969570521376919412150123185650074395767601863499725637694566295792779823665751735745279123616613393932573579932762664343439398834814829712444616275217867415844913293168982201831513555317505648525496011213885218442613989242988239454623961066005674839655678921358425020729549104960498168558284732341502422410788257947871581309450213092216773943522797923077463379787323116392222662729118392878519996298999848322942262087357444065984633387878024114913955023933752207055847490191157634630792532954374497405807278284328521473815989801159529343135573208974970883543833577098785079852840965690618781568308940156965753449921793426548350113806146322179542551438652844221749693534203669561284484168067982314975264704867070929985962178415476985919803199809039305178943223336468593770142753236740357026138978376624803298231751609452347459971559761349718030322842105732623851802087365780641212339992864184190556958290637630468338534869483494797149718823416250043636612842887699699663760674362411771153107634426165960887028829212471465551927558403683515183511364976004202542701475925288751405881386338704317595726049447207256041275664252359253569275463287435408136041892126739854582402476164729565527835658368584885649433552306547917924583349585088545513399697759513406218192909406522025017850823484476796672325779385559447703652356204203123113965237631216244253430541885856727229860277435415940019258331654783881152848491981144217516496743872397668642608159417459143156188565883464887867637413553898453127491596803148186641536543631394535373382601160166561335687846894551642320458488050564664643034893975821604935464531532911175833097707315343306487403120682531322518876812968451812068813145326700253538194067273527631780984139166049949984889720895014233953572305377091148110442550897112486335162705817923439361532782210916503707068202369558742854353443626221709793151488535967156310174803333460194041860748021320582755383687924785954405658622491638354185888161420979657462456911362307162696487743083612496450459722604726880145496800364950187093151202334339506566851760799227785171270479730252785457393928295006602246255523275495637899458798158878722021526572541398513429616285596481217948847515216498919412135012435141496371963257243844499589623913706184234180249931812096372165743474101751495934628783901298338952990267326823898213656888798749171989323317324495273968201665494859335605416234446571263944190995009070301291835687037427060742719908686459983431925886991999280978574546960857861693419239169668256696635176057723882681002241324759815844868645234218795520164559270669670567107987850867816866017457429359534424814467182953035834365501402793114477399559496076107096980212155953531565848654435091131144026921130910755461550519645844771306736686387513322545925579232505384812466021620355794926153483475827211941573969172233183406687195433723767558667127189353486716577709678535052946942363177866313670399738057992779253573152030261169402666617261283587489675605177566093659420559101691011725493329723260572772835841395058634830742233854014469923116521358072612984128068405190900821683545724017778302890872894213533054231396773092858429986102984577606128789731018232863039897523839606892350658046959255916291478841615675509624734110602751207882503964874467471940649230773345818507149547630740364742117322525681136841475042371886183388760648262111466885787292234885904420347956723394579101906899084865150422598982634745693414202345342707679595687868241295865381262444699150248462148204647195787408049415735904521662129247452525692319959268495007285962210338243421153475324503314161978275207597929507840223842559126374791268229218088599486080400065327050857121283254580124912066186865188979640541192532352254176168804486744992342698776618843873762780331317614165880651403584425244841798086677089537222387528960530853354297946027414129640555968686585229576932789448245909125431168104809366048922738212996633408620283697240849337610371862694232734079919175382739533929217604754543913387529965590945576821181893401422441562940024505453137618257791548148676316882784449526566783371176816572635965246644525249680898358879876412771833024672334113465979975876239411356415175459516388245927206709538876191269152657239531985240895735743186482675326082458317263392596285665588458933435369728777381485812890472424326943365414404972597940321112453685941312391893467621877593437196052203561352252021066959259742176491786768577737566351881974908126078238326824059215121388413391497326158778014341537912498067873340093227916320976224384625