405382287190941061706145550397691671651124850956082973675001651484944708257347413142812010437762556777254475911331151764538259437756131638555922342394528573704513577181735616476729550596228797220218148784241273520545662407103580980682472793444064384705387838719309856318274274359552606809672211051328802340875917834297164773357259568566091698793383851615917469934352362849180510595433766885705361402358676248176103156279857175019744727934518269285471902752574737967419074780605365948443853500528354870700258361259555794441603486348383311234319838746141056252682860887632769492533724107264470138224950724711314692716861194482121487879421585229849929523033131461421205015181140448682105336310949575207296040679394167541569492839634846608063229548575435684285187421126528788404931264566638009593520856826238349760253515384131487203888141587217707796785403104157164383647166424209337428329667606761088740861531984427209976202452926297857605602390872956424778189952511396966712670451074018252259889792893387069626374493627767110871176264288922481443854518733889443910782155509388258054655504306068683643804713422796922768904185419893993537887928664175406228273056340484923314869329354417874866655283528907821256159118361492434063710327150544892347259232558968238561566476031545494916918650143977914131768773345125593422123968772846293761856441682618758041504827666931146289411347813398432337188855179731352511484384416350224919721175883774554098876207194693960261994893632525446099375191757960056639778732446081179219226428611710543678504632866176652781737548193834882254854384926496095984580580313837989631725542457276885862224776107716319109994086998292390031112666192832104886360686829158622259714669442872947713955249162625684813321274876421639039285738155990376895606394911711190119157480966450804625991605853682025077508941590294033194229867014414927863624335241590082439305866270781052717598095761590230963866081674611161886259677936580687263905931202747606035797466768239484994217621887386696579417396874043558559559925942079357534212852685991484377403382712373661208294376959757402836107786240279326796128280128201473388909145302180602775519045115165474191486961562037182401147641807871773034132347546993126439316503442389402632279558387047148785629204093732959876686213331292989268612456784444914579464637263841111456227863644481023245353229989250437528541233167449862291219928027763805917262433889387896341675756012988509670808795109880467629694702451329719621697729246163431165479145687931668868480386424143246953137547448517938322750546981552770831596791300876576869951610195277720253311340325383796742800556663425199720476565426250098611351899357778354280440713372337746095511005302984997713465026045603985109286267618773010281034281238956318199816330142377962818123336162391483866664544477767641611194962524236915146925027696519746990880764441691932862386792364550115152416613486581748061549029546163544765883207036525571612653574965963152158658514263280644997060989171376345915858129542782670497517294407965521007361468149745783857741903639018769581134952878448352844554590548657472471444631403434608244270647014541976945177713363584222323397456787052776742676968192562622323441052178668801267956778757783098538287179135683210966164971624842109699490542861816653211937068444947298348183907541131338337851033232051723798721182407854162255435120777886878826666418481982577996046808035396335641087761250685430859282950078781794731185865998985928940220166723071127185240363255186962946110886029118509630375982708536638786154666862495378660938569547639809559227033849452544227895810492937942373301582241272838925597042934868445387243990957352814716669156270181262133936595235641621816958050479866875302550879898737435892536814658393485828858457576124748260616659533296590256002433069221138408425715703645619049461563997899815290874541582254220376752274929929400525775755443699879937126525937880727716366413664471344407531915892475797968755789166293685022238149957876475926610643383523010557632404923532834578278512594231223371353428931049214493790671523254527092502036493384708910817739495148375246761985186301750835798374628896288665386699546071207402443488859966285603971243865077345969827894176264954994825281115782230313585462723318451704032134833118323785923448543762423723726179272794135627584657764861356101645909925365179016417138455044206925165324945907991151722276161647004938228192014761645327801647245940287654264372829761682473468663232595896919023518624773165738861692854876230357945716919171467581141047544460146221742856744508477613814994994438888661157587555607605992132836929938584664112359763222346499585999456422647638116592814745857202228398267667249896610309455115188044224326449494908847252988003674880075772642456413038352051884439399422112046558918295190359752051252551901730284146779928006616547722698512956267953111195757488452404828659164176596375540685159733944250418875536140466859594211324334531079467837544185918297641752739987103255249230146844288381452838378203651954652839470766925821303927196558795178625021166599643804853531490939331221849739040862997694742914857634415332693141596941198803672979605073126822393049667490579299070915273066950474717139627709217507701231384756025960585909475948293398999111387820993802696841454583942334984642210627224345760536169351979867253920754805273159509012420797835268610359234851084783946388991522826993637858668577355305317795988224524027504573535632727942273131602722172790518935904724987443027688433995154073827287007937936529006285160475444070491041103592898097735024346771785831871142196147896143089524150137287838033548378797502975194797241199284562239391666848116550776439303698783778771971732489929472623636638929671496379120081496757044135568833931204271051175598570817741811895153182996217730399842809933614447924323722597991728716746657529613818333839