5979596943717804356230796978371971838981541297248914775753727891029918252648861965020761593414157017710575305114619295087832495785826776673821958861530671570774050328737071784931098645648211549505036631978432439928734717176242107173345072737640021374014714270823642861764591644519134590664724836867813417264877922054290860945294144680821037129710937172320925728705180688692916852507530260504295437838738534332793316604191415208444125112653422952820309137338664545740647261758198926823591435989883454825296874584388112799444320528441872188114496107638509655481437452138364137911294526179175722239957948223469083037570745316354854231362797924277825014102633484331277339808060381883832488629511980350232432997935553405874723366554870658798643543428467994266770885694655437446618820446386889388506119513285408847648202442166433396397759244438246067729762871871434331898721568488640268664797991466866634354509916775317712222260463601345403341339434049823624391286434742727574423287896409727401795412231131410299585621630874302065682939926980419737135584367196376032882639172968125737739121307378186540575058622119721387855204602663467034509850990932935175692792590784519578321294053616948390490894922805035476656710743682823807267232382220502037752224536225757211352404929915469749288362123621852628969091453779690688723085711797863169748417666512543953876516583128608639203227362918118183101579536838223368580012451204399288451326449118654960362092296833747447125805873280257924731263190473132623577957823808200328736422285161638196200628796115599086847558115767898591104832772382636554425104602390956026433413141977571847834152225949532711403177479717376148729643388337842802080259193798569054789939232841229548378851793674140932234298440761809531629791012444968413382594185580359967596721749220851831927542796922794115557433908554715063246784662229086556231146635138766152911681276950934101889732284622689392639182807327535684948323938668989840491125809549674096991973077595963781868262653697915270199858329469206509795136080083659119982442212153784284489598739205212555463763882544077453531444116149517937383786245622139398887790468873977135881139531801129057379121758125873728042601368248294503729689361524725035424191195494610249957457326392646688158461742734886681979252645859622490864725026066023357261344039321777336905088109349641394977395032258277147774200111447597517879660017189135327757138493496065546717811187042662088854075311835725119390603192162507628732558839568705837693246314535825002648196087630320876673096391723338749895745892138556570740269349108821520546864421011615094878315040825526189340765592725489157667309797293778440295755112787524543947038758583631776632876793985411424724443731110828732497625258569534561983945067372470205762133898539231042434135592743821865015887628165492504587845897032037639069420375903231902437239198651056099484326132152027010377336371247675597647827341576872437216202959147997532861491982289401730627524485588664733949787118276454787411440420630376497978052372278237217044762145743255915805082275853251580463313670129889982505660985772463731336099424912207036766489256083346253708939177160692917394355226773562327562342272379854778922772427988595555634635797076064880321743593512951312145869333312868889844356449966797137536921358148949451837021998641768938861476809193691612027572043396844375849309428896658139201562898237110938431987880991964286833134243638236252614679213322023068450436639512138083935734111041469524944717527831433479215661340742199879491577815076537554355598824319535137200264186583292967115298203629251186523356443747183349387040587322195244570199436785637339276859160336525396850982781476022745963124266584960787611397073929686479956837828974929084626698541963060496062088389999261882686231090229588866575804691370399996983645831309866537273064683804329386701404648236376196675985346076327081041982686556661095829484122363169627087973959929208349144713197864856228848397575115398317319741125521136227982016245329548320234811858511258019302173904894032691120415683758833252123322970474498016076322549071027088882138677108599260649344328569456899556863122517334017062708166710713099764334119742155412434820512916416805808932036077911729655101814237671678527216677594634066626262162583607197611994206763785571001133168147299414852916834498157437985289606230143752136228246398907609908011747828760760423260322711580537582831660542575818997801734247986198758156631054052605557146813484282626549441315671450809303890011276387563256251623299962542898426487795052491925867511840049621531425592712793398137236378692831112578627652967901048758336890170067197438365412470462813160021249777913007434583696488026420215150525889407345229234235220573421893745874126322470373799115285422884724812018540732577692373576680539858239871238155428466461327866342217908109354442392019795857211126224857048973539811885903798686086243438663984775615315691943742621120656142546167698035472856731095524157663380880088809509447822456306466464841864274338651777882967591245837869986029309308592026916498430745695985177543136496828104704870414219447667248611411475968252237407072553127160134324880284321522081247145495206971725541704225956361585289417149548364364420800768241586309982706207231041062541358291338040366099509026713652858109670698875130192389382505128191392972448111273689253221415076118219782529154925822412331396520006201644870186906353898062939813235584852219391756811479233872344933721420117727734882943963684885126153564787851006242409887924579652290423242469405618278695332251332586864526596560644606331187150921692568162201320698461934579870851477819598938622433892419685878665182262952372134673071613274027543925680072634739731875072685627033549229862912115268634554031982662696855792437142370397174708291211635162776560496149252385279327528817139322746819305974846867577074