534265489002814935256282718894868582823167274546782615236533719668750517018202445685837617869628752276259062049242421913197105799971308152971452208760725349289500148899780637339163742177350518243831229292987032969586059680413710545687809523988754968571511932433684412721984324633975185851554475355487413922956096704918747485421633038275462730512445471905604318247649768929699526215282974652156526923605276184858588627611067296383488772072259717870559094302732805866837720463621487897851752073202480391961595338293617438448517951762143574238974928582352298009244814022407992521195861608783115322533262720542405881135216498986485105979036183539621745125134119285982140719960863090418781176383221530903434313287908233145564348663136252237935584111683249733191258447843377992965123059187100147758807241147624548253922396238994742789027272220368910853637759402778996655098324979840928729137443196588790897726111934648878147668387338391115492244022423119903664216926952299666028169069449988816941512147107853850577158475398253987325196205931982746693421447631568792078056237143486859108754774811219728055036421162953950616964887844536939218938937870224554067886863289029605532006073811935309479824954698906780592659235963102386442953027917249758411522046187503784416919622699002194288719343831625861466806130479856961727624304998676605851189935065766414878295773056052521949618718408374412745449324778313604544108599316072324438004571546193566156678524528499013882640997303102371425469800362818699332169937435416258480149536175773150549126265943512697401435639267962893265842000806985775423280833068112326797631458017738041898635992702931825243933768678994761125990347838190799515954670557545455997741762246917792143775411745397638458981815935421556586682721782617216547157771753798953121835909364489813669913475252754309846754278861274888060689248253566886183842533826057191666191193207523354952735527863801765933997681029374211394798768408155332053837125475815505215626498984115370165437492768872519415052351278572791302567553813728346972480642083931416920139916320633134330449294559545156543419183754980811661037709493917016730743761403529938561072227642939200665333932494605088989385818426679231687569464504555860677834826581632662075555206555746551128981688763998188138842690662121421921839738918919806351337893716639923446936195233763258160872968597130971904744754237144843876299662514977027435304695107021283575230743574339077134421896741415162833816034419646686864803636366322110278761742911645023274790789960057693530953117088771273776753266893275331953074576591852450607553384724145929778485961133293743511543888456487528612984608887456916972801418775023455963794803582681242824646562896849136579463640608930787668183958846825229878093213983655470786269926420495933856298258684469712205886267875663398357810683896187894136546108109690089143007602935065330518356005278425111757632450115328409172343887378550145296546828732123506469548458516955190608179658212995388979708474027094198768015798996132884278191129350450822612421266405434246158322228370613452346182327954515297244848561284470105516081597772028908949765802921653091308681398027945599437596791745535130507662293681733557312645769247499525440447455472569796246566490426962538255044453771323524265341345142902225616957365618750846864406442693411011749353298658968696551660481497722325073689247361608444576213092515371435321572699201003641291941827905211678382801637270222627432230995814674120924550548095456053778183681877975719752612257070718804641986439845945762868126955552511286336715660266502649262147325028468247588967235529169866482542097398094713695706194410386632598669018541833747852541767813466165038866435779983309643555837502015485886669917275453166928329718830532749669236746836474182018289614942232783146318918580680863246734174861027784957641635903897546632903947774847135869615380062116537964827440922378710700794869896777877446496652346403752671490166801148580928829620717310129912193329996056847982201038799982777164919632948391725009732214493705392357389938304447522516172947243987265249111311003887098877989800385483733886223539005346226592067413163924189791557192641998255349614433027943971778432337830443781467645667380497394422699688312660957099219421324813221084163571603462950738509485072261456601370360892288821937342710110576472909074507669877930590017784542933910614315021297697818691894974490246843179030014009622879205292187762682558238233788233441805888278239197764855277633664073487933121390853141101286937827566546811843865689139272518791161781134877315178300545080211222441091547872468816397122155683540984399285986618117380722660829137485697158815202760076306246260640442957743372427936770108983264056816213128808375826834552445216011918658109542629162939513558024306891853975511038878764217124615884190343821463061614590956589181793630097842873147188869936856183866725214710151769066427878622209716744042339183671122133218943294816103337275313430210535736718611487203780978358609857238032585741465348616629370279225915269196599679959187433380853321469218112553637303189856743699775498118856881783799983143926180264252362439420289053145192997610544049420864250631082521540033439693248544448375503598995115615242380207377423445829298341490596518602661467400123732631099209762849647236662025867657229326008586326344351351681877106181394756124309305152671391893774997764019265318113391242253999341389505826589978980349063623610570718887582951666792066719331909559371851328473812415768891197003848625486322965855312117486896569612433444256539452219273093477558430828594344685861981218140961121764810418042962266629412537420548353304701574822589466942458833154937327267325120735087334942634933968971989282783068026614121773847052973139373247760697243881683322053601469841738490645689661408770955078549958110093266680950128433293959956701